《嵌入式软件设计入门与进阶 基于Kinetis K60/K64》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:杨熙,苏勇,刘屹霄编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:7302442072
  • 页数:199 页
图书介绍:

第1章 Kinetis平台概述 1

1.1 ARM-Cortex系列简介 1

1.1.1 ARMCortex-A 1

1.1.2 ARMCortex-R 2

1.1.3 ARMCortex-M 2

1.2 恩智浦(NXP)Kinetis系列MCU简介 2

1.2.1 Kinetis产品家族介绍 2

1.2.2 Kinetis系列芯片的命名规则及选型 4

1.3 开发平台硬件电路分析 6

1.3.1 MCU 6

1.3.2 复位 7

1.3.3 时钟 7

1.3.4 调试接口 8

1.3.5 LED 8

1.3.6 串口 9

1.3.7 SPI Flash 9

1.4 软件环境搭建 10

1.4.1 MDK安装下载 10

1.4.2 串口驱动 12

1.4.3 Jlink驱动安装 13

1.4.4 下载本书的示例代码 13

1.5 编译实例HelloWorld 工程 14

1.6 新建工程 21

1.7 本章小结 27

第2章 从零开始 28

2.1 样例程序 28

2.2 芯片上电 29

2.3 启动软件系统 33

2.3.1 分配堆和栈的空间 33

2.3.2 中断向量表 36

2.3.3 Flash配置选项 40

2.3.4 复位中断入口到用户main函数 44

2.4 分散加载文件 48

2.5 本章小结 49

第3章 链接命令文件 50

3.1 命令方式存在的链接配置参数 50

3.2 创建sct文件模板 51

3.3 SCF应用——直接在RAM 中调试程序 55

3.4 SCF应用——将程序复制到RAM中执行 58

3.5 本章小结 60

第4章 嵌入式系统软件的典型开发框架 61

4.1 概述 61

4.2 裸机嵌入式系统的组成 62

4.3 典型的裸机软件系统实现框架 63

4.3.1 基本的超循环结构 63

4.3.2 使用中断的前后台结构 71

4.3.3 完全依赖中断的事件驱动系统 76

4.3.4 状态机驱动系统 79

4.4 本章小结 88

第5章 低功耗应用设计 89

5.1 概述 89

5.2 K64中的低功耗模式介绍 89

5.3 功耗状态机模型的运作 94

5.3.1 进入STOP模式操作序列 94

5.3.2 退出STOP模式操作序列 95

5.3.3 中断进入STOP模式 96

5.4 低功耗所涉及的模块详解 96

5.4.1 ARM核的系统控制寄存器 96

5.4.2 系统模式控制器 98

5.4.3 低功耗模式下的频率限制 100

5.4.4 低漏唤醒单元 101

5.5 低功耗应用开发典型模式 101

5.6 K64低功耗编程心得 108

5.7 本章小结 109

第6章 DMA的基本概念 110

6.1 DMA的基本概念 110

6.2 DMA的工作原理 111

6.3 K64的DMA介绍 113

6.3.1 TCD 113

6.3.2 主循环和子循环 114

6.3.3 eDMA通道请求使能开关 115

6.3.4 DMA的触发源 115

6.3.5 DMA传输完成的判断 117

6.3.6 关于SMOD和DMOD周期性地址传输 118

6.3.7 关于DREQ位 118

6.4 使用DMA实现内存问搬运的实例 119

6.4.1 DMA TCD的配置 119

6.4.2 等待DMA传输完成 120

6.4.3 实验效果 121

6.5 本章小结 121

第7章 DMA在串行通信总线中的应用 123

7.1 通过DMA来进行串口数据收发 123

7.1.1 DMA触发条件的确定 123

7.1.2 DMA TCD的配置 124

7.2 使用DMA进行SPI通信 125

7.2.1 SPI通信的一般模型 126

7.2.2 DMA触发条件的确定 127

7.2.3 DMA TCD的配置 128

7.3 本章小结 133

第8章 DMA实现ADC扫描触发链 134

8.1 从应用案例开始 134

8.1.1 明确需求 134

8.1.2 围绕ADC的软触发特性设计触发链 135

8.2 触发链的设计与实现 136

8.2.1 DMA0->ADC0:实现DMA0自动搬运命令字触发ADC转换 136

8.2.2 ADC0>DMA1:实现ADC转换完成后触发DMA1自动搬运转换结果 141

8.2.3 PIT0->DMA0:实现PIT0定期触发DMA0控制转换的节奏 145

8.2.4 见缝插针,自定义更加丰富的操作接口 150

8.3 本章小结 155

第9章 使用命令行来帮助开发 156

9.1 概述 156

9.2 Shell的引入 156

9.2.1 单片机中的Shell 158

9.2.2 单片机Shell的输入和输出 159

9.3 简单的Shell软件设计 159

9.3.1 构建Shell命令结构体 159

9.3.2 获取输入命令 160

9.3.3 解析命令 162

9.3.4 调用对应的函数并返回结果 164

9.4 应用实例 166

9.5 本章小结 168

第10章 使用CMSIS-DSP数学运算库 169

10.1 什么是数字信号处理 169

10.2 浮点运算与定点运算 170

10.3 CMSIS-DSP简介 172

10.4 CMSIS-DSP初探 173

10.4.1 DSP库的分类 173

10.4.2 使用CMSIS-DSP库 174

10.5 基础数学函数 176

10.5.1 向量绝对值运算 176

10.5.2 向量加法运算 177

10.5.3 向量点积 178

10.5.4 向量(元素)乘积 178

10.5.5 逆向量(反向量) 179

10.5.6 向量平移 179

10.5.7 向量扩围 180

10.6 快速功能函数 180

10.6.1 快速余弦函数(Cosine) 180

10.6.2 快速正弦函数(Sine) 181

10.6.3 快速平方根(Square Root) 181

10.7 本章小结 182

第11章 专业的软件版本控制系统——git 183

11.1 git的诞生 183

11.1.1 git的诞生 184

11.1.2 git的核心——数据库 184

11.1.3 远程数据库和本地数据库 185

11.2 git入门笔记 185

11.2.1 下载安装git 185

11.2.2 初始化代码仓库 186

11.2.3 添加文件并提交修改 187

11.2.4 增删改查git仓库中的文件 189

11.2.5 退回到某一个commit 192

11.2.6 使用远程仓库 194

11.2.7 克隆远程库 197

11.3 本章小结 197

后记 198

参考文献 199