| 实训主题 | 实训内容 | 实训项目 | 实训目标 |
导论课程 (3天时间) |
嵌入式导论 |
1、了解嵌入式行业、产品以及应用领域。 2、熟悉目前嵌入式行业公司、发展以及未来走向。 |
|
| 职业规划 |
1、如何发掘并建立核心优势。 2、如何成为符合要求的嵌入式软件工程师。 |
||
| 程序设计强化训练 (5个星期 高密度工程训练) | C语言专项训练 1、编码强化训练 2、程序可读性训练 3、程序可测性训练 4、代码质量训练 5、程序效率训练 6、Linux系统概念 7、Linux环境下C强化训练 |
选自各大公司实际应用的案例 1、CPU性能分析程序(X86) 2、文件压缩/解压缩(D&A) 3、海量文件存储(IBM) 4、输入法智能词组预测(Google) 5、百万级的地名搜索(GPS应用) 6、IPOD歌曲数据库管理(仿APPLE的PMP) 7、实现较为复杂的malloc函数 8、…… (共10个,学员根据兴趣选5个) |
2、熟练使用C语言进行程序设计 3、大幅度提高代码质量。 4、形成正确的编码风格和习惯。 5、掌握企业应用中的工程习惯,形成初步的工程思想。 6、完成代码10000行左右。 |
| 标准化和工程思想 1、编程规范 2、代码风格,排版 3、注释,命名。 4、代码审查,测试, 5、团队合作,进行无歧义的沟通 6、代码维护。 7、软件工程 |
|||
|
嵌入式系统 (3个星期高密度强化训练) |
8位单片机 1、基础知识,概念 2、应用举例 3、内核结构,寄存器操作原理 4、I/O端口基本操作 5、定时器,中断操作 6、人机交互接口技术 7、单片机前向通道 8、单片机后向通道 9、单片机串行接口 10、电机控制 |
1、IO、定时器、中断、DA、AD等基础实验。 2、电机PID控制算法 3、小型电子琴 4、大型MIDI音乐播放 5、电力系统纹波采集和分析系统 6、载波远程通信系统。 7、CPU性能分析程序(单片机版) |
1、培养对嵌入式技术的兴趣。 2、熟练使用单片机进行项目设计。 3、循序渐进,从简单入手,在项目过程中反复理解嵌入式的基本概念、框架和工程思想。 4、完成代码1500行左右,进一步熟练C语言。 |
|
32位系统 1、基础知识,概念,应用举例 2、ARM体系结构 3、ARM的IO操作 4、ARM的定时器,中断,时钟,外部接口 5、ARM体系的异常、中断及其向量表 6、ARM体系的存储系统 7、ARM处理器寻址方式 8、ARM指令集,Thumb指令集 9、ARM硬件电路与接口技术 10、LPC2000系列ARM7详解 11、三星系列ARM9详 12、ARM9和ARM7的在工程实践中的区别 13、8位系统和32位系统在工程实践中的区别 |
1、IO、定时器、中断、DA、AD等基础实验。 2、电机PID控制算法 3、小型电子琴 4、大型MIDI音乐播放 5、电力系统纹波采集和分析系统 6、载波远程通信系统。 7、CPU性能分析程序(ARM版) (在ARM系统上重新实现以上项目) 1、24位显示系统的解析和重新实现。 2、flash驱动的实现;坏块控制算法。 3、简单文件系统的实现(大型项目) |
1、在32位ARM上重新实现单片机的7个项目,通过对比加深对各种嵌入式技术的理解。 2、熟练使用32位ARM进行产品设计 3、逐步增大项目的难度,在实践过程中理解更复杂的嵌入式框架和工程思想。 4、完成代码2000行左右,进一步熟练C语言。 |
|
大型项目设计 (毕业设计) |
大公司的实际开发案例,学员组成团队,合作完成。 | ||
| 实训主题 | 实训内容 | 实训项目 | 实训目标 |
| 导论课程 (3天时间) | 嵌入式导论 |
1、了解嵌入式行业、产品以及应用领域。 2、熟悉目前嵌入式行业公司、发展以及未来走向。 |
|
| 职业规划 |
1、如何发掘并建立核心优势。 2、 如何成为符合要求的嵌入式软件工程师 |
||
|
嵌入式系统 (2个星期高密度强化训练) |
32位系统 1、基础知识,概念,应用举例 2、ARM体系结构 3、ARM的IO操作 4、ARM的定时器,中断,时钟,外部接口 5、ARM体系的异常、中断及其向量表 6、ARM体系的存储系统 7、ARM处理器寻址方式 8、ARM指令集,Thumb指令集 9、ARM硬件电路与接口技术 10、LPC2000系列ARM7详解 11、三星系列ARM9详 12、ARM9和ARM7的在工程实践中的区别 13、8位系统和32位系统在工程实践中的区别 |
1、IO、定时器、中断、DA、AD等基础实验。 2、电机PID控制算法 3、小型电子琴 4、大型MIDI音乐播放 5、电力系统纹波采集和分析系统 6、载波远程通信系统。 7、CPU性能分析程序(ARM版)(在ARM系统上重新实现以上项目) 8、24位显示系统的解析和重新实现。 9、flash驱动的实现;坏块控制算法。 10、简单文件系统的实现(大型项目) |
1、在32位ARM上重新实现单片机的7个项目,通过对比加深对各种嵌入式技术的理解。 2、熟练使用32位ARM进行产品设计 3、逐步增大项目的难度,在实践过程中理解更复杂的嵌入式框架和工程思想。 4、完成代码2000行左右,进一步熟练C语言。 |
| 操作系统(1个月强化训练) | uCOS部分 1、实时系统概念 2、μC/OSII应用举例。 3、内核结构 4、任务管理 5、时间管理 6、事件控制块 7、信号量管理 8、事件标志组管理 9、消息邮箱管理 10、消息队列管理 11、内存管理 |
1、uCos代码分析 2、移植μC/OSII 3、(在uCos上重新实现以下项目) 4、IO、定时器、中断、DA、AD等基础实验。 5、电机PID控制算法 6、小型电子琴(功能增加) 7、大型MIDI音乐播放(功能增加) 8、电力系统纹波采集和分析系统 9、载波远程通信系统。(功能增加) 10、CPU性能分析程序(功能增加) |
1、通过对简单操作系统的分析,逐步融入操作系统的环境。 2、熟练使用uCos进行产品设计 3、理解实时操作系统的内核原理 4、通过7个基础实验的重新实现,理解操作系统如何给设计带来方便,理解操作系统带来的负面影响。 5、在实践过程中理解当今最流行的嵌入式框架和工程思想。 6、完成代码1500行左右,进一步熟练C语言。 |
| Linux部分 1、linux系统概念 2、应用举例 3、shell 4、内核时钟 5、内核模块 6、系统调用 7、共享内存 8、虚拟存储 9、进程的同步 10、进程调度 11、设备驱动初步 12、文件系统 |
1、shell、内核时钟、系统调用、进程同步、共享内存、文件系统、设备驱动、虚拟存储等基础实验。 (在linux上重新实现以下项目) 1、IO、定时器、中断、DA、AD等基础实验 2、电机PID控制算法 3、小型电子琴(功能增加) 4、大型MIDI音乐播放(功能增加) 5、电力系统纹波采集和分析系统 6、载波远程通信系统。(功能增加) 7、CPU性能分析程序(功能增加) |
1、熟悉linux的安装、配置和使用。 2、熟练进行Linux产品设计 3、理解linux内核原理 4、能够独立分析linux内核源码的 5、通过7个基础实验的重新实现,理解更复杂的操作系统是否给设计带来方便,理解操作系统带来的负面影响和程序规模的关系。 6、理解如何根据产品的复杂度,选择合适的芯片(CPU)和操作系统。 7、完成代码2000行左右,进一步熟练C语言。 |
|
| Linux专题(2个星期强化训练) | MINI GUI 1、基本程序框架 2、应用举例 3、基本的画图函数 4、各种控件的使用 5、位图;YUV和RGB。 6、图形界面双缓冲处理 7、多线程和界面响应速度 8、从驱动到顶层的结构 9、大型图形界面的框架 10、用户使用习惯初论 |
1、画图函数、控件等基础实验。 2、PDA桌面封装 3、扫雷程序 4、电影播放器(RAW格式) |
1、熟练使用GUI进行产品的界面编程。 2、理解GUI的分层结构。 3、理解性能瓶颈,能够设计快速响应的图形系统。 4、养成关注用户感受的习惯和意识 5、完成代码1500行左右,进一步熟练C语言。 |
| LINUX 驱动 1、关键数据结构和基本函数 2、文件系统 3、模块化编程 4、LCD驱动 5、PCI设备驱动 6、网络设备驱动 7、USB设备驱动 |
1、虚拟文件系统 2、LCD驱动项目实践 3、网络芯片驱动项目实践 4、USB驱动项目实践 |
1、熟练在LINUX上进行驱动开发 2、深入理解驱动的层次和结构化原理 3、完成代码1500行左右,进一步熟练C语言。 |
|
|
1、LINUX 移植 2、模块和裁剪 3、X86平台 4、ARM9平台 5、Linux和ucLinux 6、跨平台代码移植 7、常见兼容性问题 8、硬件相关的优化 |
1、X86平台移植 2、ARM9平台移植 3、MP3解码库的跨平台移植 4、MP3解码库在2410上的优化 |
1、熟练进行LINUX裁剪和移植 2、熟练进行代码的跨平台编译 3、能解决常见的兼容性问题 4、理解MMU等硬件相关部件的原理 |
|
| Linux工程应用(大型) | 全功能音乐播放器 | 完成代码2000行左右,进一步熟练C语言。巩固本学期的学习内容。 | |
| 大型项目设计(毕业设计) | 大公司的实际开发案例,学员组成团队,合作完成。 | ||






