《STM32F207高性能网络型MCU嵌入式系统设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:廖义奎编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2012
  • ISBN:9787512409217
  • 页数:482 页
图书介绍:本书介绍了意法半导体于2011年下半年开始量产的STM32F2系列处理器的特点与应用,STM32F2系列处理器具有120MHz高速运行时可达到150DMIPS的处理能力,新增了日历、FSMC LCD接口、ETH以太网接口、DCMI视频接口等功能模块。本书共16章,分别讲解新型ARM Cortex处理器概述、从STM32F1到STM32F2的硬件兼容性设计、从STM32F1到STM32F2的程序设计、STM32F2固件库的使用、STM32F2的启动原理及时钟控制、STM32F2新增的FSMC接口及LCD屏控制、STM32F2新增的日历功能及应用、STM32F2中断及SysTick应用、STM32F2增强的闹钟时间戳与篡改检测、STM32F2增强的定时器、STM32F2新增的ETH以太网接口及lwIP应用、STM32F2新增的DCMI视频接口及应用、STM32F2增强的USART接口与应用、STM32F2增强的ADC模块及应用、一步一步设计自己的嵌入式操作系统、步一步设计自己的嵌入式GUI库。

第1章ARM Cortex处理器概述 1

1.1 ARM处理器分类 1

1.2 ARM Cortex处理器 2

1.3 Cirtex-M0处理器 3

1.3.1概述 3

1.3.2 NUC100系列处理器 4

1.3.3 NXP Cortex-M0处理器 5

1.4 Cortex-M1处理器 7

1.4.1概述 7

1.4.2 Cortex-M1应用 8

1.5 Coretx-M3处理器 9

1.5.1概述 9

1.5.2 AT91SAM3U系列处理器 10

1.5.3 LPC1800系列处理器 11

1.6 Coretx-M4处理器 13

1.6.1概述 13

1.6.2 Kinetis系列处理器 14

1.6.3 LPC4300系列处理器 16

1.6.4 STM32F4系列处理器 19

1.7 Cortex-A8处理器 21

1.8 Cortex-A9处理器 21

1.9 Cortex-A15处理器 24

1.9.1 Cortex-A15内核简介 24

1.9.2 OMAP 5处理器 25

第2章从STM32F1到STM32F2的硬件兼容性设计 29

2.1 STM32F1及STM32F2系列处理器 29

2.1.1 STM32F1系列处理器 29

2.1.2 STM32F2系列处理器 30

2.1.3 STM32F1与STM32F2的区别 33

2.2 STM32F1与STM32F2之间的兼容性设计 34

2.3 STM32F207最小系统设计 37

2.3.1最小系统电路设计 37

2.3.2电源电路设计 42

2.3.3按键与LED电路设计 47

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

2.3.5通信接口电路设计 53

2.3.6其他外设电路设计 60

2.4图像传感器及接口 62

2.4.1图像传感器 62

2.4.2 OV7670摄像头 63

2.4.3 CMOS摄像头接口 65

2.5以太网接口 66

2.5.1 STM32F2以太网模块介绍 66

2.5.2 SMI、MII和RMII接口 66

2.5.3 STM32F207以太网接口电路设计 71

2.6引脚安排汇总 73

第3章从STM32F1到STM32F2的程序设计 78

3.1从STM32F1到STM32F2 78

3.1.1 STM32F1与STM32F2在开发工具版本上的差别 78

3.1.2 STM32F1与STM32F2系列的IP总线之间的映射差异 78

3.1.3 STM32F1和STM32F2 AHB/APB桥时钟差异 81

3.1.4 STM32F1和STM32F2在寄存器上的差别 84

3.1.5 STM32F1和STM32F2在GPIO上的差异 86

3.2基于Keil的第一个STM32F207程序 89

3.2.1创建一个Keil新项目 89

3.2.2添加主程序 92

3.2.3配置Flash Download 93

3.2.4在RealView MDK中调试程序 94

3.2.5与STM32F1的比较 95

3.3第一个基于GCC的STM32F207程序 98

3.3.1软件环境 98

3.3.2编写STM32的C语言程序 100

3.3.3用GCC编译STM32程序 104

3.3.4在Obtain_ Studio中编译Hello World程序 105

