《嵌入式技术基础与实践 ARM Cortex-MO+Kinetis L系列微控器》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王宜怀编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302333661
  • 页数:397 页
图书介绍:本书很好地把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。

第1章 概述 1

1.1嵌入式系统定义、由来及特点 1

1.1.1嵌入式系统的定义 1

1.1.2嵌入式系统的由来及其与微控制器的关系 2

1.1.3嵌入式系统的特点 4

1.2嵌入式系统的知识体系、学习误区及学习建议 5

1.2.1嵌入式系统的知识体系 5

1.2.2嵌入式系统的学习误区 6

1.2.3基础阶段的学习建议 9

1.3嵌入式系统常用术语 10

1.3.1与硬件相关的术语 10

1.3.2与通信相关的术语 11

1.3.3与功能模块及软件相关的术语 12

1.4嵌入式系统常用的C语言基本语法概要 13

1.5本章小结 24

习题1 24

第2章 ARM Cortex-M0+处理器 25

2.1 ARM处理器应用概述 25

2.2 ARM Cortex-M0+处理器简介 26

2.2.1 ARM Cortex-M0+处理器特点与结构图 26

2.2.2 ARM Cortex-M0+处理器存储器映像 28

2.2.3 ARM Cortex-M0+处理器的寄存器 29

2.3 ARM Cortex-M0+处理器的指令系统 31

2.3.1 ARM Cortex-M0+指令简表与寻址方式 32

2.3.2数据传送类指令 33

2.3.3数据操作类指令 36

2.3.4跳转控制类指令 39

2.3.5其他指令 40

2.4 ARM Cortex-M0+汇编语言的基本语法 41

2.4.1汇编语言格式 41

2.4.2伪指令 43

2.5本章小结 46

习题2 46

第3章 KL25简介与硬件最小系统 48

3.1飞思卡尔Kinetis系列微控制器简介 48

3.2 KL系列MCU概述与体系结构 49

3.2.1 KL系列MCU概述 49

3.2.2 KL系列MCU体系结构 51

3.3 KL25系列存储映像 53

3.4 KL25的引脚功能 54

3.5 KL25硬件最小系统原理图 57

3.6实践硬件:SD-FSL-KL25-EVB 58

3.6.1 SD-FSL-KL25-EVB硬件系统简介 58

3.6.2硬件系统的测试 59

3.7本章小结 60

习题3 61

第4章 第一个样例程序及工程组织 62

4.1通用I/O接口基本概念及连接方法 62

4.2端口控制模块与GPIO模块的编程结构 63

4.2.1端口控制模块 64

4.2.2 GPIO模块 67

4.2.3 GPIO基本编程步骤与举例 68

4.3 GPIO驱动构件封装方法与驱动构件封装规范 69

4.3.1制作GPIO驱动构件的必要性及GPIO驱动构件封装要点分析 69

4.3.2底层驱动构件封装规范概要与构件封装的前期准备 71

4.3.3 KL25的GPIO驱动构件及解析 72

4.4第一个C语言工程:控制小灯闪烁 77

4.4.1Light构件设计与测试工程主程序 77

4.4.2 Codewarrior开发环境简介及简明操作 81

4.5工程文件组织框架与第一个C语言工程分析 83

4.5.1 CW10.3开发环境下工程文件组织框架 84

4.5.2链接文件 85

4.5.3机器码文件 86

4.5.4其他相关文件功能简介 88

4.5.5芯片内电启动执行过程 89

4.6第一个汇编语言工程:控制小灯闪烁 91

4.6.1汇编工程文件的组织 91

4.6.2 Light构件汇编程序light.s 92

4.6.3 Light测试工程主程序及汇编工程执行过程 93

4.7本章小结 95

习题4 96

第5章 构件化开发方法与底层驱动构件封装规范 97

5.1嵌入式硬件构件与底层软件构件 97

5.1.1嵌入式硬件构件的概念 97

5.1.2嵌入式底层驱动构件的概念 98

5.2基于硬件构件的嵌入式系统硬件电路设计 99

