标题：Cortex-M3嵌入式处理器原理与应用
基本信息
作译者： 范书瑞 
ISBN号： 9787121126468 
出版日期： 2011-1-1 
字数：474千字   定价：￥39.00元
内容简介
ARM公司在经典处理器ARM11以后的产品改用Cortex命名，并分成A、R和M三类，旨在为各种不同的市场提供服务。Cortex-M3为M系列的第一款处理器，专注于低成本嵌入式领域需求，正在逐步占领单片机的高端市场。STM32F10xx微控制器采用Cortex-M3处理器，自面世以来就为大家所瞩目，广泛的产品线给用户提供了全新的32位产品选项。
本书主要分为Cortex-M3内核介绍、STM32F10xx基础及应用和操作系统移植三部分内容。以STM32F10xx微控制器的各个内部外设应用为主线，全面介绍Cortex-M3处理器的开发过程。从内部外设编程到操作系统程序设计，都通过实例讲解。
读者对象：本书内容实用易懂，适合作为嵌入式开发人员的参考书，也可作为高等院校相关专业高年级学生的教学或参考用书。
目录
第1章  引言 1
1.1  什么是Cortex处理器 1
1.2  ARM体系结构 2
1.2.1  ARM体系结构的版本 2
1.2.2  ARM体系结构扩展 3
1.3  ARM处理器内核分类 4
1.3.1  ARM7微处理器系列 5
1.3.2  ARM9微处理器系列 6
1.3.3  ARM9E微处理器系列 6
1.3.4  ARM10E微处理器系列 6
1.3.5  ARM11微处理器系列 6
1.3.6  Cortex系列 7
1.4  Cortex-M3处理器选型 9
1.4.1  STM32系列 10
1.4.2  Stellaris系列 13
1.4.3  LPC1000系列 17
1.4.4  AT91SAM3系列 18
第2章  Cortex-M3内核 20
2.1  Cortex-M3处理器基本结构 20
2.2  编程模型 21
2.2.1  特权访问和用户访问 21
2.2.2  寄存器 22
2.2.3  存储格式 26
2.3  指令集 27
2.4  总线接口 29
2.5  存储器映射 30
2.5.1  存储器组织 30
2.5.2  位段 31
2.6  异常 33
2.6.1  异常类型和优先级 33
2.6.2  异常处理 34
2.7  时钟和复位 34
2.7.1  时钟 34
2.7.2  复位 35
2.8  电源管理 36
2.9  嵌套中断向量控制器 36
第3章  STM32系列微控制器 38
3.1  STM32系列微控制器概述 38
3.1.1  产品种类和应用 38
3.1.2  STM32F101/2/3x系列微控制器 39
3.1.3  STM32F105/107系列微控制器 40
3.1.4  主要优点 41
3.1.5  STM32命名规则 44
3.2  存储器和总线结构 44
3.2.1  系统结构 44
3.2.2  存储器组织 45
3.2.3  启动配置 49
3.3  电源管理 50
3.3.1  电源 50
3.3.2  电源管理 52
3.3.3  低功耗模式 53
3.3.4  电源控制寄存器 57
3.4  复位和时钟控制 58
3.4.1  复位 58
3.4.2  时钟 59
3.4.3  寄存器描述 63
3.5  调试接口 79
3.5.1  SWJ调试端口（Serial Wire and JTAG） 80
3.5.2  引脚分布和调试端口 81
3.6  最小系统设计 83
第4章  STM32程序设计 85
4.1  Cortex微控制器软件接口标准 85
4.1.1  CMSIS架构 85
4.1.2  CMSIS文件结构 86
4.2  FWLib固件库 87
4.2.1  命名规则 87
4.2.2  数据类型和结构 88
4.2.3  文件结构 92
4.2.4  固件函数库文件描述 93
4.3  STM32标准外设库 94
4.3.1  Doxygen格式 94
4.3.2  STM32F10xxx标准外设库体系结构 94
第5章  中断处理和GPIO应用 97
5.1  嵌套中断向量控制器NVIC 97
5.2  中断/事件控制器EXTI 99
5.2.1  中断/事件管理 99
5.2.2  EXTI寄存器 100
5.3  EXTI固件库 101
5.3.1  定义声明 101
5.3.2  EXTI库函数 102
5.4  通用GPIO 104
5.4.1  主要特性 105
5.4.2  GPIO寄存器 106
5.4.3  AFIO寄存器 108
5.5  GPIO固件库 112
5.5.1  定义声明 112
5.5.2  GPIO库函数 115
5.6  DMA控制器 120
5.6.1  通道映射 120
5.6.2  DMA处理和通道 121
5.6.3  DMA寄存器 124
5.7  DMA固件库 127
5.7.1  定义声明 127
5.7.2  DMA库函数 132
5.8  程序设计 136
5.8.1  GPIO与EXTI应用例程 136
5.8.2  DMA应用例程 138
第6章  通用同步/异步收发器USART 141
6.1  串行通信基础 141
6.1.1  异步通信 141
6.1.2  同步通信 141
6.1.3  串行通信的分类 142
6.2  USART概述 143
6.2.1  字符定义 143
6.2.2  数据发送 144
6.2.3  数据接收 145
6.2.4  波特率设置 146
6.3  模式控制 147
6.3.1  同步模式 147
6.3.2  单线半双工模式 148
6.3.3  DMA设置 148
6.3.4  硬件流量控制 149
6.3.5  USART中断请求 151
6.4  USART寄存器定义 152
6.4.1  USART寄存器说明 152
6.4.2  USART寄存器固件库定义 159
6.5  USART固件库 160
6.5.1  定义声明 160
6.5.2  USART库函数 161
6.6  程序设计举例 165
6.6.1  串口测试程序 165
6.6.2  程序分析 169
第7章  串行外设接口SPI 171
7.1  SPI简介 171
7.1.1  接口定义 171
7.1.2  多机通信 172
7.2  SPI主要特征 173
7.2.1  从设备选择管理 174
7.2.2  时钟相位与极性 174
7.3  SPI功能描述 175
7.3.1  SPI主从模式 175
7.3.2  单工通信 176
7.3.3  状态标志 177
7.3.4  其他功能 177
7.4  SPI寄存器定义 178
7.4.1  SPI寄存器说明 178
7.4.2  SPI寄存器固件库定义 183
7.5  SPI固件库 184
7.5.1  定义声明 184
7.5.2  SPI固件库函数 185
7.6  程序设计举例 188
第8章  定时器 191
8.1  STM32F103x定时器简介 191
8.2  定时器功能 191
8.2.1  时基单元 191
8.2.2  计数器模式 193
8.2.3  时钟选择 194
8.2.4  捕获/比较通道 195
8.2.5  PWM模式 197
8.2.6  定时器和外部触发同步 199
8.2.7  定时器同步 200
8.2.8  其他功能 201
8.3  定时器特性 201
8.3.1  高级控制定时器特性 201
8.3.2  通用定时器特性 202
8.3.3  基本定时器特性 203
8.4  定时器寄存器定义 203
8.4.1  高级控制定时器寄存器说明 203
8.4.2  通用控制定时器寄存器说明 215
8.4.3  普通定时器寄存器说明 217
8.4.4  TIM寄存器固件库定义 217
8.5  定时器寄存器固件库定义 218
8.5.1  定义声明 218
8.5.2  TIM固件库函数 221
8.6  程序设计举例 228
8.6.1  PWM模式 228
8.6.2  比较输出触发模式 230
第9章  操作系统移植 233
9.1  C/OS-Ⅱ简介 233
9.1.1  C/OS-Ⅱ的软件体系结构 233
9.1.2  C/OS-Ⅱ功能 234
9.2  C/OS-Ⅱ移植 236
9.2.1  移植C/OS-Ⅱ条件 236
9.2.2  改写OS_CPU.H文件 236
9.2.3  改写OS_CPU_C.C文件 238
9.2.4  改写OS_CPU_A.S文件 242
9.3  C/OS-Ⅱ应用实例 244
9.3.1  两个任务 244
9.3.2  主函数 245
9.4  FreeRTOS简介及应用 250
9.4.1  FreeRTOS简介 250
9.4.2  FreeRTOS操作系统原理 250
9.4.3  FreeRTOS移植 254
9.4.4  实例分析 259
9.5  RT-Thread简介及移植 260
9.5.1  RT-Thread简介 260
9.5.2  RT-Thread移植 261
第10章  温湿度测量仪设计 273
10.1  简介 273
10.2  系统设计 273
10.3  程序设计 275
10.3.1  AD7792驱动设计 275
10.3.2  主程序设计 279
参考文献 283