《ARM Cortex-M3应用开发实例详解》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘波文编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121126109
  • 页数:484 页
图书介绍:本书系统深入地介绍了ARM Cortex-M3基础应用与综合开发的流程、方法和技巧。全书共计17章,第1、2章简要介绍了Cortex-M3架构及指令系统、ARM Real View MDK 开发环境;第3~13章结合实例详细介绍了I/O端口、A/D、D/A、LCD、数码管显示、SPI、I2C、USB、以太网控制器、NOR Flash、SD的开发原理和实际应用;第14~17章介绍了数据传输存储显示、永磁电机驱动控制、卡车辆智能终端导航及RFID+ZIBEE无线物联网技术4个综合开发项目。

第1章Cortex-M3及ST微处理器概述 1

1.1Cortex-M3处理器特点l 1

1.1.1高性能 1

1.1.2采用Thumb-2指令集具有更高的效率和性能 1

1.1.3先进的中断处理功能 2

1.1.4总线矩阵和接口的应用 2

1.1.5调试支持 3

1.1.6低成本低功耗、易于使用 3

1.2CortexM3内核结构 4

1.2.1Cortex-M3的基本结构 4

1.2.2寄存器组 4

1.2.3处理器工作模式和状态 8

1.2.4异常和中断 9

1.2.5向量表 9

1.2.6堆栈实现与双堆栈机制 10

1.3Cortex-M3的指令集 10

1.4STM32F系列微控制器简介 16

1.4.1STM32F微控制器的主要特点 16

1.4.2系统架构 16

1.4.3存储器组织 18

1.4.4STM32F处理器的启动配置 20

1.4.5STM32F微控制器的应用 21

第2章RealViewMDK开发工具 22

2.1RealViewMDK概述 22

2.2uVision4集成开发环境简介 26

2.3uVision4软件开发流程 27

2.3.1使用项目 28

2.3.2源文件 31

2.4uVison4编译器选项 32

2.5项目编译和生成 34

2.5.1编译项目 34

2.5.2项目生成 35

2.6对目标设备编程(Flash编程器) 35

2.6.1Flash编程器功能简介 35

2.6.2Flash编程器工具配置 36

2.7调试程序(Debug) 37

2.7.1uVision4调试器简介 37

2.7.2uVision4调试器的使用 38

2.8简易入门实例 40

2.8.1编辑HelloC 41

2.8.2编译、链接Hello例程 41

2.8.3测试程序 41

2.9工具集的使用技巧和窍门 42

2.9.1启动代码的图形化配置 42

2.9.2仿真IO端口 44

2.9.3仿真中断和时钟中断 44

2.9.4为PC的COM端口分配串行I/O 45

2.9.5向文件中写入调试输出信息 45

第3章I/O端口应用 46

3.1通用IO端口(GPIO)功能描述 46

3.1.1单独的位设置或位清除 47

3.1.2外部中断/唤醒线 47

3.1.3复用功能(AF) 47

3.1.4软件重新映射IO复用功能 48

3.1.5GPIO锁定机制 48

3.1.6输入配置 48

3.1.7输出配置 49

3.1.8复用功能配置 49

3.1.9模拟输入配置 50

3.1.10外设的GPIO配置 50

3.2GPIO相关寄存器描述 50

3.2.1端口配置低寄存器(GPIOxCRL)(x=AG) 50

3.2.2端口配置高寄存器(GPIOxCRH)(x=AG) 51

3.2.3端口输入数据寄存器(GPIOxIDR)(x=AG) 52

3.2.4端口输出数据寄存器(GPIOxODR)(x=AG) 52

3.2.5端口位设置/清除寄存器(GPIOxBSRR)(x=AG) 53

3.2.6端口位清除寄存器(GPIOxBRR)(x=AG) 53

3.2.7端口配置锁定寄存器(GPIOxLCKR)(x=AG) 54

3.3应用实例——按键控制驱动LED 54

3.3.1设计要求 55

3.3.2硬件电路设计 55

3.3.3应用程序流程图设计 56

3.3.4应用程序代码设计 56

3.3.5程序运行追踪 61

3.3.6实例注意事项总结 61

第4章A/D转换 62

4.1A/D转换器(ADC)介绍 62

4.1.1AD转换器功能描述 62

4.1.2校准 67

4.1.3数据对齐 67

4.1.4可编程的通道采样时间 68

4.1.5外部触发转换 68

4.1.6DMA请求 69

4.1.7双ADC模式 69

4.1.8ADC中断 70

4.2ADC相关寄存器设置及功能说明 70

4.2.1ADC状态寄存器(ADCSR) 70

