第1章嵌入式系统概述..1
1.1嵌入式系统的产生和发展1
1.2嵌入式系统的概念3
1.2.1嵌入式系统的定义3
1.2.2嵌入式系统的特点3
1.2.3嵌入式系统的组成结构6
1.2.4嵌入式系统的分类7
1.3嵌入式系统的应用领域11
1.4嵌入式系统的发展趋势12
思考与练习题14
第2章嵌入式处理器15
2.1引言15
2.2嵌入式处理器概述15
2.2.1嵌入式处理器的分类16
2.2.2典型的嵌入式处理器17
2.3ARM处理器基础20
2.3.1ARM简介20
2.3.2ARM处理器系列22
2.3.3ARM处理器体系结构28
2.3.4ARM处理器应用选型33
2.4ARM指令系统34
2.4.1ARM编程模型34
2.4.2ARM寻址方式44
2.4.3ARM指令集48
2.4.4Thumb指令集62
2.5ARM程序设计基础72
2.5.1ARM汇编语句格式73
2.5.2ARM汇编程序格式73
2.5.3汇编语言编程实例74
2.5.4汇编语言与C语言的混合编程76
思考与练习题83
第3章嵌入式硬件平台86
3.1引言86
3.2嵌入式硬件平台概述86
3.3总线87
3.3.1总线协议88
3.3.2DMA90
3.3.3总线配置91
3.3.4总线实例92
3.4存储设备92
3.4.1嵌入式系统存储器子系统的结构92
3.4.2RAM94
3.4.3ROM96
3.4.4FlashMemory97
3.5I/O设备98
3.5.1定时器/计数器99
3.5.2模/数转换器和数/模转换器100
3.5.3人机接口设备100
3.6通信设备103
3.6.1通用异步收发器103
3.6.2USB设备106
3.6.3Ethernet设备112
3.7其他113
3.7.1电源113
3.7.2时钟113
3.7.3复位114
3.7.4中断116
思考与练习题117
第4章BootLoader与设备驱动118
4.1引言118
4.2BootLoader119
4.2.1BootLoader概述119
4.2.2BootLoader的典型结构120
4.2.3实例分析123
4.3设备驱动134
4.3.1设备驱动概述134
4.3.2LCD驱动控制实例138
思考与练习题143
第5章嵌入式操作系统..144
5.1引言144
5.2嵌入式操作系统概述145
5.2.1嵌入式实时操作系统145
5.2.2典型的嵌入式操作系统145
5.3操作系统的基本概念149
5.3.1多进程和多线程149
5.3.2任务149
5.3.3任务切换151
5.3.4内核151
5.3.5任务调度151
5.3.6任务间的通信与同步153
5.3.7操作系统的结构和功能156
5.4μC/OS-Ⅱ简介156
5.4.1μC/OS-Ⅱ概述156
5.4.2μC/OS-Ⅱ的特点157
5.4.3μC/OS-Ⅱ的软件体系结构158
5.5μC/OS-Ⅱ内核结构159
5.5.1临界段159
5.5.2任务160
5.5.3任务控制块OS_TCB161
5.5.4任务调度162
5.5.5任务管理162
5.5.6中断服务163
5.5.7时钟节拍与时间管理164
5.5.8任务间同步与通信的管理165
5.5.9内存管理168
5.5.10μC/OS-Ⅱ的初始化169
5.5.11μC/OS-Ⅱ的启动170
5.6μC/OS-Ⅱ在ARM上的移植170
5.6.1μC/OS-Ⅱ的移植条件170
5.6.2μC/OS-Ⅱ的移植步骤171
5.6.3测试移植代码176
5.7基于μC/OS-Ⅱ构建的TCP/IP/PPP协议栈176
5.7.1嵌入式协议栈概述176
5.7.2选择协议栈177
5.7.3嵌入式TCP/IP协议栈177
5.7.4基于μC/OS-Ⅱ的TCP/IP/PPP协议栈179
思考与练习题181
第6章嵌入式应用程序设计182
6.1引言182
6.2程序设计方法182
6.2.1设计范型182
6.2.2编程模型185
6.3程序设计技术186
6.3.1消息186
6.3.2任务和任务间同步187
6.3.3绘图函数188
6.3.4控件189
6.4嵌入式程序优化190
6.4.1编译过程190
6.4.2执行时间优化194
6.4.3能量优化198
6.4.4长度优化199
思考与练习题201
第7章基于网络的嵌入式系统设计202
7.1引言202
7.2分布式嵌入式系统202
7.2.1系统概述202
7.2.2OSI模型203
7.2.3网络结构204
7.2.4网络编程204
7.2.5设计技术206
7.3嵌入式系统网络208
7.3.1I2C总线208
7.3.2CAN总线211
7.3.3Ethernet214
7.3.4GPRS215
7.3.5蓝牙技术218
7.3.6Internet221
7.4基于网络的设计示例223
7.4.1远程温度检测系统223
7.4.2基于VoIP和蓝牙的无线电话系统226
7.4.3机顶盒229
思考与练习题231
第8章嵌入式系统开发233
8.1引言233
8.2嵌入式系统的开发工具233
8.2.1开发工具概述233
8.2.2ADS简介234
8.2.3使用ADS创建工程238
8.2.4使用AXD调试代码245
8.3嵌入式系统的调试方法248
8.3.1嵌入式系统调试简介248
8.3.2ARM调试系统概述248
8.3.3基于Angel的调试系统250
8.3.4基于JTAG的调试系统254
8.4其他实用工具256
8.4.1SourceInsight256
8.4.2SkyEye257
思考与练习题260
第9章系统设计技术261
9.1引言261
9.2设计流程261
9.2.1嵌入式系统的开发过程261
9.2.2设计流程265
9.3系统设计的形式化方法268
9.3.1UML简介268
9.3.2结构描述271
9.3.3行为描述276
9.4需求分析与规格说明278
9.4.1需求分析278
9.4.2规格说明278
9.5系统分析与体系结构设计281
9.6质量保证282
思考与练习题284
参考文献...285