3.4使用C++开发STM32F2程序 106

3.5位操作方式 107

第4章STM32F2固件库的使用 110

4.1 STM32F2xx标准外设库 110

4.1.1 STM32F2xx标准外设库结构 110

4.1.2如何使用标准外设库 121

4.2在RealView MDK中使用STM32固件库 123

4.2.1 STM32固件库应用 123

4.2.2 STM32固件库应用程序分析 125

4.3在GCC中应用STM32固件库 133

4.3.1 STM32F2固件库GCC项目模板 133

4.3.2 Obtain_ Studio集成开发系统常用技巧 137

第5章STM32F2的启动原理及时钟控制 141

5.1 STM32F2启动原理 141

5.1.1 STM32F2启动过程分析 141

5.1.2 STM32F2物理重新映射 143

5.1.3 STM32软件复位与功耗控制 144

5.2 STM32F2时钟控制(RCC) 147

5.2.1 STM32F2时钟树 147

5.2.2 F2与F1系列RCC主要区别 149

5.2.3 RCC PLL配置寄存器与RCC时钟配置寄存器 153

5.2.4采用STM32F2xx-RevA-Z Clock Configuration进行时钟配置 159

5.3 RCC的应用 159

5.3.1 RCC的配置方法 159

5.3.2 STM32F2固件库中的时钟初始化的实现 161

5.3.3在主程序中调用STM32F2固件库时钟初始化函数 164

5.4系统配置控制器(SYSCFG) 165

第6章STM32F2新增的FSMC接口及LCD屏控制 169

6.1 STM32F2新增的FSMC接口 169

6.1.1 STM32F1与STM32F2的FSMC接口比较 169

6.1.2 AHB总线接口 171

6.2 LCD驱动芯片 171

6.2.1 LCD接口 171

6.2.2 Ili9xxx系列TFT驱动芯片 172

6.3基于FSMC的TFT驱动程序设计 177

6.3.1 FSMC与TFT端口连接与端口映射 177

6.3.2 FSMC与TFT的内存空间映射与操作 179

6.3.3 FSMC初始化 182

6.3.4 TFT初始化 187

6.3.5 TFT基本显示函数的实现 190

第7章STM32F2新增的日历功能及应用 195

7.1 STM32F2实时时钟 195

7.1.1 RTC简介 195

7.1.2 STM32F2与STM32F1在RTC上的区别 195

7.1.3 STM32F2实时时钟结构 196

7.1.4 STM32F2实时时钟固件库 197

7.2日历功能测试程序 200

7.2.1日历功能测试程序 200

7.2.2日历时钟源 201

7.2.3日历配置 204

7.2.4日历值的写入与读取 209

第8章STM32F2中断及SysTick应用 213

8.1 STM32F2中断 213

8.2 STM32F2用户程序中断向量表 216

8.3 SysTick时钟及中断处理 226

8.3.1关于SysTick 226

8.3.2 SysTick测试程序 228

8.3.3 SysTick程序分析 230

8.4 STM32F2中断向量管理器 234

8.4.1 NVIC嵌套中断向量控制器 234

8.4.2深入了解STM32F2的NVIC优先级 238

第9章STM32F2增强的闹钟、时间戳与篡改检测 242

9.1 STM32F2闹钟功能 242

9.1.1概述 242

9.1.2闹钟测试程序的实现 247

9.2 STM32F2唤醒功能 251

9.2.1 STM32F2定期唤醒定时器 251

9.2.2唤醒功能测试程序 255

9.3时间戳功能 257

9.3.1概述 257

9.3.2时间戳测试程序 259

9.4 STM32F2与STM32F1在备份寄存器上的区别 263

9.5篡改检测 264

9.5.1概述 264

9.5.2备份寄存器与篡改检测测试程序 265

9.6 STM32F2 RTC的数字校准 269

第10章STM32F2增强的定时器 272

10.1 STM32F2定时器的种类 272

10.1.1 SysTick定时器 272

10.1.2 RTC定时器 272

10.1.3通用定时器(TIM2~TIM5) 273

10.1.4通用定时器(TIM9~TIM14) 273

10.1.5基本定时器(TIM6、TIM7) 274

