当前位置:首页 > 工业技术
ARM Cortex M4自学笔记  基于Kinetis  K60
ARM Cortex M4自学笔记  基于Kinetis  K60

ARM Cortex M4自学笔记 基于Kinetis K60PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:杨东轩,王嵩编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2013
  • ISBN:9787512411029
  • 页数:434 页
图书介绍:本书介绍了飞思卡尔(Freescale)半导体公司推出的Kinetis系列微控制器K60的学习与开发方法。该书一共分为20个章节,内容由浅入深,依次介绍了ARM Cortex-M4内核、K60微控制器、K60各个模块的使用方法、操作系统的移植以及快速开发工具的使用等方面的内容。在模块介绍等章节中,主要介绍了K60的通用输入输出、异步通信串口、周期中断定时器、模数/数模转换器、eDMA、可编程延时、FTM、实时时钟、低功耗定时器、I2C、SPI、CAN总线、USB、以太网和SDHC等模块。本书在详细介绍了主要模块的使用方式之后,还介绍了基于K60的操作系统及图形系统的移植方法。
《ARM Cortex M4自学笔记 基于Kinetis K60》目录

第1篇 初识M4 2

第1章 概述 2

1.1 ARM Cortex-M4简介 2

1.2 Cortex-M3与Cortex-M4对比 5

1.3 飞思卡尔Kinetis系列 9

1.3.1 系列分类 9

1.3.2 Kinetis K系列 10

第2章 K60及其硬件 12

2.1 K60系列MCU 12

2.1.1 命名规则 13

2.1.2 模块功能分类 15

2.1.3 系统内存映射 16

2.2 K60核心板及底板 18

2.2.1 K60核心板 18

2.2.2 K60底板 21

2.3 拉普兰德K60底层库 21

第3章 Hello World! 22

3.1 编译并调试一个工程 22

3.2 工程结构解析 24

3.2.1 工程文件目录结构 24

3.2.2 IAR工作空间目录结构 26

3.3 执行过程解析 26

3.3.1 芯片启动过程 27

3.3.2 用户应用执行过程 32

3.4 快速新建工程 33

3.5 工程相关设置 34

第2篇 新手上路 40

第4章 利用I/O进行简单的互动 40

4.1 I/O的基本概念 40

4.2 I/O模块 41

4.2.1 I/O的特点和运行模式 41

4.2.2 I/O模块信号及引脚 42

4.2.3 I/O的控制与中断寄存器 44

4.2.4 I/O的GPIO寄存器 50

4.3 GPIO编程实践 52

4.3.1 I/O驱动编程实践 52

4.3.2 I/O流水灯实例 57

4.3.3 底层库中断使用方法 58

4.3.4 I/O中断实例 61

第5章 利用串口在屏幕上显示点什么 65

5.1 异步通信串口 65

5.1.1 串口概述 65

5.1.2 串口硬件电路 68

5.2 UART模块 71

5.2.1 特点及运行模式 71

5.2.2 UART模块信号及引脚 72

5.2.3 UART模块寄存器 73

5.3 UART编程实践 81

5.3.1 UART驱动的编程实践 81

5.3.2 UART串口收发的编程实践 86

第6章 告诉K60什么时候开始干活 89

6.1 PIT模块概述 89

6.1.1 PIT工作原理 89

6.1.2 PIT触发DMA 90

6.1.3 PIT的特点和运行模式 90

6.1.4 PIT模块寄存器 90

6.2 PIT编程实践 93

6.2.1 PIT驱动的编程实践 93

6.2.2 PIT模块周期性中断实例 94

第7章 同一个世界,同一个模拟量 97

7.1 ADC概述 97

7.1.1 ADC基本概念 97

7.1.2 ADC应用 98

7.2 ADC模块详细解析 99

7.2.1 ADC模块特点 99

7.2.2 ADC模块信号及引脚 100

7.2.3 ADC模块寄存器 101

7.3 ADC编程实践 108

7.3.1 ADC驱动编程实践 108

7.3.2 ENC-03陀螺仪传感器的使用 112

7.4 DAC概述 115

7.4.1 DAC运行原理 115

7.4.2 DAC性能参数 115

7.5 DAC模块详细解析 116

7.5.1 DAC模块特点 116

7.5.2 DAC数据缓冲区操作 116

7.5.3 DAC模块寄存器 116

7.6 DAC编程实践 118

7.6.1 DAC驱动编程实践 118

