第1章 嵌入式系统概述 1
1.1嵌入式系统的定义 3
1.1.1嵌入式系统的定义 3
1.1.2嵌入式系统的结构与组成 4
1.1.3嵌入式系统的发展与趋势 5
1.2 ARM公司与ARM处理器 6
1.2.1英国ARM公司 6
1.2.2 ARM微处理器 7
1.2.3 ARM典型微处理器简介 10
1.3思考与练习 13
1.4课外阅读 13
第2章 ARM Cortex-M3微处理器 14
2.1 ARM Cortex-M3概述 14
2.1.1 ARM的Cortex-M3核心内嵌闪存和SRAM 16
2.1.2内置闪存存储器 18
2.1.3 CRC(循环冗余校验)计算单元 18
2.1.4内置SRAM 19
2.1.5 FSMC(可配置的静态存储器控制器) 19
2.1.6 LCD并行接口 19
2.1.7嵌套的向量式中断控制器(NVIC) 19
2.1.8外部中断/事件控制器(EXTI) 19
2.1.9时钟和启动 20
2.1.10自举模式 21
2.1.11供电方案 21
2.1.12供电监控器 21
2.1.13电压调压器 21
2.1.14低功耗模式 22
2.1.15 DMA 22
2.1.16 RTC(实时时钟)和后备寄存器 22
2.1.17定时器和看门狗 23
2.1.18 I2C总线 24
2.1.19通用同步/异步收发器(USART) 24
2.1.20串行外设接口(SPI) 25
2.1.21 I2S(芯片互联音频)接口 25
2.1.22 SDIO 25
2.1.23控制器区域网络(CAN) 25
2.1.24通用串行总线(USB) 25
2.1.25通用输入/输出接口(GPIO) 26
2.1.26 ADC(模拟/数字信号转换器) 26
2.1.27 DAC(数字/模拟信号转换器) 26
2.1.28温度传感器 26
2.1.29串行单线JTAG调试口(SWJ-DP) 26
2.1.30内嵌跟踪模块(ETM) 27
2.2 STM32F103xx引脚定义 27
2.2.1引脚分布图 27
2.2.2 STM32F103xx引脚定义 27
2.3存储器映像 29
2.4 I/O端口静态特性 31
2.5订货代码 32
2.6思考与练习 33
第3章 ARM Cortex-M3开发工具和环境 34
3.1软件开发环境 34
3.1.1 RealView MDK的安装 34
3.1.2 STM32下载编程软件Flash Loader的安装 36
3.1.3 STM32硬件仿真器驱动程序的安装 36
3.1.4 USB转串口驱动的安装 37
3.1.5蓝牙硬件和软件的安装 43
3.2 STM32实验板 44
3.2.1 STM32最小系统板 44
3.2.2 Nucleo实验板 44
3.2.3 AS-07型STM32实验板 46
3.2.4 ST官方STM3210E-EVAL评估板 52
3.3 ST的库函数 53
3.3.1 ST的库函数的版本 53
3.3.2 ST的V2.0.1库函数 53
3.3.3 ST的V2.0.1库函数的工程模板和范例程序 54
3.3.4 ST的V2.0.3库函数 60
3.3.5 ST的V2.0.3库函数的工程模板和范例程序 60
3.3.6 ST的V3.0.0库函数 60
3.3.7 ST的V3.0.0库函数的工程模板和范例程序 61
3.3.8 ST的V3.5.0库函数 62
3.3.9 ST的V3.5.0库函数的工程模板和范例程序 62
3.4思考与练习 63
第4章 STM32基础入门 64
4.1 GPIO的结构及编程应用 64
4.1.1 GPIO概述 64
4.1.2 GPIO寄存器 65
4.1.3 GPIO库函数 69
4.1.4复用功能I/O(AFIO)和调试配置 71
4.1.5 AFIO寄存器 72
4.1.6 GPIO编程应用 73
4.2 STM32的实验过程 86
4.2.1新建工程 86
4.2.2编写源程序并添加到该工程中 93
4.2.3编译、链接、调试源程序 98
4.2.4仿真、调试程序,下载并运行验证程序 104
4.2.5使用ST库函数范例和工程模板编程应用 117
4.3 STM32的复位与时钟 117
4.3.1 STM32的复位 117
4.3.2 STM32的时钟 117
4.3.3 RCC寄存器 119
4.3.4 RCC库函数 124
4.3.5 RCC编程应用 126
4.4 STM32的中断和事件 137
4.4.1嵌套向量中断控制器 137
4.4.2外部中断/事件控制器(EXTI) 140
4.4.3 NVIC和EXTI库函数 140
4.4.4中断编程应用 145
4.5 STM32的串口通信USART 158
4.5.1 USART概述 159
4.5.2 USART寄存器 160
4.5.3 USART库函数 161
4.5.4 USART编程应用 162
4.6思考与练习 166