10.1.6高级控制定时器(TIM1及TIM8) 274

10.1.7独立看门狗 275

10.1.8窗口看门狗 276

10.2 STM32F2通用定时器计数模式 277

10.2.1时基单元 277

10.2.2计数器模式-向上计数模式 277

10.2.3计数器模式-向下计数模式 278

10.2.4计数器模式-中心对齐模式(向上/向下计数) 278

10.3 STM32F2通用定时器基本应用 279

10.4通用定时器工作模式 283

10.4.1概述 283

10.4.2 STM32F2通用定时器模式举例 285

第11章STM32F2新增的ETH以太网接口及LwIP应用 289

11.1 STM32F2与STM32F1以太网模块的差异 289

11.2 LwIP 292

11.2.1概述 292

11.2.2 LwIP主要模块 292

11.2.3 LwIP TCP协议工作过程 302

11.2.4 LwIP UDP协议工作过程 303

11.3 LwIP的移植 305

11.3.1 LwIP下载 305

11.3.2 LwIP网络设备驱动程序文件ethernetif…c 306

11.3.3 STM32F207以太网接口初始化 307

11.4 LwIP协议栈的httpserver测试程序 317

11.5 LwIP协议栈的udp_echo_client测试程序 319

第12章STM32F2新增的DCMI数码相机接口及应用 325

12.1 STM32F2新增的DCMI数码相机接口 325

12.1.1概述 325

12.1.2 DCMI的接口 326

12.1.3 DCMI固件库函数 327

12.2 OV7670摄像头 329

12.2.1概述 329

12.2.2 OV7670工作原理 331

12.3 CMOS摄像头测试程序 332

12.4深入CMOS摄像头驱动程序原理 335

12.4.1 SCCB协议 335

12.4.2 SCCB协议驱动程序设计 337

12.4.3 CMOS摄像头驱动程序设计 341

第13章STM32F2增强的USART接口与应用 352

13.1 STM32F2的USART接口 352

13.1.1概述 352

13.1.2 USART波特率的计算方法 354

13.1.3发送器 356

13.1.4接收器 358

13.2 USART通用串口程序设计 360

13.2.1 USART固件库函数 360

13.2.2 USART数据发送与接收程序设计 362

13.2.3中断方式的数据接收程序设计 365

13.2.4在LCD屏幕上显示USART收发数据接 368

第14章STM32F2增强的ADC模块及应用 370

14.1 STM32F2增强的ADC模块 370

14.1.1概述 370

14.1.2 STM32F2和STM32F1的ADC差异 371

14.1.3 STM32F2的ADC固件库函数 374

14.2 STM32 ADC测试程序 378

14.3 STM32 ADC程序分析 380

第15章 一步一步设计自已的嵌入式操作系统 392

15.1嵌入式操作系统 392

15.1.1概述 392

15.1.2实时操作系统 392

15.1.3常见的嵌入式操作系统 393

15.2自己设计一个简单的实时系统 398

15.2.1操作系统最核心的任务切换 398

15.2.2实时任务切换基础 403

15.2.3最简单的操作系统 411

15.2.4最简单操作系统原理分析 413

15.2.5为操作系统加上任务休眠功能 419

15.2.6任务调度策略 422

15.2.7内存分配技术 426

15.2.8任务的同步 430

15.2.9任务间通信 431

15.3 C++实时开源操作系统scmRTOS 432

15.3.1概述 432

15.3.2 scmRTOS测试程序 435

15.3.3把scmRTOS应用于前面章节的例子之中 442

第16章 一步一步设计自己的嵌入式GUI库 445

16.1嵌入式GUI 445

16.1.1概述 445

16.1.2常见的嵌入式GUI 446

16.2嵌入式GUI设计基础 449

16.3嵌入式GUI设计实例 451

16.3.1最简单的窗口程序 451

16.3.2嵌入式GUI的仿真 453

16.3.3带消息处理的GUI测试程序 456

16.3.4在main函数里处理消息的方式 458

16.4控件应用程序 459

16.4.1窗口的控件 459

16.4.2控件应用程序设计 461

16.5智能手机桌面风格的应用程序 465

16.6嵌入式GUI底层的设计 469

参考文献 482