嵌入式软件工程师标准班
培养目标:嵌入式软件工程师,相当于一到两年嵌入式软件开发经验。
学制:全日制脱产班,共四个半月。
授课:全程实践项目教学,资深工程师手把手指导教学
实训内容安排(简表):
| 实训主题 | 实训内容 | 实训项目 | 实训目标 |
| 导论课程 | 嵌入式导论 | ||
| 职业规划 | |||
| 程序设计强化训练(一个半月高密度工程训练) | C /C++语言专项训练 1、编码强化训练 2、程序可读性训练 3、程序可测性训练 4、代码质量训练 5、程序效率训练 |
1、选自各大公司实际应用的案例 2、CPU 性能分析程序( X86 ) 3、文件压缩 / 解压缩( D&A ) 4、海量文件存储( IBM ) 5、输入法智能词组预测( Google ) 6、百万级的地名搜索( GPS 应用) 7、IPOD 歌曲数据库管理(仿 APPLE 的 PMP ) 8、…… ( 共 10 个,学员根据兴趣选 5 个 ) |
1、培养对程序设计的兴趣。 2、熟练使用 C 语言进行程序设计 3、大幅度提高代码质量。 4、形成正确的编码风格和习惯。 5、掌握企业应用中的工程习惯,形成初步的工程思想。 6、完成代码 4000 行左右。 |
| 标准化和工程思想 1、编程规范 2、代码风格,排版 3、注释,命名 4、代码审查,测试, 5、团队合作,进行无歧义的沟通 6、代码维护 7、软件工程 |
|||
| 嵌入式基础 | 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 系统上重新实现以上项目) 8、24 位显示系统的解析和重新实现。 9、flash 驱动的实现;坏块控制算法。 10、简单文件系统的实现(大型项目) |
1、在 32 位 ARM 上重新实现单片机的 7 个项目,通过对比加深对各种嵌入式技术的理解。 2、熟练使用 32 位 ARM 进行产品设计 3、逐步增大项目的难度,在实践过程中理解更复杂的嵌入式框架和工程思想。 4、完成代码 2000 行左右,进一步熟练 C 语言。 |
|
| 操作系统 | 1、uCOS 部分 2、实时系统概念 3、μC/OSII 应用举例 。 4、内核结构 5、任务管理 6、时间管理 7、事件控制块 8、信号量管理 9、事件标志组管理 10、消息邮箱管理 11、消息队列管理 12、内存管理 |
1、uCos 代码分析 2、移植 μC/OSII (在 uCos 上重新实现以下项目) 3、IO 、定时器、中断、 DA 、 AD 等基础实验。 4、电机 PID 控制算法 5、小型电子琴(功能增加) 6、大型 MIDI 音乐播放(功能增加) 7、电力系统纹波采集和分析系统 8、载波远程通信系统。(功能增加) 9、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、文件系统 |
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 专题 | 1、MINI GUI 2、基本程序框架 3、应用举例 4、基本的画图函数 5、各种控件的使用 6、位图; YUV 和 RGB 7、图形界面双缓冲处理 8、多线程和界面响应速度 9、从驱动到顶层的结构 10、大型图形界面的框架 11、用户使用习惯初论 |
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 语言。 |
|
|
LINUX 移植 1、模块和裁剪2、X86 平台 3、ARM9 平台 4、Linux 和 ucLinux 5、跨平台代码移植 6、常见兼容性问题 7、硬件相关的优化 |
1、X86 平台移植 2、ARM9 平台移植 3、MP3 解码库的跨平台移植 4、MP3 解码库在 2410 上的优化 |
1、熟练进行 LINUX 裁剪和移植 2、熟练进行代码的跨平台编译 3、能解决常见的兼容性问题 4、理解 MMU 等硬件相关部件的原理 |
|
| Linux 工程应用(大型) | 全功能音乐播放器 | 完成代码 2000 行左右,进一步熟练 C 语言。巩固本学期的学习内容。 | |
| 大型项目设计 (毕业设计,半个月时间) |
大公司的实际开发案例,学员组成团队,封闭式开发,合作完成。 | ||
| 企业实习 | 根据学员情况,推荐到企业,进行为期一到两个月的实习 | ||
编程始终贯穿实训的每一个环节,强化基础,强化实战经验和动手能力,淡化理论概念。
最后的毕业设计为所有学员合作完成;除此以外,所有的项目每个学员独立完成。
免费赠送课程:
5天热身班:
对于基础较差的学生,免费提供80课时的课前辅导
5天赶超班:
在教学中期,经过考核,对于排名后20%的学生进行针对性的强化补课,确保学员一个都不会拉下。
2天个性化求职特训课
在学员进入求职阶段,根据每个学员的具体情况进行个性化特训和包装。
5场名人讲座
包括来自浙江大学、IBM、微软、Google等专家教授提供的专题讲座。讲座内容以技术发展前沿为主,但也包含人生道路、职业规划、面试应聘技巧等主题。
3天职业规划课程
包含简历制作技巧、企业笔试面试技巧、职业着装基础、人生规划、职业道路规划等主题。







