【学习笔记】1~认识Anroid嵌入式开发
整体认识(要做什么):
套用anroid的架构图,但是图中没有画出内核下面的硬件层,对于做驱动开发的同学还是很重要的。我们的主要工作内容也是集中于驱动开发这部分。
这么说还是有点虚,其实外设也会把自己的驱动程序提供出来,同样android也有自己的驱动框架(基于linux内核的),那么我们的工作内容到底在哪儿?
说白了:就是将驱动基于android的驱动框架进行一次适配,框架的好处也就在于此处,因为有了统一的框架,适配也就是按照别人给出的流程和步骤,研究在什么地方插入几行代码。当然这个过程需要对硬件+内核+android框架+驱动开发基础知识有一定认识,要不然写出来的代码也是垃圾。

几个猜测点:
1.CPU访问外设肯定是需要知道外设地址的,因为CPU也是通过总线方式(地址总线)或者特殊的输入、输出指令(IN\OUT,个人感觉IN\OUT指令可能也是通过设置某些魔数字达到访问外设目的),这个是由硬件决定的,电路板焊好之后地址也就确定了。
项目流程:
主要工作内容也是上文介绍的补齐CPU、外设与操作系统的差异,或者说当前工作主要内容就是通过驱动开发打通硬件和操作系统的桥梁。
代码编译:
当前代码采用repo(android项目搞出来的一个仓库管理,“仓库”就是代码库),其实背后还是git,只不过是google封装了一层。代码检视采用gerrit,gerrit说白了就是一个github或者isource,gerrit相当于一个服务器,每个人提交的修改可以通过浏览器的方式被其他人看到。这样方便检视。
代码编译需要申请计算云(每个产品都一样,总不能在windows进行编译吧)。
术语:
高通平台:因为CPU用的是高通的,所以所有的东西可以说都需要围绕高通来搞,高通自己也发布了一些支持性的代码,要不然总不能从头开始适配CPU。
SOC:系统芯片(英语:System on a Chip,缩写:SoC)是一个将计算机或其他电子系统集成到单一芯片的集成电路。
BSP:板级支持开发包

浙公网安备 33010602011771号