7.6.2 简单的信号发生器 120

第3篇 高手晋级 123

第8章 用DMA控制器来解放CPU 123

8.1 K60 DMA的基本组成 123

8.1.1 DMA的工作原理 123

8.1.2 DMA通道复用管理模块的特点 124

8.1.3 DMA控制模块的特点 126

8.1.4 DMA控制模块的工作模式 126

8.2 DMA模块寄存器 127

8.2.1 DMA通道复用管理模块寄存器 127

8.2.2 DMA控制寄存器 128

8.2.3 DMA描述符 131

8.3 DMA编程实践 134

8.3.1 DMA驱动编程实践 134

8.3.2 DMA采集OV7670摄像头图像 140

第9章 利用PDB督促K60更好地干活 146

9.1 PDB基本功能 146

9.1.1 PDB模块的特点 146

9.1.2 PDB模块的运行模式 147

9.1.3 PDB模块信号及引脚 148

9.2 PDB模块寄存器 148

9.3 PDB模块详细解析 153

9.4 PDB编程实践 156

9.4.1 PDB驱动编程实践 156

9.4.2 PDB延时中断实例 161

9.4.3 PDB触发DAC输出 163

9.4.4 PDB触发ADC采集 166

第10章 FTM高级定时应用 168

10.1 FTM模块概述 168

10.1.1 FTM模块特性 168

10.1.2 FTM信号及引脚 169

10.2 FTM模块详细解析 170

10.2.1 FTM寄存器 170

10.2.2 FTM功能描述 174

10.3 FTM编程实践 176

10.3.1 PWM驱动编程实践 176

10.3.2 PWM驱动舵机实例 180

10.3.3 输入捕获驱动编程实践 182

第11章 默默无闻的RTC实时时钟 186

11.1 RTC的基本概念 186

11.2 RTC模块 187

11.2.1 RTC的特点和运行模式 187

11.2.2 RTC模块信号及引脚 188

11.2.3 RTC相关寄存器 188

11.3 RTC编程实践 195

11.3.1 RTC驱动编程实践 195

11.3.2 RTC报警中断实例 199

第12章 LPTMR低功耗定时器 200

12.1 LPTMR模块概述 200

12.2 LPTMR模块寄存器及其功能 201

12.2.1 LPTMR寄存器 201

12.2.2 LPTMR功能描述 204

12.3 LPTMR编程实践 205

12.3.1 低功耗计数器驱动编程实践 205

12.3.2 精准延时驱动编程实践 207

12.3.3 利用LPTMR实现脉冲计数实例 208

第13章 串行总线I2C/SPI的应用 210

13.1 I2C与SPI的对比 210

13.2 I2C概述 211

13.2.1 I2C传输模式与时序 211

13.2.2 I2C消息协议 212

13.2.3 I2C物理层 212

13.3 I2C模块详解 213

13.4 I2C编程实践 217

13.4.1 I2C驱动编程实践 217

13.4.2 MMA7660加速度传感器的使用实例 220

13.5 SPI概述 222

13.5.1 SPI传输方式与时序 223

13.5.2 SPI总线的应用限制 224

13.6 SPI模块详解 224

13.6.1 简介 224

13.6.2 SPI模块信号描述 225

13.6.3 SPI模块时序配置 225

13.6.4 SPI模块寄存器 226

13.7 SPI编程实践 231

13.7.1 SPI驱动编程实践 231

13.7.2 nRF24L01无线模块的使用实例 236

第14章 利用CAN模块与更多系统通信 243

14.1 CAN总线通信 243

14.1.1 CAN总线概述 243

14.1.2 CAN总线硬件电路 245

14.2 FlexCAN模块详细解析 247

14.2.1 特点及运行模式 247

14.2.2 CAN模块信号及引脚 248

14.2.3 CAN模块寄存器 249

14.3 报文缓冲区结构和接收队列结构 261

14.3.1 报文缓冲区结构 261

14.3.2 接收队列结构 264

14.4 FlexCAN编程实践 265

14.4.1 FlexCAN驱动编程实践 266

14.4.2 FlexCAN收发实践 269

第15章 USB通用串行总线控制器 274

15.1 USB概述 274

15.1.1 基本介绍 274

15.1.2 USB硬件接口描述和电气标准 275

15.1.3 USB标准的发展过程 276

15.1.4 USB描述符和USB驱动程序 276

15.2 USB模块的特点及信号描述 277

15.3 USB模块详解 277

