《ARM Cortex M4嵌入式实战开发精解 基于STM32F4》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:廖义奎编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2013
  • ISBN:7512411555
  • 页数:489 页
图书介绍:

第1章 ARM Cortex-M4内核 1

1.1数字信号控制器(DSC ) 1

1.2 Coretx-M4处理器 4

1.3从Cortex-M3到Cortex-M4 6

1.4常见ARM Cortex-M4处理器 8

1.4.1飞思卡尔的Kinetis系列 8

1.4.2 NXP的LPC4300系列 10

1.4.3 ST公司的STM32F4系列 10

1.4.4 TI的LM4Fx系列 12

1.4.5 Atmel的SAM4系列 12

第2章 STM32F4系统架构 13

2.1 STM32F407xx系列 13

2.2 STM32F4总线架构 14

2.2.1 STM32F4总线特点 14

2.2.2 STM32F1和STM32F4系列AHB/APB桥时钟差异 15

2.3存储器组织 18

2.3.1嵌入式SRAM 18

2.3.2位操作 18

2.3.3备份SRAM 19

2.4 STM32F4物理重新映射 19

2.5系统配置控制器 24

第3章 STM32F4电路设计 27

3.1 STM32F1与STM32F4之间的兼容性设计 27

3.2 STM32F407最小系统设计 31

3.2.1最小系统电路设计 31

3.2.2电源电路设计 31

3.2.3按键与LED电路设计 36

3.2.4时钟、复位、引导配置以及 SWD接口电路设计 39

3.3通信接口电路设计 43

3.3.1 RS232接口 43

3.3.2 CAN与RS485接口 44

3.3.3 USB接口 45

3.4 ADC与DAC接口 46

3.5 LCD及SDIO接口 46

3.6 SDIO接口 47

3.7图像传感器及接口 48

3.8以太网接口 49

3.9引脚安排说明 51

3.10本书配套开发板 52

第4章 STM32F4程序设计入门 54

4.1 Keil环境下的第一个STM32F407程序 54

4.1.1创建一个Keil新项目 54

4.1.2添加主程序 54

4.1.3配置Flash Download 57

4.1.4在RealView MDK中调试程序 60

4.2第一个基于GCC的STM32F407程序 61

4.2.1软件环境 61

4.2.2编写STM32的C语言程序 64

4.2.3使用GCC编译STM32程序 67

4.2.4在Obtain_ Studio中编译Hello World程序 69

4.2.5使用C+++开发STM32F4程序 69

第5章 STM32F4标准外设库应用 72

5.1 STM32F4标准外设库 72

5.1.1 STM32F4标准外设库结构 72

5.1.2 ARM Cortex微控制器软件接口标准CMSIS 73

5.1.3 STM32F4标准外设库的驱动程序结构 81

5.1.4 STM32F4外设库文件 82

5.2 STM32F标准外设库使用规则 88

5.3在RealView MDK中使用STM32F4外设库 90

5.4在GCC中应用STM32F4外设库 92

5.4.1 STM32F4外设库GCC项目模板 92

5.4.2 Obtain_ Studio集成开发系统常用技巧 98

第6章 STM32F4 FPU单元及浮点数运算 102

6.1 Cortex-M4 FPU单元 102

6.1.1概述 102

6.1.2 Cortex-M4 FPU的功能 106

6.2 Cortex-M4 VFP指令 108

6.2.1 Cortex-M4 VFP指令集 108

6.2.2 Cortex-M4 FPU寄存器 109

6.2.3 Cortex-M4 FPU编程模型 113

6.3 STM32F4浮点运算测试 113

6.3.1编译器设置 113

6.3.2 STM32F4浮点运算测试 116

6.3.3使用STM32F4标准库的浮点运算测试 118

第7章 STM32F4 DSP指令及DSP库 119

7.1 ARM DSP技术 119

7.1.1概述 119

7.1.2 Cortex-M4 DSP单元 121

7.2 Cortex-M4的DSP指令 122

7.3 STM32F4 DSP库 123

7.4三角函数的应用实例 129

7.5 FIR滤波函数的应用实例 132

7.5.1 FIR滤波函数结构 132

7.5.2 STM32F4中实现FIR低通滤波器实例 134

7.6快速傅立叶变换函数的应用实例 140

7.6.1 STM32F4 DSP库的CFFT实现 140

7.6.2 CFFT测试实例 144

第8章 STM32F4启动与复位 147

8.1 STM32F4启动原理 147

8.2 STM32F4复位 149

8.2.1系统复位 150

8.2.2电源复位 150

8.2.3备份域复位 151

8.3 STM32F4软件复位 151

