本书以新唐公司的numicrom451系列微控制器为蓝本,由浅入深,并结合smartmGm451迷你开发板系统地介绍了armcortexGm4内核的原理与结构、开发环境的使用和各种功能器件的应用.
本书还介绍了驱动tft屏的方法、触摸控制、sd 卡数据读写、fat 文件系统的移植、触摸按键、μcos的移植与应用、μcgui的移植与应用及智能家居中常用的无线串口模组的使用等.此外,配套的资料提供了各章节的实例代码(可在北京航空航天大学出版社网站www.buaapress.com.cn的“下载专区”相关页面下载),可使读者在短时间内迅速掌握numicrom451系列微控制器的应用技巧,并可向读者提供配套开发板.
本书既可以作为本、专科微控制器相关课程的教材,又可以作为相关专业技术人员的参考与学习用书.最后衷心希望本书能对armcortexGm4内核的微控制器的应用与推广起到一定的作用.
绪 论…………………………………………………………………………………… 1
第1章 ARM 概述…………………………………………………………………… 5
1.1 ARM ………………………………………………………………………… 5
1.2 RISC ………………………………………………………………………… 7
1.2.1 简 介…………………………………………………………………… 7
1.2.2 特 点…………………………………………………………………… 7
1.2.3 RISC和CISC的区别…………………………………………………… 9
1.2.4 CPU 的发展……………………………………………………………… 9
1.2.5 CPU 的制造过程……………………………………………………… 11
第2章 ARM CortexGM4的体系与架构…………………………………………… 12
2.1 概 述……………………………………………………………………… 12
2.2 ARMv7架构的背景和概述………………………………………………… 13
2.3 ARM CortexGM4内部结构………………………………………………… 15
2.4 ARM CortexGM4与其他CortexGM 内核比较…………………………… 18
2.5 ThumbG2技术……………………………………………………………… 19
2.6 流水线技术………………………………………………………………… 21
2.7 ARM CortexGM4内部总线………………………………………………… 23
2.8 寄存器……………………………………………………………………… 24
2.8.1 通用寄存器……………………………………………………………… 25
2.8.2 特殊功能寄存器………………………………………………………… 26
2.9 工作模式…………………………………………………………………… 28
2.10 异 常……………………………………………………………………… 30
2.10.1 异常的类型…………………………………………………………… 30
2.10.2 异常的进入与退出…………………………………………………… 31
2.10.3 异常的处理机制……………………………………………………… 33
2.11 MPU 内存保护单元……………………………………………………… 35
2.12 ARM CortexGM4的电源管理…………………………………………… 44
2.13 Bitband …………………………………………………………………… 45
第3章 新唐M451系列…………………………………………………………… 48
3.1 M451系列特性……………………………………………………………… 48
3.2 M451硬件平台……………………………………………………………… 56
第4章 CMSIS ……………………………………………………………………… 58
4.1 概 述……………………………………………………………………… 58
4.2 CMSIS的软件架构………………………………………………………… 59
4.3 CMSIS文件的规范………………………………………………………… 60
第5章 环境搭建…………………………………………………………………… 66
5.1 安装NuLink ………………………………………………………………… 66
5.2 平台的搭建………………………………………………………………… 67
5.3 工程的创建与运行………………………………………………………… 68
5.4 硬件仿真…………………………………………………………………… 76
5.5 启动流程…………………………………………………………………… 79
5.6 ISP下载程序……………………………………………………………… 89
第6章 通用的输入/输出口……………………………………………………… 92
6.1 模式说明…………………………………………………………………… 92
6.2 实 验……………………………………………………………………… 94
6.2.1 驱动LED ……………………………………………………………… 94
6.2.2 按键检测………………………………………………………………… 97
第7章 时钟体系…………………………………………………………………… 101
7.1 概 述……………………………………………………………………… 101
7.2 实 验……………………………………………………………………… 103
7.2.1 时钟源切换…………………………………………………………… 103
7.2.2 PLL实现频率切换…………………………………………………… 108
第8章 系统定时器SysTick ……………………………………………………… 111
8.1 概 述……………………………………………………………………… 111
8.2 实 验……………………………………………………………………… 111
8.2.1 SysTick延时………………………………………………………… 111
8.2.2 SysTick中断………………………………………………………… 114
第9章 定时器……………………………………………………………………… 117
9.1 概 述……………………………………………………………………… 117
9.2 特 性……………………………………………………………………… 117
9.3 实 验……………………………………………………………………… 118
第10章 脉冲宽度调制…………………………………………………………… 123
10.1 概 述…………………………………………………………………… 123
10.2 特 性…………………………………………………………………… 124
10.3 实 验…………………………………………………………………… 125
第11章 实时时钟………………………………………………………………… 130
11.1 简 介…………………………………………………………………… 130
11.2 内部实时时钟…………………………………………………………… 131
11.3 实 验…………………………………………………………………… 131
11.3.1 显示日期与时间……………………………………………………… 131
11.3.2 警报唤醒……………………………………………………………… 137
第12章 看门狗…………………………………………………………………… 143
12.1 概 述…………………………………………………………………… 143
12.2 特 性…………………………………………………………………… 144
12.3 实 验…………………………………………………………………… 144
第13章 窗口看门狗……………………………………………………………… 150
13.1 概 述…………………………………………………………………… 150
13.2 特 性…………………………………………………………………… 150
13.3 实 验…………………………………………………………………… 150
第14章 串 口…………………………………………………………………… 157
14.1 概 述…………………………………………………………………… 157
14.2 实 验…………………………………………………………………… 161
14.2.1 串口收发数据………………………………………………………… 161
14.2.2 编写printf函数……………………………………………………… 166
14.2.3 编写scanf函数……………………………………………………… 169
第15章 模拟/数字转换………………………………………………………… 173
15.1 概 述…………………………………………………………………… 173
15.2 实 验…………………………………………………………………… 176
第16章 数字/模拟转换………………………………………………………… 182
16.1 概 述…………………………………………………………………… 182
16.2 工作原理………………………………………………………………… 183
16.3 内部DAC ………………………………………………………………… 185
16.4 实 验…………………………………………………………………… 189
第17章 SPI ……………………………………………………………………… 198
17.1 概 述…………………………………………………………………… 198
17.2 SPIFlash ………………………………………………………………… 203
17.2.1 W25Q16/W25Q32/W25Q64 ……………………………………… 204
17.2.2 特 性………………………………………………………………… 205
17.2.3 功能描述……………………………………………………………… 206
17.3 SPIFlash实验…………………………………………………………… 209
17.3.1 读ID ………………………………………………………………… 209
17.3.2 擦除扇区……………………………………………………………… 214
17.3.3 擦除芯片……………………………………………………………… 219
17.3.4 读写数据……………………………………………………………… 223
第18章 I2C ……………………………………………………………………… 228
18.1 概 述…………………………………………………………………… 228
18.2 协 议…………………………………………………………………… 228
18.3 AT24C02 ………………………………………………………………… 231
18.4 实 验…………………………………………………………………… 233
第19章 Flash存储控制器………………………………………………………… 243
19.1 概 述…………………………………………………………………… 243
19.2 存储器组织……………………………………………………………… 245
19.2.1 LDROM APROM 和数据Flash …………………………………… 246
19.2.2 用户配置区…………………………………………………………… 246
19.2.3 存储器映射…………………………………………………………… 246
19.2.4 支持IAP的系统存储器映射……………………………………… 247
19.2.5 不支持IAP功能的系统内存映射………………………………… 249
19.3 启动选择………………………………………………………………… 250
19.4 在应用编程(IAP) ……………………………………………………… 251
19.5 在系统编程(ISP)………………………………………………………… 251
19.6 实 验…………………………………………………………………… 254
19.6.1 读写DataFlash …………………………………………………… 254
19.6.2 读写LDROM ……………………………………………………… 258
19.6.3 读写APROM ……………………………………………………… 261
第20章 EBI ……………………………………………………………………… 264
20.1 概 述…………………………………………………………………… 264
20.2 功能描述………………………………………………………………… 264
20.3 实 验…………………………………………………………………… 270
第21章 模拟比较器……………………………………………………………… 281
21.1 概 述…………………………………………………………………… 281
21.2 功能描述………………………………………………………………… 281
21.3 实 验…………………………………………………………………… 285
第22章 触摸按键………………………………………………………………… 290
22.1 概 述…………………………………………………………………… 290
22.2 功能描述………………………………………………………………… 292
22.3 实 验…………………………………………………………………… 296
第23章 循环冗余校验…………………………………………………………… 305
23.1 概 述…………………………………………………………………… 305
23.2 功能描述………………………………………………………………… 308
23.3 实 验…………………………………………………………………… 309
第24章 DMA ……………………………………………………………………… 316
24.1 概 述…………………………………………………………………… 316
24.2 功能描述………………………………………………………………… 319
24.3 实 验…………………………………………………………………… 325
24.3.1 基本模式……………………………………………………………… 325
24.3.2 ScatterGGather模式………………………………………………… 331
24.3.3 串口接收数据………………………………………………………… 335
第25章 FPU ……………………………………………………………………… 340
25.1 概 述…………………………………………………………………… 340
25.2 功能描述………………………………………………………………… 341
25.3 实 验…………………………………………………………………… 343
第26章 DSP ……………………………………………………………………… 347
26.1 概 述…………………………………………………………………… 347
26.2 功能描述………………………………………………………………… 347
26.3 DSP运行库的搭建……………………………………………………… 350
26.4 FFT介绍………………………………………………………………… 352
26.5 实 验…………………………………………………………………… 353
第27章 触摸屏…………………………………………………………………… 358
27.1 TFT技术………………………………………………………………… 358
27.2 TFT中的RGB …………………………………………………………… 359
27.2.1 RGB原理…………………………………………………………… 361
27.2.2 RGB格式…………………………………………………………… 361
27.3 触摸屏…………………………………………………………………… 363
27.3.1 电阻式触摸屏………………………………………………………… 366
27.3.2 触摸控制XPT2046 ………………………………………………… 367
27.4 实 验…………………………………………………………………… 372
27.4.1 颜色显示……………………………………………………………… 372
27.4.2 绘制图形……………………………………………………………… 381
27.4.3 坐标校准……………………………………………………………… 386
27.4.4 触摸描点……………………………………………………………… 398
第28章 SD 卡……………………………………………………………………… 403
28.1 简 介…………………………………………………………………… 403
28.2 实 验…………………………………………………………………… 407
28.2.1 显示信息……………………………………………………………… 407
28.2.2 显示容量……………………………………………………………… 419
28.2.3 读写数据……………………………………………………………… 422
第29章 FATFS …………………………………………………………………… 428
29.1 简 介…………………………………………………………………… 428
29.2 实 验…………………………………………………………………… 436
29.2.1 显示文件系统容量…………………………………………………… 436
29.2.2 读写文本……………………………………………………………… 440
29.2.3 遍历根目录…………………………………………………………… 447
29.2.4 格式化……………………………………………………………… 450
第30章 文字显示………………………………………………………………… 457
30.1 GB2312简介……………………………………………………………… 457
30.2 ASCII简介……………………………………………………………… 458
30.3 实 验…………………………………………………………………… 464
30.3.1 取模显示字体………………………………………………………… 464
30.3.2 字库显示字体………………………………………………………… 469
第31章 位图编解码……………………………………………………………… 477
31.1 简 介…………………………………………………………………… 477
31.2 结 构…………………………………………………………………… 479
31.3 实 验…………………………………………………………………… 482
31.3.1 位图显示……………………………………………………………… 482
31.3.2 屏幕截图……………………………………………………………… 488
第32章 JPEG 解码……………………………………………………………… 498
32.1 简 介…………………………………………………………………… 498
32.2 文件格式………………………………………………………………… 500
32.3 解码过程………………………………………………………………… 504
32.4 实 验…………………………………………………………………… 504
第33章 GIF解码………………………………………………………………… 508
33.1 简 介…………………………………………………………………… 508
33.2 实 验…………………………………………………………………… 509
第34章 RTOS …………………………………………………………………… 513
第35章 μCGUI …………………………………………………………………… 546
第36章 无线串口………………………………………………………………… 601
附录A 开发板原理图与实物照………………………………………………… 623
附录B 无线串口实物照…………………………………………………………… 626
附录C 单片机多功能调试助手…………………………………………………… 627
附录D 无线串口调试助手………………………………………………………… 628
附录E 源代码预览………………………………………………………………… 629
参考文献……………………………………………………………………………… 631