第一章 嵌入式系统基础 1
1.1 嵌入式系统的定义及组成 1
1.1.1 嵌入式系统的定义 1
1.1.2 嵌入式系统的组成 2
1.2 嵌入式处理器 2
1.3 嵌入式操作系统(RTOS) 4
习题 5
第二章 ARM Cortex-M3内核结构 6
2.1 ARM Cortex-M3处理器简介 6
2.1.1 概述 6
2.1.2 内核结构组成及功能描述 7
2.2 内核寄存器组织 9
2.2.1 通用寄存器R0~R15 9
2.2.2 特殊功能寄存器 10
2.3 处理器操作模式 11
2.4 存储器系统 13
2.4.1 存储器映射 13
2.4.2 位带操作 14
2.5 异常 15
2.5.1 异常类型 15
2.5.2 优先级 16
2.5.3 中断向量表 17
2.5.4 异常的进入与退出 18
2.5.5 Cortex-M3异常处理机制 20
2.5.6 嵌套向量中断控制器 20
2.6 存储器保护单元(MPU) 30
2.6.1 MPU寄存器组织及描述 31
2.6.2 MPU的应用 35
习题 38
第三章 Cortex-M3指令系统及程序设计 40
3.1 指令格式 40
3.2 条件码 41
3.3 指令分类 41
3.3.1 Thumb-2指令表 42
3.3.2 Thumb-2指令的使用 46
3.4 程序设计 58
3.4.1 汇编程序设计 58
3.4.2 C语言程序设计 60
3.4.3 汇编与C语言混合编程 62
习题 65
第四章 RealView MDK使用 66
4.1 RealView MDK简介 66
4.2 μVision使用入门 67
4.3 在线调试 69
4.4 模拟仿真调试 72
习题 74
第五章 LM3S系列微控制器片上资源应用 75
5.1 LM3S微控制器系统简介 75
5.1.1 LM3S微控制器概述 75
5.1.2 LM3S微控制器引脚描述 80
5.1.3 LM3S微控制器系统控制 84
5.1.4 初始化和配置 101
5.2 通用输入/输出端口(GPIO) 103
5.2.1 简介 104
5.2.2 结构图 104
5.2.3 寄存器描述 105
5.2.4 初始化和配置 121
5.2.5 例程 122
5.3 通用定时器(GPTM) 130
5.3.1 简介 130
5.3.2 结构图 131
5.3.3 寄存器描述 134
5.3.4 初始化和配置 142
5.3.5 例程 143
5.4 异步串行通信(UART) 151
5.4.1 简介 151
5.4.2 结构图 152
5.4.3 寄存器描述 157
5.4.4 初始化和配置 169
5.4.5 例程 169
5.5 同步串行通信(SSI) 174
5.5.1 简介 174
5.5.2 结构图 175
5.5.3 寄存器描述 177
5.5.4 初始化和配置 184
5.5.5 例程 184
5.6 模数转换(ADC) 188
5.6.1 简介 188
5.6.2 结构图 189
5.6.3 寄存器描述 191
5.6.4 初始化和配置 198
5.6.5 例程 199
5.7 I2C总线接口 202
5.7.1 I2C简介 202
5.7.2 结构图 203
5.7.3 寄存器描述 204
5.7.4 初始化和配置 211
5.7.5 例程 211
5.8 脉宽调制器(PWM) 219
5.8.1 简介 219
5.8.2 结构图 220
5.8.3 寄存器描述 223
5.8.4 初始化和配置 230
5.8.5 例程 230
5.9 正交编码接口(QEI) 232
5.9.1 简介 232
5.9.2 结构图 233
5.9.3 寄存器描述 234
5.9.4 初始化和配置 237
5.9.5 例程 238
5.10 模拟比较器 239
5.10.1 简介 239
5.10.2 结构图 239
5.10.3 寄存器描述 241
5.10.4 初始化和配置 244
5.10.5 例程 244
5.11 看门狗定时器 246
5.11.1 简介 246
5.11.2 结构图 246
5.11.3 寄存器描述 247
5.11.4 初始化和配置 249
5.11.5 例程 249
习题 251
第六章 μC/OS-Ⅱ操作系统工作原理 252
6.1 嵌入式操作系统概述 252
6.2 μCOS-Ⅱ工作原理简介 252
6.2.1 μC/OS-Ⅱ的文件结构 254
6.2.2 任务、任务堆栈、任务控制块以及任务状态 255
6.2.3 任务就绪表、任务调度和任务切换 259
6.2.4 任务初始化和任务启动 265
6.2.5 μC/OS-Ⅱ中的中断 268
6.2.6 μC/OS-Ⅱ中的时钟 270
6.2.7 任务间通信 273
6.2.8 内存管理 279
6.3 μCOS-Ⅱ的移植 281
6.3.1 开发工具 281
6.3.2 μC/OS-Ⅱ移植的条件 282
6.3.3 μC/OS-Ⅱ移植的内容 282
6.3.4 μC/OS-Ⅱ移植的步骤 283
6.4 μCOS-Ⅱ的应用实例 293
6.4.1 应用实例说明 293
6.4.2 任务管理应用实例 297
6.4.3 任务通信应用实例 302
6.4.4 内存管理应用实例 304
习题 304
第七章 综合设计实例 306
7.1 高效数控恒流源设计 306
7.1.1 任务与要求 306
7.1.2 实例整体方案 307
7.1.3 系统主要硬件电路设计 307
7.1.4 系统主要软件设计 309
7.1.5 系统测试 314
7.2 电子点菜系统终端机设计 317
7.2.1 任务与要求 317
7.2.2 方案说明 317
7.2.3 硬件电路设计 318
7.2.4 软件设计 319
附录A 325
附录B 343
参考文献 348