《高等学校信息技术类新方向新动能新形态系列规划教材 嵌入式系统原理 基于Arm Cortex-M微控制器体系》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:祝智敏责任编辑;刘雯,陈炜,姜铁增译;(美国)亚历山大·狄恩
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2019
  • ISBN:9787115516596
  • 页数:233 页
图书介绍:本书介绍如何使用基于Arm Cortex-M0内核的Kinetis KL25Z单片机进行嵌入式系统搭建。内容覆盖了CPU、中断系统、外设与编程,全文使用C语言进行编程;介绍了CPU上的实际多任务,其目的是提高响应能力和软件模块性,同时减少CPU的开销;探讨了中断、外设和调度程序的相互作用。

01 绪论 2

1.1 综述 2

1.2 概念 2

1.2.1 控制系统的意义 2

1.2.2 使用电子设备和嵌入式计算机的原因 3

1.2.3 计算机嵌入的方式 4

1.2.4 嵌入式系统案例 5

1.2.5 典型的嵌入式系统软件操作 8

1.2.6 嵌入式系统属性 8

1.3 应用平台 12

1.3.1 概述 12

1.3.2 处理器 13

1.3.3 MCU 14

1.3.4 开发板 14

1.4 总结 15

1.5 练习 15

02 通用输入/输出接口 18

2.1 综述 18

2.2 MCU外部:0和1,电压和电流 18

2.2.1 输入信号 19

2.2.2 输出信号 19

2.2.3 与开关和LED灯交互 20

2.3 MCU内部 21

2.3.1 准备:控制寄存器和C代码 21

2.3.2 配置I/O路径 24

2.3.3 GPIO外围设备 27

2.3.4 将C代码组合起来 30

2.3.5 更多接口实例 31

2.3.6 其他引脚配置选项 34

2.4 总结 36

2.5 练习 36

03 软件并行基础 38

3.1 综述 38

3.2 概念 38

3.2.1 初始程序 39

3.2.2 任务的创建与使用 41

3.3 提高响应 45

3.3.1 中断和事件触发 46

3.3.2 通过有限状态机减少任务执行次数 50

3.3.3 使用硬件节省CPU时间 54

3.4 高级调度问题 57

3.4.1 等待 58

3.4.2 任务优先级 59

3.4.3 任务抢占 60

3.4.4 实时系统 61

3.5 总结 61

3.6 练习 61

04 Arm Cortex-M0+处理器内核和中断 65

4.1 综述 65

4.2 CPU内核 65

4.2.1 概念 65

4.2.2 架构 67

4.3 异常和中断 77

4.3.1 CPU异常处理 77

4.3.2 中断与异常硬件 79

4.3.3 中断软件 86

4.4 总结 92

4.5 练习 93

05 C汇编语言 95

5.1 综述 95

5.2 背景 95

5.3 软件开发工具 95

5.3.1 程序构建工具 96

5.3.2 编程器 99

5.3.3 调试器 99

5.4 C语言基础 100

5.4.1 程序与函数 100

5.4.2 启动代码 101

5.4.3 存储器类型 101

5.4.4 一个程序的存储器需求 101

5.5 构建函数 102

5.5.1 寄存器使用规范 103

5.5.2 程序首部与程序尾部 104

5.5.3 异常处理程序 106

5.6 控制程序流程 107

5.6.1 条件结构 107

5.6.2 循环结构 110

5.6.3 调用子函数 113

5.7 访问内存中的数据 114

5.7.1 静态分配内存 114

5.7.2 自动分配内存 115

5.7.3 动态分配内存和指针 116

5.7.4 数组元素 117

5.8 总结 119

5.9 练习 120

06 模拟接口 122

6.1 综述 122

6.2 简介 122

6.2.1 背景 122

6.2.2 概念 122

6.2.3 采样与量化 123

6.3 数模转换器 125

6.3.1 概念 125

6.3.2 转换器结构 126

6.3.3 Kinetis KL25ZDAC 126

6.3.4 应用实例:波形发生器 127

6.4 模拟比较器 128

6.4.1 概念 128

6.4.2 Kinetis KL25Z比较器 129

6.4.3 应用实例:电压转换监视器 131

6.5 模数转换器 132

6.5.1 概念 132

6.5.2 Kinetis KL25Z ADC 134

6.5.3 应用实例 138

6.6 总结 145

6.7 练习 146

07 定时器 148

7.1 综述 148

7.2 概念 148

7.2.1 定时器硬件电路 148

7.2.2 定时器应用实例 149

7.3 定时器外设 151

7.3.1 SysTick定时器 151

7.3.2 Kinetis KL25Z正确操作计算机看门狗定时器 153

7.3.3 Kinetis KL25Z定时器/脉冲宽度调制模块 157

7.4 总结 168

7.5 练习 169

08 串行通信 171

8.1 综述 171

8.2 概念 171

8.2.1 背景 171

8.2.2 使用方法 172

8.2.3 开发工具 174

8.2.4 通信软件结构 175

8.3 串行通信协议与外设 180

8.3.1 同步串行通信 180

8.3.2 异步串行通信 186

8.3.3 内部集成电路(Inter-Integrated Circuit,I2C)总线 194

8.4 总结 204

8.5 练习 204

09 直接内存访问 207

9.1 综述 207

9.2 概念 207

9.3 KL25Z DMA控制器和多路复用器外设 208

9.3.1 DMA多路复用器和触发源 209

9.3.2 DMA控制器 210

9.3.3 基本DMA配置和使用 211

9.3.4 实例 211

9.4 总结 218

9.5 练习 218

测量FRDM-KL25Z的电流、功率和能量 220

A.1 综述 220

A.2 FRDM-KL25Z的供电系统架构 220

A.2.1 电源输入 220

A.2.2 稳压 221

A.2.3 电源域 221

A.3 电流测量和功率计算 221

A.3.1 测量目标MCU电流 222

A.3.2 测量OpenSDA调试电路电流 222

A.3.3 测量稳压器输出电流 222

A.4 功率降低 222

A.4.1 断开OpenSDA调试MCU供电与重启线 222

A.4.2 断开稳压器UI 223

A.5 电能测量 223

A.5.1 基于电容测量 223

A.5.2 实现 224

A.6 电路改造总结 224

词汇表 226

参考文献 232