【嵌入式】android嵌入式底层开发大纲_第1页
【嵌入式】android嵌入式底层开发大纲_第2页
【嵌入式】android嵌入式底层开发大纲_第3页
【嵌入式】android嵌入式底层开发大纲_第4页
【嵌入式】android嵌入式底层开发大纲_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程针对人群

类别描述

熟悉.NETJ2EE应用开发,希望往嵌入式底层

A

学习的工程师

熟悉Android应用和框架开发,希望从上到下

B

走通Android系统的工程师

不希望局限在上层,希望做驱动,做系统移植

C

的工程师

基础良好的在读研究生或者即将毕业的应届

D

毕业生

有手机硬件维修基础,希望走向软件开发的特

E

殊爱好者

学习课程的能力要求

操作系统Linux基本操作-安装和简单的常规操作

开发语言C语言达到能够使用水平,懂汇编更好

框架N/A

数据库N/A

其它简单的电路图基础(可选)

课程掌握后的能力值概述(技能目

标)

再次复习操作系统原理,编译原理,数据结构,电路基础,数控模电知识

熟练掌握Linux操作系统使用,包括命令,Shell,系统配置

熟练进行Linux下应用编程及系统调用

掌握ARM体系结构以及基础裸板开发,Bootloader开发

掌握Linux内核原理,熟悉Linux系统开发,内核裁减,调试。

掌握Linux常用接口驱动开发及系统移植

掌握Android常用驱动开发及系统移植

课程掌握后的职业定位(职业目

标)

学完后具备相当于1-2年Linux及Android底层开发的经验

Linux及Android驱动开发工程师

Linux及Android系统工程师

课程大纲

阶段课程名称课程描述

Linux基础及操作系统框架概

Linux系统层次结构介绍

Linux常用操作命令使用学习及

Linux常用命令及vi

Vi文本编辑工具使用

Linux系统设置Linux各类系统服务配置学习

在学员C语言基础知识之上,讲

第一阶段:Linux基

解讲解语言的重点知识,包括

础和语言基础C

C语言重点难点讲解函数与程序结构、指针、数组、

常用算法、库函数的使用等知识,

另外,本节还重点讲解数据结构

的基础内容,包括链表、队列、

栈、树、哈希表、图等内容。

以BashShell讲解LinuxShell

LinuxShell编程

编程,训练学员熟练掌握Shell

编程

GNU开发环境介绍

GNU开发环境基础GCC编译器

GDB调试

第二阶段:Linux应

GNUMakefileMaikefile文件编写

用开发及系统调用

嵌入式开发环境基础,嵌入式开

Linux嵌入式系统开发环境搭发方法使用12合并,jlink烧写过

程,usb和tftp烧写过程,nfs

启动,交叉编译

强化对Linux应用开发的理解和

Linux应用系统开发基础

编码调试的能力,讲解Linux系

统调用学习理念及思路

详细讲解Linux文件操作类库,

Linux文件I/O编程

调用及案例

详细讲解Linux进程结构,Linux

Linux进程控制

进程控制原理,守护进程,系统

类库,调用及案例

详细讲解进程间通讯机制,讲解

管道,信号,信号量,共享内存,

进程间通讯

Linux消息队列等机制及系统类库的学

习,调用和案例

详细讲解Linux线程机制,多线

Linux多线程编程程实现原理,线程基本编程,线

程的同步与互斥,权重,熟悉系

统类库,调用及案例

Linux下的Socket编程,

Linux网络编程

TCP/IP编程(包含TCP,UDP),

实现自己的网络协议

嵌入式系统介绍,微处理器介绍,

嵌入式系统及微处理器概述

嵌入式系统开发流程

熟悉嵌入式电路基础,是看图

的基本功,这样无论是接触到什

嵌入式电路图基础

么样的板子和硬件都能够轻松上

第三阶段:ARM体系ARM处理器系统结构ARM处理器系统结构

结构及裸板开发