8.3.1概述 151

8.3.2软件复位实例 153

第9章 STM32F4 PWR电源管理 155

9.1 PWR电源管理 155

9.1.1内部电源结构 155

9.1.2独立ADC的电源和参考电压 155

9.1.3电池备份域 155

9.1.4内部稳压器 157

9.2 STM32F4 PWR单元的管理与编程 157

9.2.1 STM32F4 PWR备份域 157

9.2.2 STM32F4 PWR低功耗模式 159

9.2.3 STM32F4 PWR低功耗模式的实现 161

第10章 STM32F4 CCM核心耦合存储器 164

10.1 CCM核心耦合存储器 164

10.2 CCM作为高速运算缓冲使用 165

10.2.1直接使用CCM 165

10.2.2通过定义CCM数据段来使用CCM内存 167

10.3 CCM作为堆栈使用 168

第11章 STM32F4 RCC及系统时钟配置 171

11.1系统时钟配置 171

11.1.1系统时钟配置方法 171

11.1.2采用STM32F4xx-Clock_Configuration程序进行时钟配置 178

11.2 STM32F4 RCC 179

11.2.1 STM32F4时钟树 179

11.2.2 F4与F1系列RCC主要区别 181

11.2.3 RCC PLL配置寄存器与RCC时钟配置寄存器 185

11.3其他外设的时钟配置方法 190

第12章 STM32F4 GPIO及应用 193

12.1 STM32F4 GPIO的结构与特点 193

12.1.1 GPIO 193

12.1.2 I/O引脚多路复用器和映射 194

12.2 STM32F1和STM32F4系列GPIO的差异 198

12.2.1 IP总线之间的映射差异 198

12.2.2 GPIO结构上的差异 200

12.2.3 GPIO性能上的差异 201

12.2.4 GPIO编程上的差异 202

12.3 STM32F4 GPIO测试程序 205

12.3.1创建STM32F4- KEY_ LED项目 205

12.3.2 STM32F4 KEY_ LED项目程序分析 207

12.4 STM32F4外设库应用程序分析 210

第13章 STM32F4 NVIC及中断管理 219

13.1 STM32F4中断控制器 219

13.1.1嵌套矢量中断控制器(NVIC) 219

13.1.2 AAPCS及函数调用过程 220

13.1.3 Cortex-M中断响应过程 222

13.2 STM32F4中断管理 225

13.2.1 STM32F4中断向量 225

13.2.2 STM32F4用户程序中断向量表 229

13.3 STM32F4中断向量配置方法 239

13.3.1 NVIC嵌套中断向量控制器 239

13.3.2深入了解STM32F4的NVIC优先级 243

第14章 STM32F4 SysTick定时器 247

14.1 Cortex-M SysTick定时器 247

14.1.1 SysTick定时器 247

14.1.2 SysTick库函数 248

14.1.3 SysTick的设置 249

14.2 SysTick测试程序 250

14.3 SysTick程序分析 253

第15章 STM32F4 EXTI外部中断 257

15.1 STM32F4外部中断 257

15.2 STM32F4外部中断实例 259

15.3 STM32F4中断配置 262

15.3.1 STM32F4外部中断程序分析 262

15.3.2中断通道配置 263

15.3.3中断优先级配置 264

15.3.4外部中断模式配置 264

15.3.5外部中断响应函数配置 268

第16章 STM32F4 USART通信 271

16.1 STM32F4的USART接口 271

16.1.1概述 271

16.1.2 USART波特率的计算方法 274

16.1.3发送器 275

16.1.4接收器 277

16.2 USART通用串口程序设计 279

16.2.1 USART标准库函数 279

16.2.2 USART数据发送与接收程序设计 282

16.2.3中断方式的数据接收程序设计 284

16.3 USART通用串口C++程序设计 287

16.3.1 USART数据发送C+++程序设计 287

16.3.2 USART数据接收C+++程序设计 288

16.4中断方式的数据接收 290

16.4.1中断方式的数据接收C+++程序设计 290

16.4.2多个串口驱动对象的协调工作 291

16.5 USART C++驱动程序的设计 293

16.5.1 USART驱动程序 293

16.5.2 printf与cout的实现 295

第17章 FSMC接口及LCD屏控制 298

17.1 STM32F4新增的FSMC接口 298

17.1.1 STM32F1与STM32F4的FSMC接口比较 298

17.1.2 AHB接口 299

17.1.3外部设备地址映像 300

17.1.4 NOR和PSRAM地址映像 301

17.1.5 NAND和PC卡地址映像 302

17.1.6 NOR闪存和PSRAM控制器 303

