[培训内容]
*阶段:嵌入式C语言编程
主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍函数与程序结构,指针、数组和链表,库函数的使用等知识。
第二阶段:嵌入式Linux开发环境
主要介绍Linux操作系统的使用和编程知识,包括Linux操作命令,文件和服务,VI编辑器,GCC编译器,GDB调试器,Make项目管理工具和Automake/Autoconfig等知识。
第三阶段:嵌入式数据结构与算法
主要包括数据结构和算法编程训练,排序查找编程训练,递归和栈编程训练,字符串操作训练和常用C库函数编程接口实践,强化学员对数据结构与算法的理解和嵌入式Linux下编程开发和编码调试的能力。
第四阶段:Linux环境高级编程及项目迭代开发实践
主要包括系统编程,文件I/O编程,串口编程,网络编程;掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,使学员具备在Linux上进行系统编程开发的能力。同时综合之前所学内容和编程技术,学员以个体为单位进行嵌入式Linux应用项目开发,项目内容包括嵌入式软件迭代开发流程,项目开发文档,多进程/多线程并发控制,文件I/O编程,串口编程,网络编程。
第五阶段:嵌入式C++编程
主要介绍在嵌入式开发编程中C++在C基础上的增强特性,C++面向对象的主题:抽象、封装、继承、多态,泛型编程和STL库,MFC界面程序设计。
第六阶段:嵌入式Linux高级应用
主要介绍嵌入式嵌入式软件移植,Linux系统构建(包括Bootloader工作原理、内核裁减配置和交叉编译、BusyBox,根文件系统制作),图形界面和数据库开发等知识。同时学员要为嵌入式Linux应用项目增加GUI界面和数据库应用。
第七阶段:Arm嵌入式开发
主要介绍ARM体系结构及其基本编程知识,包括指令分类,寻址方式、指令集、存储系统、异常中断处理、汇编语言以及C\C++和汇编语言的混合编程等知识。同时结合ARM嵌入式开发板硬件设计原理和基本硬件设计流程,分析各种外设的工作原理和驱动机制,并自己动手完成一个ARM开发板上的编程实践。
第八阶段:嵌入式Linux设备驱动开发
主要介绍嵌入式Linux上驱动程序开发规范,包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。同时独立实现两种嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。
第九阶段:嵌入式软件架构设计
人们对嵌入式设备的需求花样越来越多,使得嵌入式软件越来越复杂。在目前变化的竞争环境中,嵌入式项目开发周期压得越来越短。本阶段主要介绍嵌入式软件架构设计方法与过程,通过UML组件化设计将僵化的程序分割成小块,使用时可以随意调换小块,增加嵌入式软件的可维护性与弹性,以满足嵌入式设备越来越多的变化需求。
第十阶段:嵌入式Linux项目团队开发实践锻炼
主要包括设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。要求学员使用SVN进行版本控制,使用Bugzilla进行BUG跟踪,在开发过程中建立团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。