第1章 Linux操作系统 1
1.1 Linux简介 1
1.2 Shell简介 5
1.3 Linux编程 9
1.4 嵌入式Linux 12
第2章 开发套件简介 15
2.1 UP-NetARM2410-S开发板简介 15
2.2 Linux下的嵌入式系统开发流程 18
2.3 Linux下的嵌入式系统开发环境 19
第3章 Linux内核移植实验 27
3.1 Linux内核背景简介 27
3.2 移植准备 28
3.3 交叉编译环境 29
3.4 内核代码修改 30
3.5 Linux内核裁减 33
3.6 编译内核和移植 39
第4章 根文件系统定制实验 41
4.1 文件系统基本概念 41
4.2 常见的嵌入式文件系统简介 43
4.3 嵌入式根文件系统 46
4.4 根文件系统的定制和移植 46
第5章 Linux多线程编程实验 51
5.1 多线程简介 51
5.2 经典的互斥与同步问题模型 52
5.3 生产者/消费者问题程序 55
第6章 串口通信实验 61
6.1 串口通信简介 61
6.2 串行通信代码分析 65
6.3 编译代码和下载调试 70
第7章 Linux内核驱动入门实验 73
7.1 驱动程序基础知识 73
7.2 设备驱动程序接口 77
7.3 驱动接口的实现过程 79
7.4 其他处理 84
7.5 驱动程序调试方法 86
7.6 简单的模块驱动实验 87
第8章 触摸屏驱动实验 95
8.1 Linux对于字符设备的管理 95
8.2 触摸屏的硬件控制 96
8.3 代码分析和下载验证 98
第9章 PS/2键盘鼠标驱动实验 107
9.1 PS/2键盘鼠标协议 107
9.2 驱动模块的概念 109
9.3 Linux下PS/2键盘工作原理 110
9.4 代码分析 110
第10章 音频解码实验 115
10.1 音频解码硬件结构 115
10.2 音频驱动程序设计 120
10.3 WAV和MP3文件格式 121
10.4 运行播放声音文件 123
第11章 综合实验——公交报站器设计 125
11.1 智能公交报站器简介 125
11.2 CPS简介 126
11.3 GPRS简介 129
11.4 关键代码分析 133
11.5 实验步骤 137