17.2 LCD驱动芯片 304

17.2.1 LCD接口 304

17.2.2 Ili9xx系列TFT驱动芯片 305

17.3基于FSMC的TFT驱动程序设计 309

17.3.1 FSMC与TFT端口连接及端口映射 309

17.3.2 FSMC与TFT的内存空间映射及操作 311

17.3.3 FSMC初始化 313

17.3.4 TFT屏初始化 318

17.3.5 TFT驱动程序统一接口函数的实现 322

17.4 FSMC接口驱动TFT屏的测试程序 325

第18章 STM32F4触摸屏控制 327

18.1触摸屏概述 327

18.2触摸屏驱动IC 329

18.3触摸屏测试程序 332

18.4触摸屏驱动程序分析 334

18.5触摸屏校准 341

18.5.1触摸屏校准算法 341

18.5.2触摸屏校准的实现 344

第19章 STM32F4 RTC实时时钟及日历功能 348

19.1 STM32F4实时时钟(RTC) 348

19.1.1概述 348

19.1.2 STM32F4与STM32F1在RTC上的区别 348

19.1.3 STM32F4实时时钟结构 350

19.2日历功能测试程序 351

19.2.1日历功能测试程序 352

19.2.2日历时钟源 353

19.2.3日历配置 356

19.2.4日历值的写入与读取 360

第20章 STM32F4定时器 363

20.1 STM32F4定时器的种类 363

20.1.1 SysTick定时器 363

20.1.2 RTC定时器 364

20.1.3通用定时器(TIM2~TIM5) 364

20.1.4通用定时器(TIM9~TIM14) 365

20.1.5基本定时器(TIM6、 TIM7) 365

20.1.6高级控制定时器(TIM1及TIM8) 366

20.1.7独立看门狗(IWDG) 366

20.1.8窗口看门狗(WWDG) 367

20.2 STM32F4通用定时器计数模式 368

20.2.1时基单元 368

20.2.2计数器模式——向上计数模式 368

20.2.3计数器模式——向下计数模式 369

20.2.4计数器模式——中心对齐模式(向上/向下计数) 369

20.3 STM32F4通用定时器基本应用 370

20.4通用定时器工作模式 374

20.4.1通用定时器常用工作模式 374

20.4.2 STM32F4通用定时器模式举例 376

第21章 STM32F4 ADC应用 381

21.1 STM32F4 ADC模块 381

21.1.1 STM32F4 ADC 381

21.1.2 STM32F4和STM32F1的ADC差异 382

21.1.3 STM32F4的ADC固件库函数 385

21.2 STM32 ADC测试实例 387

21.2.1 STM32 ADC测试程序代码 387

21.2.2 STM32 ADC程序分析 389

第22章 STM32F4 DMA应用 397

22.1 STM32F4 DMA 397

22.1.1 STM32F4 DMA概述 397

22.1.2 STM32F1和STM32F4之间的DMA差异 399

22.1.3 STM32F4的DMA库函数 404

22.2 DMA在ADC中的应用 406

22.2.1任务转移策略之DMA ADC应用实例 406

22.2.2 DMA ADC程序分析 408

22.3 DMA在USART中的应用 414

22.3.1任务转移策略之USART DMA数据发送 414

22.3.2任务转移策略之USART DMA数据接收 418

22.3.3任务队列策略之USART DMA发送中断应用 421

22.3.4任务循环策略之USART DMA接收中断应用 425

第23章 STM32F4以太网接口及应用 428

23.1 STM32F4以太网接口特点 428

23.2 LwIP 432

23.2.1 LwIP概述 432

23.2.2 LwIP主要模块 433

23.2.3 LwIP TCP协议工作过程 443

23.2.4 LwIP UDP协议工作过程 444

23.3 LwIP的移植 445

23.3.1 LwIP下载 445

23.3.2 LwIP网络设备驱动程序文件 446

23.3.3 STM32F407以太网接口初始化 448

23.4 LwIP协议栈的 httpserver测试程序 457

23.5 LwIP协议栈的udp_echo_client测试程序 460

第24章 STM32F4 DCMI视频接口及应用 465

24.1 STM32F4新增的DCMI数码相机接口 465

24.1.1概述 465

24.1.2 DMA的接口 466

24.1.3 DCMI固件库函数 468

24.2 OV7670摄像头 469

24.3 CMOS摄像头测试程序 470

24.4 CMOS摄像头驱动程序原理 472

24.4.1 SCCB协议 472

24.4.2 SCCB协议驱动程序设计 475

24.4.3 CMOS摄像头驱动程序设计 479

24.4.4 DCMI驱动程序设计 484

参考文献 489