Android嵌入式开发的几个注意点 - Go语言中文社区

Android嵌入式开发的几个注意点


在这里插入图片描述
一:
首先你必须了解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嵌入式开发的开发人员十分的有必要!

最后

漫漫开发之路,我们只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Andriodqin/article/details/100935436
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