4.2.2ADC控制寄存器1(ADCCR1) 71

4.2.3ADC控制寄存器2(ADCCR2) 72

4.2.4ADC采样时间寄存器1(ADCSMPR1) 74

4.2.5ADC采样时间寄存器2(ADCSMPR2) 75

4.2.6ADC注入通道数据偏移寄存器x(ADCJOFRx)(x=14) 75

4.2.7ADC看门狗高阈值寄存器(ADCHTR) 76

4.2.8ADC看门狗低阈值寄存器(ADCLRT) 76

4.2.9ADC规则序列寄存器1(ADCSQR1) 77

4.2.10ADC规则序列寄存器2(ADCSQR2) 77

4.2.11ADC规则序列寄存器3(ADCSQR3) 78

4.2.12ADC注入序列寄存器(ADCJSQR) 78

4.2.13ADC注入数据寄存器x(ADCJDRx)(x=14) 79

4.2.14ADC规则数据寄存器(ADCDR) 79

4.3应用实例——压力传感器A/D转换 80

4.3.1设计要求 80

4.3.2硬件电路设计 80

4.3.3硬件原理图及说明 81

4.3.4软件程序设计流程 83

4.3.5程序代码与注释 83

4.3.6程序运行追踪 90

4.3.7实例注意事项总结 91

第5章D/A转换 92

5.1DAC转换器介绍 92

5.1.1DAC转换器功能描述 92

5.1.2双DAC通道转换 97

5.2DAC相关寄存器功能说明 100

5.2.1DAC控制寄存器(DACCR) 100

5.2.2DAC软件触发寄存器(DACSWTRIGR) 103

5.2.3DAC通道1的12位右对齐数据保持寄存器(DACDHR12R1) 103

5.2.4DAC通道1的12位左对齐数据保持寄存器(DACDHR12L1) 103

5.2.5DAC通道1的8位右对齐数据保持寄存器(DACDHR8R1) 104

5.2.6DAC通道2的12位右对齐数据保持寄存器(DACDHR12R2) 104

5.2.7DAC通道2的12位左对齐数据保持寄存器(DACDHR12L2) 105

5.2.8DAC通道2的8位右对齐数据保持寄存器(DACDHR8R2) 105

5.2.9双DAC的12位右对齐数据保持寄存器(DACDHR12RD) 105

5.2.10双DAC的12位左对齐数据保持寄存器(DACDHR12LD) 106

5.2.11双DAC的8位右对齐数据保持寄存器(DACDHR8RD) 107

5.2.12DAC通道1数据输出寄存器(DACDOR1) 107

5.2.13DAC通道2数据输出寄存器(DACDOR2) 107

5.3DAC应用实例——产生三角波电压并输出 108

5.3.1硬件电路设计 108

5.3.2软件程序设计流程 108

5.3.3程序代码设计 109

5.3.4程序运行监测 112

5.3.5实例注意事项总结 112

第6章LCD/触摸屏接口 113

6.1LCD概述 113

6.1.1LCD工作原理 113

6.1.2LCD分类 113

6.1.3如何显示 114

6.1.4液晶显示模块的控制 115

6.2触摸屏概述 115

6.2.1电阻触摸屏工作原理 115

6.2.2触摸屏电路控制 116

6.3应用实例——LCD触摸屏显示 116

6.3.1设计要求 116

6.3.2硬件电路设计 117

6.3.3软件程序设计流程 124

6.3.4程序代码与注释 124

6.3.5程序运行追踪 132

6.3.6实例注意事项总结 132

第7章数码管显示接口应用 133

7.1数码管概述 133

7.1.1数码管工作原理 133

7.1.2如何驱动数码管 134

7.2应用实例——7段数码管驱动 135

7.2.1设计要求 135

7.2.2硬件电路设计 135

7.2.3数码管驱动程序流程图分析 137

7.2.4数码管驱动应用程序源代码设计 137

7.2.5程序运行实时监测 143

7.2.6实例注意事项总结 143

第8章SPI接口 144

8.1串行外设(SPI)接口介绍 144

8.1.1串行外设接口功能描述 144

8.1.2配置SPI为从模式 147

8.1.3配置SPI为主模式 148

8.1.4配置SPI为单工通信 148

8.1.5数据发送与接收过程 149

8.1.6CRC计算 152

8.1.7状态标志 153

8.1.8关闭SPI 153

8.1.9利用DMA的SPI通信 154

8.1.10错误标志 154

8.1.11SPI中断 155

8.2微处理器SPI接口相关寄存器功能说明 155

8.2.1SPI控制寄存器1(SPI_CR1) 155

8.2.2SPI控制寄存器2(SPI_CR2) 157

