内容简介
本书以基于ARM Cortex-M0+内核的典型国产芯片—CW32系列单片机为例,从嵌入式产品开发工程师的视角,深入讲解从基本原理、电路设计、软件开发到项目实战的全过程,帮助读者掌握基于ARM Cortex-M0+的嵌入式系统开发的核心技能。
此外,本书还注重嵌入式系统开发的实用性、拓展性和可迁移性,旨在使读者不但可以通过本书实战案例掌握CW32的开发应用,还可以轻松地推及、掌握Cortex-M系列(包括STM32系列及衍生的各种国产芯片)单片机产品设计技能。
本书既适合作为电子、机电、自动化、物联网及其他相关专业的本、专科学生开展课程设计、毕业设计、电子竞赛培训等的教材,也可作为从事嵌入式系统开发的工程技术人员的参考书。
无论读者是嵌入式开发的初学者,还是有一定经验的开发者,本书都能为读者提供全面的学习资源和实用的实战指导,助力读者在嵌入式开发领域取得更大的进步和成就。
目录
第1章 CW32单片机概述 1
1.1 单片机及Cortex-M0+内核概述 1
1.1.1 单片机发展史简述 1
1.1.2 Cortex-M0+内核介绍 4
1.1.3 Cortex-M0+到底“+”了什么 5
1.2 CW32单片机介绍 5
1.2.1 武汉芯源半导体有限公司简介 6
1.2.2 CW32全系列产品概览 6
1.2.3 通用高性能CW32F系列简介 8
1.2.4 安全低功耗CW32L系列简介 10
1.2.5 无线射频系列简介 13
1.2.6 车规级CW32A系列简介 14
1.3 CW32单片机的优点 15
1.3.1 质量可靠 15
1.3.2 性能优越 16
1.3.3 开发者友好 17
1.4 CW32官方网站及芯片选型 17
1.4.1 CW32官方网站及资料获取 17
1.4.2 CW32芯片选型 19
第2章 CW32开发快速入门 20
2.1 软件开发环境搭建 20
2.1.1 MDK开发环境概述 20
2.1.2 MDK的安装与配置 22
2.2 固件库及PACK的安装 29
2.2.1 CW32固件库简介 29
2.2.2 PACK的安装 29
2.3 CW32的开发工具 30
2.3.1 与M0+兼容的调试工具 30
2.3.2 CW-DAPLINK调试工具 31
2.4 快速开发入门 32
2.4.1 创建CW32工程模板 32
2.4.2 快速点亮一个LED 37
2.5 CW32的量产工具 40
2.5.1 烧录器CW-Writer 40
2.5.2 软件CW-Programmer 41
第3章 CW32F030原理及基础 47
3.1 芯片特性及内部框图 47
3.1.1 芯片特性 47
3.1.2 内部框图 55
3.2 芯片存储器组织 57
3.2.1 存储器映射和寄存器边界地址 58
3.2.2 SRAM 58
3.2.3 FLASH存储器 59
3.2.4 OTP存储器 59
3.2.5 系统启动配置 59
3.3 芯片电源 59
3.3.1 电源监控 60
3.3.2 工作模式 63
3.3.3 低功耗应用 63
3.4 芯片复位 63
3.4.1 系统复位 63
3.4.2 外设复位 65
3.5 芯片时钟控制 65
3.5.1 系统内部时钟树 65
3.5.2 系统时钟及工作模式 66
3.5.3 系统时钟源 66
3.5.4 片内外设时钟控制 71
3.5.5 时钟启动及校准 72
3.6 芯片中断系统 73
3.6.1 概述 73
3.6.2 中断向量表 73
3.7 芯片调试接口 74
3.7.1 概述 74
3.7.2 SWD接口 75
第4章 GPIO端口 76
4.1 概述 76
4.2 主要特性 76
4.3 功能描述 76
4.3.1 功能框图 76
4.3.2 数字输出 77
4.3.3 数字输入 77
4.3.4 模拟功能 78
4.3.5 复用功能 78
4.3.6 中断功能 80
4.3.7 其他功能 80
4.4 编程示例 81
4.4.1 数字输出编程示例 81
4.4.2 数字输入编程示例 81
4.4.3 模拟功能编程示例 81
4.4.4 复用功能编程示例 81
4.4.5 中断功能编程示例 81
4.5 寄存器 82
第5章 高级定时器 83
5.1 高级定时器简介 83
5.2 主要特性 83
5.3 功能描述 84
5.3.1 功能框图 84
5.3.2 输入捕获功能 91
5.3.3 输出比较功能 93
5.3.4 正交编码计数 101
5.3.5 触发ADC 102
5.3.6 DMA功能 102
5.3.7 主从模式 103
5.3.8 内部级联ITR 104
5.3.9 片内外设互联ETR 105
5.4 调试支持 105
5.5 编程示例 106
5.5.1 输入捕获 106
5.5.2 PWM输入 106
5.5.3 输出比较功能 106
5.5.4 互补PWM输出 107
5.5.5 DMA功能 108
5.5.6 触发模式 109
5.5.7 门控模式 109
5.5.8 内部级联ITR 109
5.6 寄存器 109
第6章 ADC 111
6.1 概述 111
6.1.1 主要特性 111
6.1.2 功能框图 112
6.2 ADC转换性能 112
6.2.1 转换时序 112
6.2.2 转换速度 113
6.2.3 转换精度 114
6.2.4 转换结果 114
6.3 工作模式 114
6.3.1 单通道单次转换模式 114
6.3.2 单通道多次转换模式 116
6.3.3 单通道连续转换模式 117
6.3.4 序列连续转换模式 118
6.3.5 序列扫描转换模式 119
6.3.6 序列多次转换模式 120
6.3.7 序列断续转换模式 122
6.4 累加转换功能 123
6.5 自动关闭模式 124
6.6 外部触发源 125
6.7 模拟看门狗 125
6.8 温度传感器 126
6.9 ADC中断 127
6.10 寄存器 127
第7章 嵌入式硬件设计工具 128
7.1 嵌入式硬件设计