本书介绍ARM Cortex-M3内核结构特点和Thumb-2指令集,及其与ARM其他内核的比较。详细阐述意法半导体(ST)公司STM32系列ARM Cortex-M3微控制器的编程模型、存储器结构、异常处理、电源管理、时钟与复位、嵌套向量中断控制器、调试单元,以及其他各种外设的结构和编程方法。说明STM32库函数的使用方法,并简要介绍STM32相应的开发环境、工具和应用实例。
本书适用于使用STM32系列Cortex M3微控制器的研发人员作为技术、编程参考,也可作为STM32系列微控制器教学或培训用教材。
本书介绍ARM Cortex-M3内核结构特点和Thumb-2指令集,及其与ARM其他内核的比较。详细阐述意法半导体(ST)公司STM32系列ARM Cortex-M3微控制器的编程模型、存储器结构、异常处理、电源管理、时钟与复位、嵌套向量中断控制器、调试单元,以及其他各种外设的结构和编程方法。说明STM32库函数的使用方法,并简要介绍STM32相应的开发环境、工具和应用实例。
本书所附的光盘中包含:IAR EWARM评估版软件;STM32-SK仿真评估板的USB仿真器驱动、示例程序;STM32F103-DK开发板的硬件资料、各种外设使用的示例程序;STM32的应用笔记(Application Note)中文版。
本书适用于使用STM32系列Cortex M3微控制器的研发人员作为技术、编程参考,也可作为STM32系列微控制器教学或培训用教材。
第1章 ARM及Cortex-M3处理器概述
1.1 ARM处理器系列
1.1.1 命名规则
1.1.2 ARM处理器系列
1.2 ARM Cortex-M3处理器
1.2.1 处理器组件
1.2.2 Cortex-M3的层次和实现选项
1.2.3 处理器内核
1.2.4 嵌套向量中断控制器(NVIC)
1.2.5 总线矩阵
1.2.6 集成调试
1.2.7 可选组件
1.2.8 Cortex-M3处理器应用
1.3 ARM Cortex-M3指令集
1.4 ARM Cortex-M3的优势
第2章 STM32系列微控制器
2.1 STM32系列微控制器简介
2.1.1 STM32微控制器的主要优点
2.1.2 STM32微控制器的应用
2.2 STM32F101xx系列微控制器
2.2.1 特点
2.2.2 总体结构
2.3 STM32F103xx系列微控制器
2.3.1 特点
2.3.2 总体结构
第3章 STM32系列微控制器存储器与外设
3.1 存储器和总线的结构
3.1.1 系统结构
3.1.2 存储器结构
3.1.3 存储器映射
3.1.4 启动配置
3.2 电源控制
3.2.1 电源供应
3.2.2 电源供应管理
3.2.3 低功耗模式
3.2.4 电源控制寄存器
3.3 复位和时钟控制
3.3.1 复位
3.3.2 时钟
3.3.3 RCC寄存器描述
3.4 通用I/O和复用I/O(GPIO和AFIO)
3.4.1 GPIO功能描述
3.4.2 GPIO寄存器描述
3.4.3 复用功能I/O和调试配置(AFIO)
3.4.4 AFIO寄存器描述
3.5 中断和事件
3.5.1 嵌套向量中断控制器(NVIC)
3.5.2 外部中断/事件控制器(EXTI)
3.5.3 EXTI寄存器
3.6 DMA控制器
3.6.1 简介
3.6.2 主要特性
3.6.3 功能描述
3.6.4 DMA寄存器
3.7 实时时钟(RTC)
3.7.1 简介
3.7.2 主要特性
3.7.3 功能描述
3.7.4 RTC寄存器描述
3.8 备份寄存器(BKP)
3.8.1 简介
3.8.2 主要特性
3.8.3 干扰检测
3.8.4 RTC校验
3.8.5 BKP寄存器描述
3.9 独立的看门狗
3.9.1 简介
3.9.2 IWDG寄存器描述
3.10 窗口看门狗(WWDG)
3.10.1 简介
3.10.2 主要特性
3.10.3 功能描述
3.10.4 如何编程看门狗的超时时间
3.10.5 调试模式
3.10.6 寄存器描述
3.11 高级控制定时器
3.11.1 简介
3.11.2 主要特性
3.11.3 框图
3.11.4 功能描述
3.11.5 TIMI寄存器描述
3.12 通用定时器(TIMx)
3.12.1 简介
3.12.2 主要特性
3.12.3 框 图
3.12.4 功能描述
3.12.5 TIMx寄存器描述
3.13 控制器局域网(bxCAN)
3.13.1 简介
3.13.2 主要特性
3.13.3 总体描述
3.13.4 运行模式
3.13.5 功能描述
3.13.6 中断
3.13.7 寄存器访问保护
3.13.8 CAN寄存器描述
3.14 内部集成电路(I2C)接口
3.14.1 简介
3.14.2 主要特性
3.14.3 总体描述
3.14.4 功能描述
3.14.5 中断请求
3.14.6 I2C调试模式
3.14.1 I2C寄存器描述
3.15 串行外设接口(SPI)
3.15.1 简介
3.15.2 主要特性
3.15.3 功能描述
3.15.4 SPI寄存器描述
3.16 通用同步异步收发机(USART)
3.16.1 简介
3.16.2 主要特性
3.16.3 总体描述
3.16.4 中断请求
3.16.5 USART寄存器描述
3.17 USB全速设备接口
3.17.1 概述
3.17.2 主要特性
3.17.3 结构框图
3.17.4 功能描述
3.17.5 编程中需要考虑的问题
3.17.6 USB寄存器描述
3.18 模/数转换器(ADC)
3.18.1 概述
3.18.2 主要特性
3.18.3 引脚描述
3.18.4 功能描述
3.18.5 校准
3.18.6 数据对齐
3.18.7 基于通道的可编程的采样时间
3.18.8 外部触发转换
3.18.9 DMA请求
3.18.10 双ADC模式
3.18.11 温度传感器
3.18.12 中 断
3.18.13 ADC寄存器描述
3.19 调试支持(DBG)
3.19.1 概述
3.19.2 相关的ARM文档
3.19.3 SWJ调试端口(串行线和JTAG)
3.19.4 引脚分布和调试端口引脚
3.19.5 STM32F10x JTAG TAP连接
3.19.6 ID编码和锁定机制
3.19.7 JTAG调试端口
3.19.8 SW调试端口
第4章 STM32固件库
4.1 STM32固件库的定义规则
4.1.1 固件库命名规则
4.1.2 代码标准
4.2 STM32库的层次结构
4.2.1 固件包描述
4.2.2 固件库文件描述
4.3 STM32库的使用
第5章 STM32系列微控制器开发工具与应用
5.1 Keil MDK介绍
5.1.1 开发过程及集成开发环境简介
5.1.2 工程管理
5.1.3 编写源程序
5.1.4 编译程序
5.1.5 调试程序
5.2 IAR EWARM介绍
5.2.1 EWARM集成开发环境及配套仿真器
5.2.2 在EWARM中生成一个新项目
5.2.3 编译和链接应用程序
5.2.4 用J-LINK调试应用程序
5.3 STM32-SK仿真评估板
5.3.1 评估板规格说明
5.3.2 测试程序
5.3.3 关于仿真评估板的几个问题
5.4 STM32-DK开发板
5.4.1 开发板规格说明
5.4.2 开发板实例程序
5.4.3 关于ST ARM的常见问题
5.5 mx-Pro量产编程器使用简介
5.5.1 编程文件管理
5.5.2 芯片烧写
5.6 应用实例:基于STM32的数据采集器
5.6.1 硬件设计
5.6.2 软件设计
参考文献