第1章 嵌入式系统基础知识 1
1.1嵌入式系统简介 2
1.1.1嵌入式系统的定义 2
1.1.2嵌入式系统的软硬件特征 2
1.1.3嵌入式操作系统 3
1.1.4学习嵌入式系统的意义 3
1.2嵌入式系统的硬件基础 3
1.2.1嵌入式处理器 3
1.2.2嵌入式微处理器 4
1.2.3嵌入式微控制器 5
1.2.4嵌入式DSP处理器 6
1.2.5嵌入式片上系统 6
1.2.6嵌入式处理器的选择 7
1.3嵌入式系统的软件基础 8
1.3.1操作系统的发展史 9
1.3.2主流嵌入式操作系统介绍 10
1.4实训:编译Bootloader 12
1.5习题 17
第2章 嵌入式开发环境的建立 19
2.1操作系统内核 20
2.1.1内存管理功能 20
2.1.2内存分割 20
2.1.3虚拟内存 21
2.2进程与中断管理 23
2.2.1进程描述与控制 24
2.2.2并发控制:互斥与同步 29
2.2.3并发控制:死锁处理 36
2.2.4中断及中断处理 40
2.3调度机制 42
2.3.1调度类型 42
2.3.2单处理器调度 43
2.3.3多处理器调度 46
2.3.4实时调度 48
2.4 I/O设备 51
2.4.1 I/O设备描述参数 52
2.4.2 I/O技术的演变 52
2.4.3 I/O设备逻辑描述 53
2.4.4 I/O缓冲技术 54
2.4.5磁盘调度 56
2.5文件管理 59
2.5.1文件与文件系统 60
2.5.2文件组织与访问 60
2.5.3文件共享 63
2.5.4记录分块 64
2.5.5外围存储设备管理 65
2.6用户界面 66
2.6.1图形用户界面 66
2.6.2关键技术 67
2.7智能化用户界面 69
2.7.1 Agent技术 69
2.7.2 Agent技术与用户界面的结合 71
2.8实训:编译Linux内核 73
2.9习题 89
第3章 嵌入式系统硬件平台的构建 91
3.1存储器 92
3.1.1 ROM 92
3.1.2 RAM 92
3.2输入/输出设备 93
3.2.1液晶显示 93
3.2.2触摸屏 94
3.2.3语音输入/输出技术 96
3.2.4键盘 96
3.3电源转换与管理 98
3.3.1电源IC分类 99
3.3.2电源IC的特点 99
3.3.3电源IC选用指南 100
3.4接口技术 102
3.4.1并行接口 102
3.4.2串口 103
3.4.3 USB 104
3.4.4 PCMCIA和CF 104
3.4.5红外线接口 106
3.5总线 107
3.5.1 ISA 107
3.5.2 PCI 108
3.5.3 I2C总线 108
3.5.4 SPI总线 109
3.5.5 PC 104总线 110
3.5.6 CAN总线 110
3.6嵌入式系统开发常用的硬件调试和编程技术 111
3.6.1微代码支持的串口调试 111
3.6.2常用编程技术 112
3.6.3 JTAG与IEEE 1149协议简介 113
3.6.4 3.3V和5V装置的互连 114
3.7实训:烧写各部分到目标板 115
3.8习题 120
第4章 嵌入式ARM处理器介绍 121
4.1 ARM处理器概述 122
4.1.1 ARM处理器的发展 122
4.1.2 ARM处理器的应用领域 122
4.1.3 ARM处理器的特点 123
4.1.4 ARM处理器的重要特性 123
4.2 ARM处理器指令系统 135
4.2.1 ARM处理器的寻址方式 135
4.2.2 ARM指令集 137
4.2.3 Thumb指令 160
4.3 S3C44B0处理器结构 161
4.3.1 S3C44B0片上资源简介 161
4.3.2内部结构及引脚信号定义 163
4.4 S3C44B0初始化汇编程序实例 166
4.4.1 BootLoader介绍 166
4.4.2初始化代码 166
4.4.3调试与运行 175
4.5实训:制作文件系统及程序的烧写 180
4.6习题 184
第5章 嵌入式系统交叉编译 185
5.1编译原理 186
5.1.1编译的一般过程 186
5.1.2与编译器相关的程序 187
5.1.3编译器的移植 187
5.2词法分析 188
5.2.1词法的形式化描述 188
5.2.2词法分析程序的设计 191
5.3语法分析 192
5.3.1自顶向下的语法分析 193
5.3.2自底向上的语法分析 195
5.4中间代码 197
5.5代码优化 199
5.6交叉编译技术 202
5.7 GCC交叉编译器 203
5.7.1 GCC编译流程 203
5.7.2 Linux环境下的GCC交叉编译器 206
5.8一个交叉编译器的生成实例 207
5.8.1可执行文件格式 207
5.8.2交叉编译器 208
5.8.3相关问题 210
5.9实训:交叉编译并运行简单程序 210
5.10习题 215
第6章 图形用户界面 217
6.1显示驱动接口 218
6.1.1 framebuffer驱动接口 218
6.1.2 qvfb虚拟驱动接口 219
6.2 MiniGUI图形界面工具 221
6.2.1 MiniGUI的简介与安装 221
6.2.2 MiniGUI使用基础 225
6.2.3 MiniGUI对话框、控件、菜单与绘图 228
6.3 Qt embeded图形界面工具 237
6.3.1 Qt embeded的简介与安装 237
6.3.2 Qt embeded使用基础 239
6.3.3 Qt Designer介绍 242
6.4实训:使用开发工具Qt Designer 243
6.5习题 251
第7章LCD控制器实例 253
7.1 LCD控制器 254
7.1.1 LCD介绍 254
7.1.2 LCD控制器介绍 254
7.1.3 LCD控制器的结构 255
7.1.4 LCD控制器操作 256
7.1.5特殊寄存器 260
7.2实例过程 266
7.2.1电路连接 266
7.2.2寄存器设置 266
7.2.3程序的编写 268
7.2.4调试与运行结果 270