zoukankan      html  css  js  c++  java
  • 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嵌入式开发的开发人员十分的有必要!

    最后

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

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

     

    这些资料免费领取方式点击下方链接领取

    https://www.jianshu.com/u/ee81236d2d37

  • 相关阅读:
    学习 Web 开发技术的16个最佳教程网站和博客
    将会改变未来IT世界的十种编程语言
    用来理解 Java 编程语言的 8 个图表
    花样Android ProgressBar
    Android控件TextProgressBar进度条上显文字
    ViewFlipper 在同一背景下 页面左右滑动
    Android自定义进度条-带文本(文字进度)的水平进度条(ProgressBar)
    android用户界面之GridView教程实例汇总
    禁止ScrollView在子控件的布局改变时自动滚动的的方法
    ListView中使用自定义Adapter及时更xin
  • 原文地址:https://www.cnblogs.com/Androidqin/p/11574386.html
Copyright © 2011-2022 走看看