ARM总线方式及存储器结构ARM总线方式及存储器结构层

层次次

ARM指令集及寻址方式,ARM指令集及寻址方式,

Thumb指令Thumb指令

ADS开发环境的基本配置及使用

ARM开发环境ADS应用

介绍

ARM汇编及混合编程ARM汇编指令及混合编程介绍

讲解Bootloader原理,特性,

Bootloader介绍及Uboot

设计概要,并且以优秀的Uboot

结构讲解

为例来阐述

Bootloader是系统启动的重要

环节,Uboot作为目前最常用最

Uboot全方位(移植,修改,

编译,生成,烧写)主流的Bootloader系统,我们

通过对它的修改,编译,烧写深

入研究系统启动机制

ARM的常用接口开发及硬件电

路设计基础(包括10、串口、看

ARM硬件接口开发

门狗、实时时钟、SPI、nc、扫描

键盘、FLASH操作等),也是驱

动开发基本功

常见的驱动开发:LED,Flash,

裸板驱动开发

SDCard

搭建嵌入式Linux运行环境,内

容包括内核裁减、内核移植、交

叉编译、内核调试、启动程序

嵌入式Linux系统开发及移

Bootloader编写、根文件系统制

第四阶段:Linux内植

核及驱动开发作和集成部署Linux系统等整个

流程。

Linux内核架构,内核模块分类,

Linux内核原理概要

内核启动过程

学习Linux内核修改,增加配置

Linux内核配置与裁减

及裁减,编译

深入内核细节,研究Linux相关

运行机理,分析内核源码结构、

内存管理、进程管理、中断管理、

Linux内核编程系统调用、内核同步、时钟和定

时器管理、信号、调度、进程间

通信、文件系统和I/O设备管理

等方面的内容。

熟悉Linux驱动开发相关概念及

开发流程,了解驱动涉及到的关

键技术点,并重点学习字符设备

驱动开发,包括串口、I/O、看门

Linux驱动开发基础

狗、实时时钟、SPI、nc、扫描键

盘、A/D转换、定时器等接口的

驱动开发,为后续深入学习驱动

高级开发打好基础。

讲解嵌入式Linux下常用接口驱

动的编写方法,内容包括:

1、flash驱动:掌握在linux环

境下驱动常见flash存储器(nor

flash,nandflash);

Linux驱动开发深入

2、块设备驱动:掌握块设备驱动

的原理、学会ramdisk的编写;

3、网卡驱动:掌握网卡设备的编

写原理、能够熟练移植各种网卡

驱动。在对网卡硬件寄存器熟悉

的基础上,有能力为其编写出完

善的网卡驱动;

4、液晶驱动:掌握frambuffer

驱动的原理。有能力在有控制器

的嵌入式平台上参考液晶手册实

现各种常见液晶驱动;

5、sd卡驱动:掌握sdio接口操

作,熟悉sd卡驱动驱动的原理;

6、usb设备驱动:了解usb主

机设备驱动的结构及编程方式。

我们知道Android是基于Linux

内核的,驱动开发大同小异,但

Android有自己的特有驱动,讲

Android系统驱动开发差异

解Android驱动开发和Linux开

发的相同点和不同点以及

Android设计的差异化,并探讨

如果是我们如何来设计

研究Android特定驱动开发,包

含:

第五阶段:Android

Ashmem:匿名共享内存驱动

驱动开发及系统移植

Logger:轻量级的Log驱动

Binder:基于OpenBinder改的

Android特定驱动开发

驱动提供Android平台进程间共

享机制

Alarm:定时器驱动

AndroidPowerManagement:

电源管理

LowMemoryKiller:内存释放

AndroidPMEM:物理内存驱

结合官网和硬件讲解Android系

Android系统移植概述

统移植思路及经验总结

Android手机的核心,RIL的开

AndroidRIL开发基础

发基础从上到下的剖析及修改,

调试

结合Webkit类库进行修改,裁

减,扩展,编译及移植,并且扩

W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论