嵌入式android嵌入式底层开发大纲.docx
《嵌入式android嵌入式底层开发大纲.docx》由会员分享,可在线阅读,更多相关《嵌入式android嵌入式底层开发大纲.docx(9页珍藏版)》请在冰豆网上搜索。
嵌入式android嵌入式底层开发大纲
课程针对人群
类别
描述
A
熟悉.NET,J2EE应用开发,希望往嵌入式底层学习的工程师
B
熟悉Android应用和框架开发,希望从上到下走通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
Linux常用操作命令使用学习及Vi文本编辑工具使用
Linux系统设置
Linux各类系统服务配置学习
C语言重点难点讲解
在学员C语言基础知识之上,讲解讲解C语言的重点知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识,另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。
LinuxShell编程
以BashShell讲解LinuxShell编程,训练学员熟练掌握Shell编程
第二阶段:
Linux应用开发及系统调用
GNU开发环境基础
GNU开发环境介绍
GCC编译器
GDB调试
GNUMakefile
Maikefile文件编写
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类库进行修改,裁减,扩展,编译及移植,并且扩展加入和HTML5的支持。
学习了这个类库,其它类库原理是一样的。
课程总结:
未来是移动的未来
总结移动终端,嵌入式设备的未来发展和技术走向
问:
需要什么基础才能学习这个课程呢?
答:
C语言基础以及听过并且会安装Linux操作系统即可参与这个课程。
备注:
C语言达到能够使用以及看得懂的程度即可,基础不牢靠的可以在课程中持续加强
问:
课程需要学习多久呢?
答:
整个课程要讲解接近半年。
但不需要等到整个课程全部结束才能做底层开发和找工作,事实上,2个月后你就可以逐步进入嵌入式大门了,并且可以去找工作了。
这个课程掌握所有知识点后相当于1-2年的底层经验了。
问:
课程的讲课频率呢?
答:
因为Sundy不是超人,而且目前暂定是他一个人来完成课程(找了几个合作讲师,虽然知名,但都被SundyPass掉了),为了保证质量,因此频率定位一周2-3次。
问:
课程是基于什么开发板讲解?
答:
课程基于广州友善之臂的CortexA8开发板(Tiny210)讲解,其实品牌无所谓的,原理明白了,什么品牌都可以快速上手
问:
一定要购买开发板么?
价格如何呢?
答:
前两个阶段不需要开发板,由于课程会涉及到烧机,驱动,Bootloader,讲解电路,所以建议从第三阶段开始准备好开发板。
我们不销售开发板,选择开发板和型号可以参考我们上方的表格
问:
课程学会之后,薪水会如何呢?
答:
相当于1-2年的嵌入式工程师薪水如何,你可以自己去调研。
但同样会因为你之前工作年限,自己能力而因人而异,具体薪水范围会在课程中讲解到,我们贯穿始终的都是高端职业规划的思路。
当然,成为学员之后也可以直接问Sundy
问:
请问课程费用?
答:
费用比市面上培训机构便宜很多,具体费用可以上官网咨询Sundy助手
问:
这个课程含金量如何,和培训机构课程比较呢?
答:
讲一个花絮,Sundy为了这个课程,专门咨询和旁听了尚观国际和华清远见的课程,了解了他们的课程内容,讲课方式;这也是Sundy打造高端精品课程一贯的原则,不做则已,做就力求最好。
嵌入式相关资料,欢迎下载!