8.2.3SPI状态寄存(SPI_SR) 157

8.2.4SPI数据寄存器(SPI_DR) 158

8.2.5SPICRC多项式寄存器(SPI_CRCPR) 158

8.2.6SPIRxCRC寄存器(SPI_RXCRCR) 159

8.2.7SPITxCRC寄存器(SPI_TXCRCR) 159

8.3应用实例——利用SPI接口访问串行Flash 160

8.3.1设计要求 160

8.3.2硬件电路设计 160

8.3.3硬件电路原理图说明 167

8.3.4应用程序流程图及时序分析 167

8.3.5应用程序代码设计 168

8.3.6程序运行实时监测 171

8.3.7实例注意事项总结 171

第9章I2C接口 172

9.1I2C接口简介 172

9.1.1I2C接口功能描述 173

9.1.2I2C中断请求 181

9.1.3SMBus 182

9.1.4I2C调试模式 182

9.2微处理器I2C接口相关寄存器功能 183

9.2.1 I2C控制寄存器1(I2C_CR1) 183

9.2.2 I2C控制寄存器2(I2C_CR2) 184

9.2.3 I2C自身地址寄存器1(I2C_OARI) 185

9.2.4 I2C自身地址寄存器2(I2C_OAR2) 186

9.2.5 I2C数据寄存器(I2C_DR) 186

9.2.6 I2状态寄存器1(I2C_SRI) 187

9.2.7 I2C状态寄存器2(I2C_SR2) 189

9.2.8 I2C时钟控制寄存器(I2C_CCR) 190

9.2.9 I2CTRISE寄存器(I2C_TRISE) 190

9.3应用实例——实现温度传感器读写 191

9.3.1设计要求 191

9.3.2硬件电路设计 191

9.3.3温度传感器硬件原理图说明 195

9.3.4应用程序流程图分析 196

9.3.5应用程序代码设计 196

9.3.6程序运行实时追踪 199

9.3.7实例注意事项总结 199

第10章全速USB接口 200

10.1USB接口简介 200

10.1.1USB功能描述 200

10.1.2USB功能模块的组成 201

10.1.3USB接口编程中需要考虑的问题 202

10.2USB接口相关寄存器描述符说明 209

10.2.1通用寄存器 209

10.2.2端点寄存器 213

10.2.3缓冲区描述表 216

10.3应用实例——USB音频设备设计 218

10.3.1设计要求 218

10.3.2硬件电路设计 218

10.3.3硬件电路原理图说明 218

10.3.4USB音频设备编程介绍 220

10.3.5应用程序流程图分析 223

10.3.6应用程序代码设计 223

10.3.7程序运行实时追踪 233

10.3.8实例注意事项总结 233

第11章以太网控制器模块设计 234

11.1以太网接口介绍 234

11.1.1以太网模块主要功能 234

11.1.2以太网模块引脚和内部信号 236

11.1.3以太网模块功能描述:SMI、MIl和RMII 237

11.2以太网寄存器描述 242

11.2.1MAC寄存器描述 242

11.2.2MMC寄存器描述 254

11.2.3IEEE1588时间戳寄存器描述 259

11.2.4DMA寄存器描述 263

11.3应用实例——实现与收发器DP83848C的以太网通信 274

11.3.1设计要求 274

11.3.2硬件电路设计 274

11.3.3硬件电路原理设计 280

11.3.4应用程序流程图分析 282

11.3.5应用程序代码设计 283

11.3.7程序运行实时追踪 290

11.3.8实例注意事项总结 291

第12章NORFlash应用 292

12.1FSMC接口功能描述 292

12.1.1外部设备地址映像 293

12.1.2NOR和PSRAM地址映像 294

12.1.3NOR闪存和PSRAM的非对齐访问支持 294

12.1.4NAND和PC卡地址映像 294

12.2AHB总线接口简介 295

12.2.1支持的存储器和操作 295

12.2.2配置寄存器 296

12.3NOR闪存和PSRAM控制器 296

12.3.1外部存储器接口信号 296

12.3.2NOR闪存和PSRAM控制器支持的存储器类型及其操作方式 297

12.3.3NOR闪存和PSRAM控制器时序图 298

12.4NOR闪存和PSRAM控制器寄存器功能 305

12.4.1SRAM/NOR闪存片选控制寄存器1~4(FSMCBCR1~4) 305

12.4.2SRAM/NOR闪存片选时序寄存器1~4(FSMCBTR1~4) 307

12.4.3SRAM/NOR闪存写时序寄存器1~4(FSMCBWTRI~4) 308

12.5应用实例——实现存储器M29W128FL读/写 310