5.2.1设计时需要考虑的基本问题 99

5.2.2硬件构件化电路原理图绘制的简明规则 100

5.2.3实验PCB设计的简明规则 104

5.3基于硬件构件的嵌入式底层软件构件的编程方法 107

5.3.1嵌入式硬件构件和软件构件的层次模型 107

5.3.2底层构件的实现方法与编程思想 108

5.3.3硬件构件及底层软件构件的重用与移植方法 109

5.4底层驱动构件封装规范 112

5.4.1构件设计的基本原则 112

5.4.2编码风格基本规范 113

5.4.3公共要素文件 117

5.4.4头文件的设计规范 120

5.4.5源文件的设计规范 121

5.5本章小结 122

习题5 123

第6章 串行通信模块及第一个中断程序结构 124

6.1异步串行通信的通用基础知识 124

6.1.1串行通信的基本概念 124

6.1.2 RS-232总线标准 126

6.1.3 TTL电平到RS-232电平转换电路 127

6.1.4串行通信编程模型 128

6.2 UART模块功能概述及编程结构 129

6.2.1 UART模块功能概述 129

6.2.2 UART模块编程结构 130

6.3 UART驱动构件封装 135

6.3.1 UART驱动构件封装要点分析 135

6.3.2 UART驱动构件头文件及源程序 136

6.4 KL25的中断机制及UART接收中断程序实例 145

6.4.1 KL25中断基本概念 145

6.4.2 KL25中断向量表文件 146

6.4.3 KL25的中断服务程序及其“注册” 148

6.4.4 ARM Cortex-M0+非内核模块中断编程结构 149

6.4.5 UART接收中断程序实例 152

6.5进一步讨论 154

6.6本章小结 154

习题6 155

第7章 定时器相关模块 156

7.1计数器/定时器的工作原理 156

7.2 ARM Cortex-M0+内核时钟 157

7.2.1 SysTick模块的编程结构 157

7.2.2 SysTick构件设计及测试工程 158

7.3定时器/PWM模块功能概述及编程结构 160

7.3.1 TPM模块功能概述 160

7.3.2 TPM模块概要与编程要点 164

7.3.3 TPM构件设计及测试工程 169

7.3.4 PWM构件设计及测试工程 172

7.3.5定时器模块的输入捕捉功能 174

7.3.6定时器模块的输出比较功能 177

7.4周期性中断定时器 180

7.4.1 PIT模块功能概述 180

7.4.2 PIT模块概要与编程要点 181

7.4.3 PIT构件设计及测试实例 183

7.5低功耗定时器 185

7.5.1 LPTMR模块功能概述 185

7.5.2 LPTMR模块编程结构 186

7.5.3 LPTMR构件设计及测试实例 188

7.6实时时钟模块 189

7.6.1 RTC模块功能概述 189

7.6.2 RTC模块概要与编程要点 191

7.6.3 RTC构件设计及测试工程 195

7.7本章小结 198

习题7 199

第8章 GPIO应用——键盘、LED与LCD 200

8.1键盘模块概论与驱动构件设计 200

8.1.1键盘模型及接口 200

8.1.2键盘编程的基本问题及键盘扫描编程原理 201

8.1.3键盘构件设计 202

8.2 LED模块概论与驱动构件设计 208

8.2.1 LED基础知识 208

8.2.2 LED构件设计 209

8.3 LCD模块概论与驱动构件设计 213

8.3.1 LCD的特点和分类 214

8.3.2点阵字符型液晶显示模块 215

8.3.3 HD44780 215

8.3.4 LCD构件设计 220

8.4 LED、 LCD键盘驱动构件测试实例 224

8.5本章小结 227

习题8 227

第9章 Flash在线编程 229

9.1 Flash通用基础知识 229

9.2 KL25芯片Flash模块特点及编程结构 230

9.3 Flash在线编程构件设计与测试 234

9.3.1 Flash存储器在线编程基本方法 234

9.3.2 Flash驱动构件封装要点分析 237