15.3.1 USB缓冲区描述符表 277

15.3.2 缓冲描述符的格式 277

15.3.3 USB输入输出配置 280

15.3.4 USB控制器的寻址过程 280

15.3.5 USB传输数据过程 280

15.4 USB模块寄存器 281

15.5 USB驱动文件编程 288

15.5.1 USB描述符文件 288

15.5.2 USB驱动文件 296

15.5.3 USB通信协议文件 297

15.5.4 USB CDC类配置文件 307

15.6 应用实践 309

15.6.1 USB应用函数编程 309

15.6.2 USB虚拟串口编程实践 312

第16章 ENET以太网模块 314

16.1 以太网基本概念 314

16.2 以太网帧的结构及类型 316

16.2.1 以太网帧结构 316

16.2.2 以太网帧类型 317

16.3 以太网物理收发器 318

16.3.1 PHY外部引脚 318

16.3.2 PHY寄存器 320

16.4 ENET模块结构、外部引脚及寄存器 321

16.4.1 ENET模块结构 321

16.4.2 ENET外部引脚 322

16.4.3 ENET寄存器 323

16.5 ENET编程实践 326

16.5.1 ENET驱动编程实践 326

16.5.2 ENET底层通信测试 331

第17章 SDHC控制器模块 336

17.1 SD卡基本概念 336

17.1.1 SD卡类型 336

17.1.2 SD卡速度等级 338

17.2 SD技术概述 338

17.2.1 传输模式 339

17.2.2 4位SD总线硬件电路 340

17.2.3 SD总线初始化流程 341

17.3 SDHC模块 342

17.4 SDHC模块详细解析 344

17.4.1 SDHC寄存器 344

17.4.2 SDHC功能描述 348

17.4.3 MMC/SD/SDIO/CE-ATA命令 350

17.5 SDHC编程实践 355

17.5.1 SDHC驱动编程实践 355

17.5.2 磁盘及FatFs文件系统 360

第18章 μC/OS-Ⅱ在K60上的移植 363

18.1 μC/OS-Ⅱ概述 363

18.1.1 下载μC/OS-Ⅱ系统源文件 363

18.1.2 μC/OS-Ⅱ工程包文件 364

18.1.3 μC/OS-Ⅱ官方K60工程结构 365

18.2 复制及修改μC/OS-Ⅱ源文件 368

18.2.1 复制μC/OS-Ⅱ源文件 368

18.2.2 新建工程并配置工程 368

18.2.3 修改includes.h文件 370

18.2.4 修改os_cpu.h文件 370

18.3.5 编写bsp_int.h文件 371

18.2.6 编写bsp_int.c文件 375

18.2.7 编写bsp.c文件 377

18.2.8 编写bsp.h文件 379

18.2.9 修改os_cpu_c.c文件 379

18.3 创建μC/OS-Ⅱ任务并运行 379

18.3.1 修改app_cfg.h文件 380

18.3.2 修改os_cfg.h文件 380

18.3.3 编程实践 380

18.3.4 调试工程 382

18.4 μC/OS-Ⅱ信号量 384

18.4.1 信号量的相关函数 384

18.4.2 编写信号量应用实例 385

18.4.3 调试信号量实例 386

第19章 μC/GUI在K60上的移植 388

19.1 μC/GUI基本概念 388

19.2 复制μC/GUI开源包 388

19.2.1 下载μC/GUI开源包 388

19.2.2 μC/GUI文件作用 389

19.2.3 添加编译路径 390

19.3 添加LCD及触摸屏驱动 391

19.3.1 添加LCD驱动 391

19.3.2 添加触摸屏驱动 395

19.4 修改μC/GUI接口 398

19.4.1 修改GUIConf.h文件 398

19.4.2 修改μC/GUI LCD接口文件 399

19.4.3 修改μC/GUI触摸屏接口文件 402

19.5 移植编程实践——μC/GUI显示位图 403

19.5.1 生成位图文件 403

19.5.2 编写位图显示程序 404

第20章 Processor Expert使用笔记 407

20.1 Processor Expert概述 407

20.2 Processor Expert使用实践 407

20.2.1 新建CodeWarrior工程 408

20.2.2 添加组件 410

20.2.3 配置组件 411

20.2.4 生成并编写代码 412

附表A I/O引脚复用 415

附表B 拉普兰德K60底层库函数列表 424

参考文献 434

相关图书
作者其它书籍
返回顶部