12.5.1硬件设计 310

12.5.2硬件电路原理图说明 321

12.5.3应用程序流程图 321

12.5.4NOR闪存应用程序代码设计 322

12.5.5调试程序及程序运行实时追踪 326

12.5.6实例注意事项总结 326

第13章SD/MMC应用 327

13.1SDIO接口概述 327

13.1.1SDIO的主要功能 327

13.1.2SDIO总线拓扑 327

13.2SDIO接口功能描述 328

13.2.1SDIO适配器 329

13.2.2SDIOAHB接口 335

13.3SDIO接口卡介绍 337

13.3.1卡状态寄存器 337

13.3.2SD状态寄存器 339

13.3.3SD的I/O功能模式 341

13.3.4命令集简介 342

13.3.5命令响应格式简介 344

13.4SDIO接口寄存器功能描述 347

13.4.1SDIO电源控制寄存器(SDIO_POWER) 347

13.4.2SDIO时钟控制寄存器(SDIO_CLKCR) 348

13.4.3SDIO参数寄存器(SDIO_ARG) 348

13.4.4SDIO命令寄存器(SDIO_CMD) 349

13.4.5SDIO命令响应寄存器(SDIO_RESPCMD) 350

13.4.6SDIO响应14寄存器(SDIO_RESPx) 350

13.4.7SDIO数据定时器寄存器(SDIO_DTIMER) 351

13.4.8SDIO数据长度寄存器(SDIO_DLEN) 351

13.4.9SDIO数据控制寄存器(SDIO_DCTRL) 352

13.4.10SDIO数据计数器寄存器(SDIO_DCOUNT) 353

13.4.11SDIO状态寄存器(SDIO_STA) 353

13.4.12SDIO清除中断寄存器(SDIO_ICR) 354

13.4.13SDIO中断屏蔽寄存器(SDIOMASK) 356

13.4.14SDIOFIFO计数器寄存器(SDIOFIFOCNT) 357

13.4.15SDIOFIFO数据寄存器(SDIOFIFO) 358

13.5应用实例——实现SD/MMC存储卡的读/写 358

13.5.1设计要求 358

13.5.2硬件电路设计 359

13.5.3硬件电路原理图说明 360

13.5.4应用程序流程图分析 360

13.5.5应用程序代码设计 361

13.5.6程序运行实时追踪 367

13.5.7实例注意事项总结 367

第14章无线数据传输综合应用项目 368

14.1嵌入式图形用户界面uC/GUI移植 368

14.2无线数据传输应用实例 370

14.2.1设计要求 370

14.2.2主要器件介绍 371

14.2.3芯片nRF24L01增强型ShockBurst模式配置与编程 379

14.2.4硬件电路设计 379

14.2.5应用程序设计流程图 380

14.2.6程序代码设计 381

14.3实例注意事项总结 390

第15章永磁同步电机控制综合应用项目 392

15.1永磁同步电机概述 392

15.1.1永磁同步电机的工作原理 392

15.1.2电机伺服系统的基本结构 393

15.1.3功率驱动控制单元 394

15.1.4磁场定向控制(FOC) 394

15.2永磁同步电机控制应用实例设计 397

15.2.1设计要求 398

15.2.2硬件电路设计 399

15.2.3应用程序设计流程图 403

15.2.4程序代码设计 404

15.3程序运行实时追踪 418

15.4实例注意事项总结 418

第16章车载GPS移动导航应用项目 419

16.1GPS系统概述 419

16.1.1GPS系统工作原理 420

16.1.2GPS数据格式 420

16.2车载GPS移动导航应用实例 424

16.2.1设计要求 424

16.2.2硬件电路设计 425

16.2.3应用程序设计流程图 425

16.2.4软件代码设计 425

16.3实例注意事项总结 446

第17章RFID+GPRS基于物联网技术的综合应用 447

17.1uC/OS-11概述 447

17.1.1utC/OS-ll简介 447

17.1.2uC/OS-1Ⅱ的特点 448

17.2uC/OS-II内核介绍 448

17.2.1uC/OS-Ⅱ内核结构 449

17.2.2任务管理 456

17.2.3时间管理 457

17.2.4任务之间的通信与同步 458

17.2.5内存管理 459

17.3uC/OS-II移植 460

17.3.1uC/OS-11文件体系结构 460

17.3.2移植uC/OS-II满足的条件 461

17.3.3移植要点 461

17.4综合实例——RFID+GPRS基于物联网技术的应用 464

17.4.1硬件电路设计 464

17.4.2uC/OS-Ⅱ软件设计 467

17.4.3程序运行实例说明 481

17.5实例注意事项总结 483