9.3.3 Flash驱动构件头文件及源程序 238

9.3.4 Flash驱动构件测试工程主函数 242

9.4 Flash模块的保护与加密 244

9.5本章小结 248

第10章 ADC、DAC与CMP模块 250

10.1 A/D转换通用知识 250

10.1.1 A/D转换的基本问题 250

10.1.2 A/D转换器类型 251

10.1.3 A/D转换常用传感器简介 251

10.1.4电阻型传感器采样电路设计 252

10.2 KL25的16位ADC模块功能概述 254

10.3 KL25的A/D转换模块寄存器 255

10.4 A/D模块基本编程方法与驱动构件封装 261

10.4.1基本编程方法 261

10.4.2 ADC驱动构件封装 261

10.5 12位DAC模块功能概述 266

10.6 12位DAC模块寄存器 267

10.7 DAC模块基本编程方法与驱动构件封装 269

10.8 CMP模块功能概述 272

10.8.1 CMP基础知识 272

10.8.2 CMP模块的工作原理 272

10.9 CMP模块寄存器 275

10.10 CMP模块基本编程方法与驱动构件封装 278

10.11本章小结 283

习题10 284

第11章 SPI、 I2C与TSI模块 285

11.1串行外设接口SPI 285

11.1.1串行外设接口SPI的基础知识 285

11.1.2 KL25的SPI模块概述 289

11.1.3 SPI模块寄存器 290

11.1.4 SPI驱动构件封装 293

11.2 I2C模块 299

11.2.1 I2C总线的基础知识 299

11.2.2 KL25的I2C模块概要与编程要点 304

11.2.3 I2C寄存器 305

11.2.4 I2C驱动构件封装 309

11.3触摸感应接口TSI模块 318

11.3.1触摸感应接口TSI基础知识 318

11.3.2 KL25的TSI的基本工作原理 320

11.3.3存储器映射和寄存器定义 322

11.3.4 TSI驱动构件封装 324

11.4本章小结 328

习题11 329

第12章 USB 2.0编程 330

12.1 USB基本概念及硬件特性 330

12.1.1 USB概述 330

12.1.2 USB相关基本概念 332

12.1.3 USB的物理特性 338

12.2 USB的通信协议 339

12.2.1 USB基本通信单元:包 339

12.2.2 USB通信中的事务处理 342

12.2.3从设备的枚举看USB数据传输 343

12.3 KL25的USB模块概述 347

12.3.1 KL25的USB模块功能简介 347

12.3.2 KL25的USB模块主要寄存器介绍 349

12.4 KL25作为USB从机的开发方法 353

12.4.1 KL25作为USB从机的构件化设计 353

12.4.2 KL25的USB模块测试实例 359

12.5 PC方USB设备驱动程序的设计 362

12.5.1 USB设备驱动的基本原理 362

12.5.2 PC作为USB主机的程序设计 365

12.6 KL25作为USB主机的开发方法 366

12.6.1 KL25作为USB主机的基本功能 366

12.6.2 USB主机与CDC类USB设备通信 368

12.6.3 USB主机与MassStorage类USB设备通信 368

12.7本章小结 369

习题12 370

第13章 系统时钟与其他功能模块 371

13.1时钟系统 371

13.1.1时钟系统概述 371

13.1.2时钟模块概要与编程要点 373

13.1.3时钟模块测试实例 375

13.2电源模块 377

13.2.1电源模式控制 377

13.2.2电源模式转换 379

13.3低漏唤醒单元 379

13.4位带操作 380

13.5看门狗 380

13.6复位模块 382

13.6.1上电复位 382

13.6.2系统复位源 382

13.6.3调试复位 384

13.7本章小结 384

习题13 384

第14章 进一步学习指导 386

14.1关于更为详细的技术资料 386

14.2关于实时操作系统RTOS 386

14.3关于嵌入式系统稳定性问题 387

附录A MKL25Z128VLK4引脚功能分配 390

附录B KL25硬件最小系统原理图 393

参考文献 397