<一>
1、Linux 基础
- 安装Linux操作系统
- Linux文件系统
- Linux常用命令
- Linux启动过程详解
- 熟悉Linux服务
- 能够独立安装Linux操作系统
- 能够熟练使用Linux系统的基本命令
- 认识Linux系统的常用服务
- 安装Linux操作系统
- Linux基本命令实践
- 设置Linux环境变量
- 定制Linux的服务
- Shell 编程基础
- 使用vi编辑文件
- 使用Emacs编辑文件使用其他编辑器
2、Shell 编程基础
- Shell简介
- 认识后台程序
- Bash编程熟悉
- Linux系统下的编辑环境
- 熟悉Linux下的各种Shell
- 熟练进行shell编程
- 熟悉vi基本操作
- 熟悉Emacs的基本操作
- 比较不同shell的区别
- 编写一个测试服务器是否连通的shell脚本程序
- 编写一个查看进程是否存在的shell脚本程序
- 编写一个带有循环语句的shell脚本程序
3、Linux 下的 C 编程基础
- linux C语言环境概述
- Gcc使用方法
- Gdb调试技术
- Autoconf Automake Makefile 代码优化
- 熟悉Linux系统下的开发环境
- 熟悉Gcc编译器
- 熟悉Makefile规则
- 编写Hello,chi dazzle,World程序
- 使用 make命令编译程序
- 编写带有一个循环的程序
- 调试一个有问题的程序
4、嵌入式系统开发基础
- 嵌入式系统概述
- 交叉编译
- 配置TFTP服务
- 配置NFS服务
- 下载Bootloader和内核
- 嵌入式Linux应用软件开发流程
- 熟悉嵌入式系统概念以及开发流程
- 建立嵌入式系统开发环境
- 制作cross_gcc工具链
- 编译并下载U-boot
- 编译并下载Linux内核
- 编译并下载Linux应用程序
4、嵌入式系统移植
- Linux内核代码 平台相关代码分析
- ARM平台介绍
- 平台移植的关键技术
- 移植Linux内核到ARM平台
- 了解移植的概念
- 能够移植Linux内核移植Linux2.6内核到 ARM9开发板
5、嵌入式 Linux 下串口通信
- 串行I/O的基本概念
- 嵌入式Linux应用软件开发流程
- Linux系统的文件和设备与文件相关的系统调用
- 配置超级终端和MiniCOM
- 能够熟悉进行串口通信
- 熟悉文件I/O 编写串口通信程序
- 编写多串口通信程序
6、嵌入式系统中多进程程序设计
- Linux系统进程概述
- 嵌入式系统的进程特点
- 进程操作
- 守护进程
- 相关的系统调用
- 了解Linux系统中进程的概念
- 能够编写多进程程序编写多进程程序
- 编写一个守护进程程序
- sleep系统调用任务管理、同步与通信
- Linux任务概述任务调度
- 任务管理 API
- 了解Linux系统任务管理机制
- 熟悉进程间通信的几种方式 管道 信号 共享内存
- 熟悉嵌入式Linux中的任务间同步与通信
- 编写一个简单的管道程序实现文件传输
- 编写一个使用共享内存的程序
7、嵌入式系统中多线程程序设计
- 线程的基础知识
- 多线程编程方法
- 线程应用中的同步问题
- 了解线程的概念
- 能够编写简单的多线程程序
- 编写一个多线程程序
8、嵌入式 Linux 网络编程
- 网络基础知识
- 嵌入式Linux中TCP/IP网络结构
- socket 编程 常用 API函数
- 分析Ping命令的实现
- 基本UDP套接口编程
- 许可证管理
- PPP协议
- GPRS
- 了解嵌入式Linux网络体系结构
- 能够进行嵌入式Linux环境下的socket 编程
- 熟悉UDP协议、PPP协议
- 熟悉GPRS
- 使用socket 编写代理服务器
- 使用socket 编写路由器
- 编写许可证服务器
- 指出TCP和UDP的优缺点
- 编写一个web服务器
- 编写一个运行在 ARM平台的网络播放器
9、GUI 程序开发
- GUI基础
- 嵌入式系统GUI类型
- 编译QT
- 进行QT开发
- 熟悉嵌入式系统常用的GUI
- 能够进行QT编程
- 使用QT编写“Hello,World”程序
- 调试一个加入信号/槽的实例
- 通过重载QWidget 类方法处理事件
10、Linux 字符设备驱动程序
- 设备驱动程序基础知识
- Linux系统的模块
- 字符设备驱动分析 fs_operation结构
- 加载驱动程序
- 了解设备驱动程序的概念
- 了解Linux字符设备驱动程序结构
- 能够编写字符设备驱动程序
- 编写Skull驱动
- 编写键盘驱动
- 编写I/O驱动
- 分析一个看门狗驱动程序
- 对比Linux2.6内核与2.4内核中字符设备驱动的不同
- Linux 块设备驱动程序块设备驱动程序工作原理
- 典型的块设备驱动程序分析
- 块设备的读写请求队列
- 了解Linux块设备驱动程序结构
- 能够编写简单的块设备驱动程序
- 比较字符设备与块设备的异同
- 编写MMC卡驱动程序
- 分析一个文件系统
- 对比Linux2.6内核与2.4内核中块设备驱动的不同
11、文件系统
- 虚拟文件系统
- 文件系统的建立
- ramfs内存文件系统
- proc文件系统
- devfs 文件系统
- MTD技术简介
- MTD块设备初始化
- MTD块设备的读写操作
- 了解Linux系统的文件系统
- 了解嵌入式Linux的文件系统
- 了解MTD技术
- 能够编写简单的文件系统
- 为ARM9开发板添加MTD支持
- 移植JFFS2文件系统
- 通过proc文件系统修改操作系统参数
- 分析romfs 文件系统源代码
- 创建一个cramfs 文件系统