android嵌入式底层开发

阶段课程名称课程描述
第一阶段:Linux基础和语言基础Linux基础及操作系统框架概述Linux系统层次结构介绍
Linux常用命令及viLinux常用操作命令使用学习及Vi文本编辑工具使用
Linux系统设置Linux各类系统服务配置学习
C语言重点难点讲解在学员C语言基础知识之上,讲解讲解C语言的重点知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识,另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。
LinuxShell编程以BashShell讲解LinuxShell编程,训练学员熟练掌握Shell编程
第二阶段:Linux应用开发及系统调用GNU开发环境基础GNU开发环境介绍
GCC编译器
GDB调试
GNUMakefileMaikefile文件编写
Linux嵌入式系统开发环境搭建嵌入式开发环境基础,嵌入式开发方法使用12合并,jlink烧写过程,usb和tftp烧写过程,nfs启动,交叉编译
Linux应用系统开发基础强化对Linux应用开发的理解和编码调试的能力,讲解Linux系统调用学习理念及思路
Linux文件I/O编程详细讲解Linux文件操作类库,调用及案例
Linux进程控制详细讲解Linux进程结构,Linux进程控制原理,守护进程,系统类库,调用及案例
Linux进程间通讯详细讲解进程间通讯机制,讲解管道,信号,信号量,共享内存,消息队列等机制及系统类库的学习,调用和案例
Linux多线程编程详细讲解Linux线程机制,多线程实现原理,线程基本编程,线程的同步与互斥,权重,熟悉系统类库,调用及案例
Linux网络编程Linux下的Socket编程,TCP/IP编程(包含TCP,UDP),实现自己的网络协议
第三阶段:ARM体系结构及裸板开发嵌入式系统及微处理器概述嵌入式系统介绍,微处理器介绍,嵌入式系统开发流程
嵌入式电路图基础熟悉嵌入式电路基础,是看图的基本功,这样无论是接触到什么样的板子和硬件都能够轻松上手
ARM处理器系统结构ARM处理器系统结构
ARM总线方式及存储器结构层次ARM总线方式及存储器结构层次
ARM指令集及寻址方式,Thumb指令ARM指令集及寻址方式,Thumb指令
ARM开发环境ADS应用ADS开发环境的基本配置及使用介绍
ARM汇编及混合编程ARM汇编指令及混合编程介绍
Bootloader介绍及Uboot结构讲解讲解Bootloader原理,特性,设计概要,并且以优秀的Uboot为例来阐述
Uboot全方位(移植,修改,编译,生成,烧写)Bootloader是系统启动的重要环节,Uboot作为目前最常用最主流的Bootloader系统,我们通过对它的修改,编译,烧写深入研究系统启动机制
ARM硬件接口开发ARM的常用接口开发及硬件电路设计基础(包括IO、串口、看门狗、实时时钟、SPI、IIC、扫描键盘、FLASH操作等),也是驱动开发基本功
裸板驱动开发常见的驱动开发:LED,Flash,SDCard
第四阶段:Linux内核及驱动开发嵌入式Linux系统开发及移植搭建嵌入式Linux运行环境,内容包括内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程。
Linux内核原理概要Linux内核架构,内核模块分类,内核启动过程
Linux内核配置与裁减学习Linux内核修改,增加配置及裁减,编译
Linux内核编程深入内核细节,研究Linux相关运行机理,分析内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、时钟和定时器管理、信号、调度、进程间通信、文件系统和I/O设备管理等方面的内容。
Linux驱动开发基础熟悉Linux驱动开发相关概念及开发流程,了解驱动涉及到的关键技术点,并重点学习字符设备驱动开发,包括串口、I/O、看门狗、实时时钟、SPI、IIC、扫描键盘、A/D转换、定时器等接口的驱动开发,为后续深入学习驱动高级开发打好基础。
Linux驱动开发深入讲解嵌入式Linux下常用接口驱动的编写方法,内容包括:
1、flash驱动:掌握在linux环境下驱动常见flash存储器(norflash、nandflash);
2、块设备驱动:掌握块设备驱动的原理、学会ramdisk的编写;
3、网卡驱动:掌握网卡设备的编写原理、能够熟练移植各种网卡驱动。在对网卡硬件寄存器熟悉的基础上,有能力为其编写出完善的网卡驱动;
4、液晶驱动:掌握frambuffer驱动的原理。有能力在有控制器的嵌入式平台上参考液晶手册实现各种常见液晶驱动;
5、sd卡驱动:掌握sdio接口操作,熟悉sd卡驱动驱动的原理;
6、usb设备驱动:了解usb主机设备驱动的结构及编程方式。
第五阶段:Android驱动开发及系统移植Android系统驱动开发差异化我们知道Android是基于Linux内核的,驱动开发大同小异,但Android有自己的特有驱动,讲解Android驱动开发和Linux开发的相同点和不同点以及Android设计的差异化,并探讨如果是我们如何来设计
Android特定驱动开发研究Android特定驱动开发,包含:
Ashmem:匿名共享内存驱动
Logger:轻量级的Log驱动
Binder:基于OpenBinder改的驱动提供Android平台进程间共享机制
Alarm:定时器驱动
AndroidPowerManagement:电源管理
LowMemoryKiller:内存释放
AndroidPMEM:物理内存驱动
Android系统移植概述结合官网和硬件讲解Android系统移植思路及经验总结
AndroidRIL开发基础Android手机的核心,RIL的开发基础从上到下的剖析及修改,调试
Webkit在Android上的移植结合Webkit类库进行修改,裁减,扩展,编译及移植,并且扩展加入WAC2.0和HTML5的支持。学习了这个类库,其它类库原理是一样的。
课程总结:未来是移动的未来总结移动终端,嵌入式设备的未来发展和技术走向

android嵌入式底层开发 详询:874511079 2224343088