Android嵌入式开发初学者的几个注意点
一:首先你必须了解ARM平台 Android 移植与驱动核心开发,当然也可以是X86和其他的平台,不过其他平台的Android智能终端开发并不是很多。
Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到 特定硬件平台下,同时将必要的驱动进行编写及开发。成为Android的核心层开发者,在这种嵌入式设备厂商中谋得核心开发人员。
1. Android系统的开发框架和开发模型
做Android嵌入式开发,这个是必须的基础,你必须清楚Android开发的整个框架,知道一些必要的开发模型和程序模块,这个有助于你快速的理解Android嵌入式开发
2. Android系统体系及移植相关工具
1.1Android操作系统体系结构介绍,Android Linux内核移植介绍,文件系统,toolbox等移植,存储驱动移植。Bootloader相应方案与移植以及Android虚拟器Dalvik移植介绍。
1.2ARM处理器介绍。
ARMv5TJS。
ARM中断处理。
ARM体系结构与ARM处理器的体系结构。
IP核、芯片与开发板。
ARM处理器结构处理器模式。
. 寄放器。
. 流水线结构。
C语言内嵌汇编款式与编程实例。
1.3ARM指令系统。
.算术逻辑指令 .指令对状态寄放器的影响 .对比指令 .分支指令 .移位 .指令位图 .辨认机器指令。
1.4内存造访与内存把持。
.数据总线与地址总线的应用与实例。
.STR/LDR 。
1.5ARM历程调用标准。
.LDM/STM。
.反汇编。
.APCS。
.C语言函数与汇编的互相调用。
【案例】应用Android Linux patch进行Linux内核的构建
3. AndroidLinux内核移植与核心开发
2.1ARM处理器的Android系统构建。
2.2输入输出设备驱动移植 。
2.3存储设备nand flash,MMC/SD卡驱动移植。
2.4Framebuffer移植 。
2.5 Touchscreen移植 。
2.6 Open Binder IPC移植。
【案例】
2.7在ARM处理器上移植Android实验 。
2.8编写Nand flash驱动。
2.9移植Framebuffer驱动。
2.10硬件相关部分(键盘、触摸屏、LCD等)。
4. Android相关环境库、以及Bionic系统移植
3.1libc移植 。
3.2libm移植 。
3.3libdl移植。
3.4libm移植。
3.5 busybox, toolbox移植。
【案例】
1.移植glibc。
2.移植busybox和toolbox。
5. Android Dalvik移植一
4.1 JNI Call Bridge相关原理 。
4.2 dx, dalvitvm原理和应用。
4.3 Dalvik指令款式。
4.4 Dalvik履行款式dex 。
4.5 Java字节码款式。
6. Android Dalvik移植二
5.1 Dalvik Library原理 。
5.2 dalvit libcore核心库移植。
5.3 dalvit/vm/native移植。
5.4 Dalvik Interpreter原理 。
5.5 Dalvik Mterp。
7. ARMAT&T汇编
6.1AT&T汇编语法详解 。
6.2gas工具的应用 。
6.3label标签的作用。
6.4数据与代码的散播。
8. 链接脚本ld-script
7.1 段地址的断定。
7.2 编写ld-script。
7.3 ELF款式与libc函数库的关系。
9. 时序电路根基
8.1电平信号 。
8.2 电路图分析。
8.3时序图分析。
8.4datasheet查看 。
8.5s3c2440的外围器件结构。
8.6GPIO操作。
10. AMBA总线标准
9.1 AMBA总线标准 。
9.2 FCLK/HCLK/PCKL频率分配与设置。
9.3 Watchdog计时操作。
9.4 UART操作 。
9.5 ARM中断体系。
9.6 异常向量表。
9.7 ARM模式切换。
9.8 ARM中断把持器 。
9.9 软中断。
9.10 Linux系统调用的实现。
11. Nand Flash把持器
10.1 Flash原理。
10.2 Nand把持器原理及时序分板。
10.3k9f1208时序分析。
12. 内存把持器
11.1 s3c2440物理地址散播 。
11.2 SDRAM原理与时序。
11.3 内存把持器的物理连接。
11.4 地址对齐 。
11.5 SRAM造访。
13. 内存管理单元
12.1 MMU的原理 。
12.2ARM协处理器指令。
12.3 section模式。
12.4 small page模式 。
12.5 I & D TLBs 。
12.6 I & DCache。
12.7 哈佛结构的原理与实现。
14. DMA 直接内存造访的机制与应用
13.1 DMA的状态机 。
13.2 DMA的把持。
15. 触摸屏接口与ADC接口 与实例
14.1 ADC原理 。
14.1 触摸屏接口与把持。
16. LCD把持器
15.1 图形显示原理。
15.2 LCD把持器。
15.3 LCD时序。
15.4 LCD驱动相关的框架与体系 。
17. I2S音频总线
16.1音频硬件原理。
16.2 I2S时序。
16.3 s3c2440上I2S的操作。
16.4音频设备的裸驱动讨论。
18. CS8900网卡把持
17.1 逻辑链路层与MAC层。
17.2 CS8900原理与时序分析。
17.3后续网卡裸驱动讨论与体系结构。
19. TCP/IP协议栈移植,与网络体系结构
18.1 LwIP TCP/IP协议栈简介 。
18.2 LwIP配置与编译。
18.3 tftp配置与编译。
20. Bootloader原理与移植
19.1u-boot的配置、编译 。
19.2u-boot启动历程分析。
19.3ARM-Linux的启动请求。
19.4 ARM-Linux kernel的ld-sript分析 。
19.5 u-boot到ARM-Linux的跳转代码分析 。
19.6应用mkimage制作启动镜像文件。
21. ARM-Linux原理与移植
20.1ARM-Linux的配置、编译 。
20.2ARM-Linux启动代码分析。
20.3ARM-Linux 地址映射的关系。
20.4 Busybox的配置、编译 。
22.ARM等平台的调试测试技巧
会熟悉的使用一些测试脚本对自己的驱动进行测试,或者对嵌入式硬件作简单的测试,这个对于做Android嵌入式开发的开发人员十分的有必要!
最后
漫漫开发之路,我们只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!
这些资料免费领取方式点击下方链接领取
https://www.jianshu.com/u/ee81236d2d37
Android嵌入式开发初学者的几个注意点的更多相关文章
- 热烈庆祝华清远见2014嵌入式系统(Linux&Android)开发就业培训课程全面升级
近日,华清远见公开宣布:2014嵌入式系统 (Linux&Android)开发就业培训课程再次升级!据悉,华清远见如今已经持续10年,一直保持课程每年2次的更新的频率.华清远见的每 次课程更新 ...
- 零基Android手机嵌入式开发培训课程
亲爱的朋友,我这里有一组当然想和大家分享,假设有兴趣在这个过程中,可以加我QQ2059055336和我联系. 课程章节分布: 第一部分 嵌入式C与数据结构篇 (20讲) 第二部分ARM裸机开发篇 (4 ...
- 第二章 Android系统与嵌入式开发
第二章 Android系统与嵌入式开发 第二章首先要先了解Android和嵌入式Lnux系统有什么区别和联系,嵌入式Linux系统是在嵌入式设备中运行Linux系统:Android系统是在嵌入式设备中 ...
- 学习嵌入式开发板的Android平台体系结构和源码结构
本文转自迅为论坛资料:http://www.topeetboard.com 推荐学习嵌入式开发板平台:iTOP-4412开发板 下面这张图出自Google官方,展示了Android系统的主要组成部分. ...
- 关于 Android 平台开发相关的有哪些推荐书籍?
转自:http://www.zhihu.com/question/19579609 作者:Shan Huang 链接:http://www.zhihu.com/question/19579609/an ...
- 【转】Android 底层开发的几点
我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径.根据前辈的经验,Android底层完全入门需要两年. 先说下我的入门过程:第零步,下载源码,我下的 ...
- Android NDK开发初识
神秘的Android NDK开发往往众多程序员感到兴奋,但又不知它为何物,由于近期开发应用时,为了是开发的.apk文件不被他人解读(反编译),查阅了很多资料,其中有提到使用NDK开发,怀着好奇的心理, ...
- ARM嵌入式开发板
iTOP-4412 ARM嵌入式开发板----主要特点 iTOP-4412开发平台是北京迅为电子研发设计的嵌入式开发板平台,核心板配备64位双通道2GB DDR3,16GBEMMC存储,三星原厂S5M ...
- Android驱动开发5-8章读书笔记
Android驱动开发读书笔记 第五章 S5PV210是一款32位处理器,具有 ...
随机推荐
- Java String引起的常量池、String类型传参、“==”、“equals”、“hashCode”问题 细节分析
在学习javase的过程中,总是会遇到关于String的各种细节问题,而这些问题往往会出现在Java攻城狮面试中,今天想写一篇随笔,简单记录下我的一些想法.话不多说,直接进入正题. 1.String常 ...
- Java连载19-用户输入和大括号省略
一.联系一个if语句 public class d19_{ public static void main(String[] args) { double a = 20.2; if(a>100 ...
- MongoDB实现评论榜
Mongodb很适合做这件事,api的调用仅仅是使用到了入门级别的CRUD,理清楚了思路,编码也会顺风顺水,所以你会发现我在这篇博客中说的比编码还多 评论榜预期的功能 就像是StackOverFlow ...
- Spring源码剖析开篇:什么是Spring?
在讲源码之前,先让我们回顾一下一下Spring的基本概念,当然,在看源码之前你需要使用过spring或者spirngmvc. Spring是什么 Spring是一个开源的轻量级Java SE(Java ...
- Qt无边框窗体-最大化时支持拖拽还原
目录 一.概述 二.效果展示 三.demo制作 1.设计窗体 2.双击放大 四.拖拽 五.相关文章 原文链接:Markdown模板 一.概述 用Qt进行开发界面时,既想要实现友好的用户交互又想界面漂亮 ...
- 《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(1)
1 引言(入门介绍) NVMe版本1.2.1和之前的版本为主机软件与非易失存储系统通过PCIe通信定义了寄存器级接口.本规格说明书定义了对NVMe的扩展,启用通过其他网络互联上的操作(NVMe ove ...
- 给 asp.net core 写个中间件来记录接口耗时
给 asp.net core 写个中间件来记录接口耗时 Intro 写接口的难免会遇到别人说接口比较慢,到底慢多少,一个接口服务器处理究竟花了多长时间,如果能有具体的数字来记录每个接口耗时多少,别人再 ...
- 《Java 8 in Action》Chapter 9:默认方法
传统上,Java程序的接口是将相关方法按照约定组合到一起的方式.实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现. 但是,一旦类库的设计者需要更新接口,向其中加入新的方法, ...
- java设计模式5.组合模式、门面模式、享元模式、桥接模式
组合模式 在面向对象的语言中,树结构有着巨大的威力,一个基于继承的类型的等级结构便是一个数结构,一个基于合成的对象结构也是一个数结构.组合模式将部分与整体的关系用树结构表示出来,使得客户端把一个个单独 ...
- Numpy的进阶学习
前言: 在学习cs231n编写课后作业代码过程中 .发现自己对计算的向量化vectorized不是很懂,编写不出代码.对numpy的库也只是停留在表面 Numpy Numpy学习库链接 1.numpy ...