一:首先你必须了解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嵌入式开发初学者的几个注意点的更多相关文章

  1. 热烈庆祝华清远见2014嵌入式系统(Linux&Android)开发就业培训课程全面升级

    近日,华清远见公开宣布:2014嵌入式系统 (Linux&Android)开发就业培训课程再次升级!据悉,华清远见如今已经持续10年,一直保持课程每年2次的更新的频率.华清远见的每 次课程更新 ...

  2. 零基Android手机嵌入式开发培训课程

    亲爱的朋友,我这里有一组当然想和大家分享,假设有兴趣在这个过程中,可以加我QQ2059055336和我联系. 课程章节分布: 第一部分 嵌入式C与数据结构篇 (20讲) 第二部分ARM裸机开发篇 (4 ...

  3. 第二章 Android系统与嵌入式开发

    第二章 Android系统与嵌入式开发 第二章首先要先了解Android和嵌入式Lnux系统有什么区别和联系,嵌入式Linux系统是在嵌入式设备中运行Linux系统:Android系统是在嵌入式设备中 ...

  4. 学习嵌入式开发板的Android平台体系结构和源码结构

    本文转自迅为论坛资料:http://www.topeetboard.com 推荐学习嵌入式开发板平台:iTOP-4412开发板 下面这张图出自Google官方,展示了Android系统的主要组成部分. ...

  5. 关于 Android 平台开发相关的有哪些推荐书籍?

    转自:http://www.zhihu.com/question/19579609 作者:Shan Huang 链接:http://www.zhihu.com/question/19579609/an ...

  6. 【转】Android 底层开发的几点

    我干了3年Android sdk开发,觉得到了瓶劲没法更进一步,于是花了一年多点时间,大概摸到点门径.根据前辈的经验,Android底层完全入门需要两年. 先说下我的入门过程:第零步,下载源码,我下的 ...

  7. Android NDK开发初识

    神秘的Android NDK开发往往众多程序员感到兴奋,但又不知它为何物,由于近期开发应用时,为了是开发的.apk文件不被他人解读(反编译),查阅了很多资料,其中有提到使用NDK开发,怀着好奇的心理, ...

  8. ARM嵌入式开发板

    iTOP-4412 ARM嵌入式开发板----主要特点 iTOP-4412开发平台是北京迅为电子研发设计的嵌入式开发板平台,核心板配备64位双通道2GB DDR3,16GBEMMC存储,三星原厂S5M ...

  9. Android驱动开发5-8章读书笔记

    Android驱动开发读书笔记                                                              第五章 S5PV210是一款32位处理器,具有 ...

随机推荐

  1. pyinstaller打包django项目成exe以及遇到的一些问题

    1. 环境 环境为:win7 + Python3.6 + Django (2.1.10) + PyInstaller (3.5) 注意: 这里的PyInstaller,笔者是直接使用pip安装,中间会 ...

  2. Spring与后端模板引擎的故事

    更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 现在很多开发,都采用了前后端完全分离的模式,随着近几年前端工程化工具和MVC框架的完善,使得这种模式的维护成本逐渐降 ...

  3. Vue实现静态数据分页

    <div style="padding:20px;" id="app"> <div class="panel panel-prima ...

  4. Liunx学习总结(五)--包管理

    包管理简介 Linux 上的应用程序一般是以源码形式或者编译后的二进制格式提供给用户使用.对于以源码形式提供的应用程序,用户需要借助于编译器,自行编译成二进制格式才能使用.而即便是编译后的二进制包,用 ...

  5. JavaScript 数据结构与算法之美 - 线性表(数组、栈、队列、链表)

    前言 基础知识就像是一座大楼的地基,它决定了我们的技术高度. 我们应该多掌握一些可移值的技术或者再过十几年应该都不会过时的技术,数据结构与算法就是其中之一. 栈.队列.链表.堆 是数据结构与算法中的基 ...

  6. Python源码学习Schedule

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  7. egret之粒子系统

    1.添加粒子库,放在项目同级目录下(必须!!必须!!) 2.添加路径: 3.添加代码: private creatParticle(_pname: string, _target, _x: numbe ...

  8. Egret白鹭开发小游戏之自定义load加载界面

    刚接触不久就遇到困难------自定义loading.想和其他获取图片方式一样获取加载界面的图片,结果发现资源还没加载就需要图片,在网上百度了许多,都没有找到正确的方式,通过自己的摸索,终于,,,我成 ...

  9. 2019nc#7

    题号 标题 已通过代码 题解/讨论 通过率 团队的状态 A String 点击查看 进入讨论 566/3539  通过 B Irreducible Polynomial 点击查看 规律 730/229 ...

  10. POJ 1077 Eight (BFS+康托展开)详解

    本题知识点和基本代码来自<算法竞赛 入门到进阶>(作者:罗勇军 郭卫斌) 如有问题欢迎巨巨们提出 题意:八数码问题是在一个3*3的棋盘上放置编号为1~8的方块,其中有一块为控制,与空格相邻 ...