社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
一:
首先你必须了解ARM平台 Android 移植与驱动核心开发,当然也可以是X86和其他的平台,不过其他平台的Android智能终端开发并不是很多。
Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到 特定硬件平台下,同时将必要的驱动进行编写及开发。成为Android的核心层开发者,在这种嵌入式设备厂商中谋得核心开发人员。
1. Android系统的开发框架和开发模型
做Android嵌入式开发,这个是必须的基础,你必须清楚Android开发的整个框架,知道一些必要的开发模型和程序模块,这个有助于你快速的理解Android嵌入式开发
2. Android系统体系及移植相关工具
Android操作系统体系结构介绍,Android Linux内核移植介绍,文件系统,toolbox等移植,存储驱动移植。Bootloader相应方案与移植以及Android虚拟器Dalvik移植介绍。
ARM处理器介绍。
ARMv5TJS。
ARM中断处理。
ARM体系结构与ARM处理器的体系结构。
IP核、芯片与开发板。
ARM处理器结构处理器模式。
. 寄放器。
. 流水线结构。
C语言内嵌汇编款式与编程实例。
ARM指令系统。
.算术逻辑指令 .指令对状态寄放器的影响 .对比指令 .分支指令 .移位 .指令位图 .辨认机器指令。
内存造访与内存把持。
.数据总线与地址总线的应用与实例。
.STR/LDR 。
ARM历程调用标准。
.LDM/STM。
.反汇编。
.APCS。
.C语言函数与汇编的互相调用。
【案例】应用Android Linux patch进行Linux内核的构建
. AndroidLinux内核移植与核心开发
ARM处理器的Android系统构建。
输入输出设备驱动移植 。
存储设备nand flash,MMC/SD卡驱动移植。
Framebuffer移植 。
Touchscreen移植 。
Open Binder IPC移植。
【案例】
在ARM处理器上移植Android实验 。
编写Nand flash驱动。
移植Framebuffer驱动。
硬件相关部分(键盘、触摸屏、LCD等)。
. Android相关环境库、以及Bionic系统移植
3.1libc移植 。
libm移植 。
libdl移植。
libm移植。
busybox, toolbox移植。
【案例】
移植glibc。
移植busybox和toolbox。
.Android Dalvik移植一
JNI Call Bridge相关原理 。
dx, dalvitvm原理和应用。
Dalvik指令款式。
Dalvik履行款式dex 。
Java字节码款式。
Android Dalvik移植二
Dalvik Library原理 。
dalvit libcore核心库移植。
dalvit/vm/native移植。
Dalvik Interpreter原理 。
Dalvik Mterp。
AT&T汇编语法详解 。
gas工具的应用 。
label标签的作用。
数据与代码的散播。
链接脚本ld-script
段地址的断定。
编写ld-script。
ELF款式与libc函数库的关系。
时序电路根基
电平信号 。
电路图分析。
时序图分析。
datasheet查看 。
s3c2440的外围器件结构。
GPIO操作。
AMBA总线标准
AMBA总线标准 。
FCLK/HCLK/PCKL频率分配与设置。
Watchdog计时操作。
UART操作 。
ARM中断体系。
异常向量表。
ARM模式切换。
ARM中断把持器 。
软中断。
Linux系统调用的实现。
Nand Flash把持器
Flash原理。
Nand把持器原理及时序分板。
k9f1208时序分析。
内存把持器
s3c2440物理地址散播 。
SDRAM原理与时序。
内存把持器的物理连接。
地址对齐 。
SRAM造访。
内存管理单元
MMU的原理 。
ARM协处理器指令。
section模式。
small page模式 。
I & D TLBs 。
I & DCache。
哈佛结构的原理与实现。
DMA 直接内存造访的机制与应用
DMA的状态机 。
DMA的把持。
触摸屏接口与ADC接口 与实例
ADC原理 。
触摸屏接口与把持。
LCD把持器
图形显示原理。
LCD把持器。
LCD时序。
LCD驱动相关的框架与体系 。
. I2S音频总线
音频硬件原理。
I2S时序。
s3c2440上I2S的操作。
音频设备的裸驱动讨论。
CS8900网卡把持
逻辑链路层与MAC层。
CS8900原理与时序分析。
后续网卡裸驱动讨论与体系结构。
TCP/IP协议栈移植,与网络体系结构
LwIP TCP/IP协议栈简介 。
LwIP配置与编译。
tftp配置与编译。
Bootloader原理与移植
u-boot的配置、编译 。
u-boot启动历程分析。
ARM-Linux的启动请求。
ARM-Linux kernel的ld-sript分析 。
u-boot到ARM-Linux的跳转代码分析 。
应用mkimage制作启动镜像文件。
ARM-Linux原理与移植
ARM-Linux的配置、编译 。
ARM-Linux启动代码分析。
ARM-Linux 地址映射的关系。
Busybox的配置、编译 。
ARM等平台的调试测试技巧
会熟悉的使用一些测试脚本对自己的驱动进行测试,或者对嵌入式硬件作简单的测试,这个对于做Android嵌入式开发的开发人员十分的有必要!
漫漫开发之路,我们只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!