第1 Linux操作系统基础
1. 介绍Linux操作系统的基本知识,包括发展概述,目前应用情况,技术优势和特点等。
2. Linux系统的安装准备,Linux文件系统。
3. 实验内容:安装Linux操作系统
第2 Linux基本命令
1、 Linux常用操作命令,包括用户系统相关命令,文件目录相关命令,压缩打包相关命令,网络相关命令等。
2、 Linux启动过程详解
3、 Linux系统服务
4、 实验内容:Linux系统常用命令操作
第3 Linux下C编程基础
1. C语言编程概述
2. Vi等编辑工具使用
3. Gcc和GDB的使用
4. Make工程管理器
5. 实验内容:Vi使用,用GDB调试程序,编写简单的Makefile
第2部分 C/C++编程
第4 C/C++语言简介、数据类型和操作符
1. 软件开发流程和方法,行业现状
2. c/c++语言起源和历史发展
3. c/c++语言的特点和应用领域
4. c++集成开发环境介绍。讲解vc++IDE环境的使用,包括编译,链接,运行和调试。
5. 学习c/c++程序设计的方法
6. c/c++简单程序的结构
7. 计算机处理数据的抽象层次
8. c++的基本数据类型的处理
9. 数据溢出的结果和应对方法
10. C++的算术操作符
11. 自动类型转换
12. 强制类型转换
第5 复合类型
1. 数组
2. 字符串
3. string类
4. 结构
5. 共同体
6. 枚举
第6 指针
1. 指针
2. 内存分配
3. 指针、数组、字符串之间的关系
4. 指针算术
5. 字符串的指针操作。
6. 多维数组和指针访问。
7. 空指针的意义。
8. 指针练习。
第7 循环和关系表达式
1. for循环
2. 关系表达式
3. while循环
4. do while循环
5. 嵌套循环
6. 多维数组
7. 控制台输入输出
第8 分支语句和逻辑操作符
1. if 语句
2. 逻辑表达式
3. ?:操作符
4. switch语句
5. break
6. continue
7. return
8. 简单文件输入输出
第9 函数
1. 函数原型
2. 函数参数和按值传递
3. 参数为数组(一维和多维)的函数
4. 参数为指针的函数
5. 参数和返回类型维结构的函数
6. 处理string对象的函数
7. 函数指针
8. 内联函数和宏的使用
9. 引用变量
10. 函数重载的机制
11. 函数模板
12. c++程序的内存模型和几种内存的分配方式
13. 结构化程序设计的原则
14. 源文件和头文件的物理布局以及对程序模块划分和程序编译的影响
15. 静态变量
16. 名称空间
第10 类(1)
1. 面向过程编程和面向对象编程的区别
2. 面向对象和程序设计语言的关系
3. 类的概念和抽象层次
4. 接口的概念和客户/服务器模型
5. 类的定义和数据封装
6. 构造函数和析构函数
7. this指针和对象数组
第11 类(2)
1. 指针类成员以及动态分配内存的初始化
2. 含指针成员的类的=操作符重载和拷贝构造函数的定义
3. 按成员拷贝(bit-wise copy)和deep copy的区别
4. 什么时候需要考虑深拷贝(deep copy)
5. 操作符重载
6. 友元类和友元函数
7. 类的自动转换和强制类型转换
第12 继承
1. 继承和派生的概念
2. 继承的访问控制和继承方式
3. 构造函数成员初始化列表
4. 基类和派生类对象的构造顺序
5. 继承和对象模型(对象的赋值和切割)
6. 虚函数的语法和定义
7. 继承和多态的关系
8. 静态联编和动态联编
9. 虚析构函数
10. 虚函数表和多态实现的编译器机制
11. 含有虚函数的类的对象模型
第13 代码重用
1. Has-a关系
2. 包含成员对象的类
3. 私有和保护继承
4. 多重继承
5. 虚基类
第14 友元、异常和类模板
1. 友元
2. 异常
3. 类模板和具体化
第3部分 数据结构和算法
第15 数据结构和算法(1)
1. 常用的字符串的c函数的具体的代码实现
2. 数据结构概论
3. 算法基本概念
4. 时间和空间复杂度
5. 单链表的实现及其应用
6. 循环链表的实现及其应用
第16 数据结构和算法(2)
1. 双向链表的实现
2. 堆栈实现及其应用
第17 数据结构和算法(3)
1. 队列的实现及应用
2. 字符串的查找,替换,连接等操作
3. 数组,字符串,指针,多维数组的相互关系和归纳
4. 递归算法
5. 二叉排序树的实现及应用
6. 二叉树的前序遍历、中序遍
7. 历、后序遍历。
8. 常见排序方法和二分查找
第4部分 嵌入式系统和ARM介绍
第19 嵌入式系统和ARM介绍
1. 嵌入式系统概述
2. ARM硬件平台介绍,ARM处理器体系结构
3. 嵌入式软件开发流程
4. 实验内容: 用JTAG工具烧写NAND FLASH
第5部分 嵌入式Linux系统编程
第20 嵌入式Linux开发环境的搭建
1、 嵌入式交叉编译环境的搭建
2、 超级终端的配置和使用
3、 编译嵌入式linux内核
4、 制作文件系统
5、 Bootloader介绍
6、 实验内容:移植Linux内核
第21 文件I/O编程
1、 Linux系统调用和用户编程接口
2、 Linux中文件和文件描述符介绍
3、 不带缓存的文件I/O操作
4、 嵌入式Linux串口应用开发
5、 标准I/O开发
6、 实验内容:文件读写和上锁,串口读写
第22 进程控制开发
1、 Linux下进程概述
2、 Linux进程控制编程
3、 Linux守护进程
4、 实验内容:编写多进程程序,编写守护进程
第23 进程间通讯
1、 管道通信的创建和关闭
2、 信号通信的发送和捕捉
3、 共享内存的实现
4、 消息队列的实现
5、 实验内容:管道通信编写程序,共享内存实验
第24 多线程编程
1、 Linux下线程概述
2、 Linux线程实现
3、 实验内容:“生产者消费者”实验
第25 嵌入式Linux网络编程
1、 TCP/IP协议介绍
2、 Socket基础编程
3、 网络高级编程
4、 Ping源代码分析
5、实验内容:NTP协议实现
第26 嵌入式Linux设备驱动开发
1、 Linux设备驱动概述
2、 字符设备驱动编写
3、 块设备驱动编写
4、 中断编程
5、 实例介绍:LCD驱动和键盘驱动的实现
6、 实验内容:Skull驱动
第27 Qt图形编程
1、 嵌入式GUI概述
2、 Qt/Embeded开发入门
3、 搭建Qt/Embeded开发环境
4、 Qt/Embeded图形界面编程
5、实验内容:使用QT编写“HELLO WORLD”程序
第6部分 Windows编程
第28 Windows程序内部运行机制
1. API与SDK
2. 窗口与句柄
3. 消息与消息队列
4. WinMain函数
5. {dy}个windows 程序
6. 消息循环的错误分析
7. 变量的命令约定
第29 MFC框架
1. MFC AppWizard
2. 基于MFC的程序框架剖析
3. 窗口类、窗口类对象与窗口
第30 简单绘图与文本编程
1. MFC消息映射机制
2. 绘制线条
3. 使用画刷绘图
4. 绘制连续线条
5. 绘制扇形效果线条
6. 插入字符
7. 窗口重绘
8. 路径
9. 字符输入
第31 菜单和对话框
1. 菜单命令响应函数
2. 菜单命令的路由
3. 基本菜单操作
4. 动态菜单操作
5. 电话本示例程序
6. 对话框基本知识
7. 对话框的创建和显示
8. 动态创建按钮
9. 控件的访问
10. 对话框伸缩功能的实现
11. 输入焦点的传递
12. 默认按钮的进一步说明
第32 绘图控制和文件
1. 简单绘图
2. 设置对话框
3. 颜色对话框
4. 字体对话框
5. 改变对话框和控件的背景和文本颜色
6. 显示位图
7. 坐标空间和转换
8. 图形的保存和重绘
9. 窗口滚动功能的实现
10. 元文件
11. 兼容设备描述表
第33 网络编程(1)
1. 计算机网络概述
2. OSI七层模型和TCP/IP协议栈
3. 客户机/服务器的通信方式
4. 物理层和数据链路层
5. 传输层
6. TCP和UDP协议
第34 网络编程(2)
1. 基于WinAPI SOCKET编程基础
2. 面向无连接的协议和面向连接的协议
3. 流式协议和数据报协议的区别
4. 套接字选项的配置
5. 网络层相关技术
6. 字节顺序(Byte-order)
7. 基于MFC的CSocket类的网络编程
第35 多线程(1)
1. 进程和线程
2. 线程创建函数
3. Sleep函数
4. 使用互斥对象实现线程同步
5. 保证应用程序只有一个实例运行
第36 静态、动态连接库、组件编程
1. 事件对象
2. 关键代码段
3. 线程死锁
4. 互斥对象、时间对象与关键代码段的比较
5. 基于消息的异步套接字
6. 静态库
7. 动态库
第7部分 WinCE编程
第37 Windows CE操作系统的介绍
1、 Windows CE的结构功能概览
2、 进程、线程与调度
3、 内存管理
4、 存储管理与文件系统
5、 驱动管理与服务
6、 用户界面与图形系统
7、 Windows CE的应用特性
第38 建立Windows CE开发环境
1. Windows CE应用程序开发的几点说明
2. 应用程序开发流程
3. Windows CE的应用编程接口
4. 开发工具介绍及对比
第39 平台模拟器的建立和使用
1. 建立模拟器环境
2. 建立硬件开发板环境
第40 WinCE操作系统设计
1. 在PC机上运行Windows CE
2. Platfrom Builder集成开发环境
3. 定制Windows CE操作系统的一般流程
4. Windows CE的目录组织
第41 Windows CE 窗口消息机制与屏幕输出
1. 建立一个Hello World程序
6、 添加窗口消息响应函数
7、 编写文字输出程序
8、 编写屏幕绘图程序
第42 WinCE下多线程编程,文件操作与串口通信
1. 多线程的实现
2. Windows CE 中的文件操作
3. Windows CE中的串口通信
第43 Windows CE下MFC程序的开发
1. 建立基于MFC框架的Windows CE应用程序
2. 编程实现菜单,对话框,窗口的操作与消息通讯
3. 编程实现MFC中的基本控件的功能
4. 编写Windows CE 下的串口调试工具
第8部分 MTK手机软件
第44 手机设计基础理论
1、手机软硬件原理介绍
2、手机重要技术指标介绍
第45 MTK开发环境介绍
1、MTK手机芯片介绍
2、MTK软件架构分析
第46 MTK开发工具介绍
1. 烧写程序下载工具 FlashTools
2. 编译工具和辅助工具:ADS1.2 ,ADS1.2 update, Active Perl
3. Trace 工具:catcher
4. 手机工程测试工具: META (Mobile Engineering Testing Architecture)
MTK软件编译及工程源程序介绍
由浅入深的手机软件开发
1. 熟悉编译过程
2. 改变编译参数/宏定义来实现手机配置的改变或设定
3. 更换资源文件实现新的手机界面
4. 利用MTK辅助工具实现手机新功能
5. 修改源程序实现复杂的功能更改或增加
6. 修改NVRAM数据来改变手机的功能/性能
7. 新功能模块的开发