阶段一:嵌入式Linuxr软件开发基础● Unix/Linux基础(Unix/Linux操作系统Kernel和Shell; Unix/Linux文件系统简介;常用的Shell命令;vi的使用;环境变量;简单Shell脚本程序)标准C基础(gcc编译器,数据类型,变量和常量;运算符和表达式,分支,循环;数组,函数,指针和字符串,结构,联合和枚举;指针高级应用,双指针,void指针,函数指针;C标准库,堆内存分配,IO等)● C++编程(C++命名空间和数据类型;面向对象编程(OOP),类和对象;构造器,拷贝构造,析构,new/delete;运算符重载; 面向对象编程(OOP),封装、继承和多态;输入输出流;异常处理(Exception))● 数据结构和算法(数据结构的基本概念;线性结构;双向链表; 栈和队列;树和二叉树;顺序查找法和二分查找法;排序算法(冒泡、选择、插入、快速))● 模板和STL(模板基本概念(template);类模板和模板类; 函数模板和模板函数;类型推断;类模板和函数模板的特化; 智能指针的实现;标准模板库(Standard Template Library);STL容器、迭代器和算法)阶段二:嵌入式Linux高级软件开发● Unix/Linux核心编程(Unix/Linux静态库和共享库的使用;Unix/Linux内存管理(malloc/brk/mmap);Unix/Linux文件和输入输出设备的系统调用(System Call); Unix/Linux进程管理;Unix/Linux信号处理(signal); Unix/Linux进程间通信(IPC);Unix/Linux网络编程(socket);Unix/Linux多线程开发;Unix/Linux多线程同步技术)● Oracle数据库和数据库开发(Oracle SQL 查询语句;Oracle SQL DML和事务处理语句;Oracle SQL 建表和约束; Oracle的序列、视图和索引; PL/SQL 存储过程;PL/SQL 函数(function);PL/SQL 游标和触发器; PL/SQL 异常处理(Exception);Pro*c 操作数据库;动态SQL)● QT图形界面开发(QT 基础;QT 信号和槽;QT Creator的使用;QT Designer的使用)● 大型项目K-DMS电信计费系统(数据读取模块;数据匹配模块;数据发送模块;数据接收模块;数据保存模块;数据整合模块)阶段三:ARM体系结构与编程● ARM 体系结构与编程 QTP(嵌入式系统特征、发展、应用领域介绍。嵌入式系统开发的特点、软硬件开发系统构成,开发环境的建立。K-PAD平台特性介绍,K-PAD平台初体验。 ARM体系结构、ARM处理器系列与发展、ARM编程模型。 ARM指令集(分支指令、数据处理指令、加载存储指令等)GNU ARM 汇编程序设计)● 基于K-PAD平台的裸板驱动开发(基于K-PAD的GPIO使用方法,LED驱动编写。UART原理,基于K-PAD的UART驱动编写、调试、测试。 BootLoader原型设计,完成Shell框架,人机交互,命令编写。 NAND FLASH 特性与使用方法,基于K-PAD的NAND FLASH驱动开 发、调试、测试。 内核引导条件,引导方法,编写Linux引导命令,完善Bootloader。ARM异常处理程序设计、K-PAD启动原理,升级方法 。 为Bootloader增加启动代码和内存初始化代码。MMU 原理和MMU地址转表制作, 软中断异常处理程序设计、开发、调试、测试)阶段四:iOS游戏开发● 嵌入式Linux系统部署(嵌入式Linux系统构成、各部分的作用和关心。 嵌入式Linux系统开发环境建立, U-Boot特性、代码结构、编译方法、移植方法。 Linux内核特性、代码结构、编译方法。Linux内核移植方法、移植实践。 根文件系统组成,根文件系统制作方法。 tslib、qt移植部署方法)● Linux驱动开发(Linux内核模块化设计思想、设备类型、驱动的作用和编写方法;字符设备驱动程序设计、完成键盘驱动程序设计;高级字符设备驱动程序设计(原子变量、信号量、自旋锁、阻塞/非阻 塞、等待队列、定时器、中断、内核内存管理);字符设备驱动专题 I2C驱动程序设计;字符设备驱动专题之ADC驱动程序设计、温度场传感器驱动程序设计;字符设备驱动专题定时器、PWM驱动设计;字符设备驱动专题 RTC 驱动程序设计;输入子系统;显示子系统; 块设备驱动程序设计;网络驱动程序设计)阶段五:嵌入式Linux软件开发项目实践●智能家居控制系统(人机交互模块 ;设备驱动模块;服务器模块;客户端模块;设备控制和信息采集模块;ZIGBEE接口 ;3G接口 ;摄像监控接口 ;系统升级模块 )