当前位置:首页 > 工业技术
嵌入式微控制器固件开发与应用
嵌入式微控制器固件开发与应用

嵌入式微控制器固件开发与应用PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:工业和信息化部人才交流中心,恩智浦(中国)管理有限公司编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121340499
  • 页数:407 页
图书介绍:随着现代集成电路技术的飞速发展,微控制器系统的复杂度急剧增长。过去仅在处理器系统中出现的图形加速、网络协议栈、多核处理与实时操作系统等技术开始在ARM微控制器上大量的应用。如何可靠和高效的开发微控制器的固件及应用成为嵌入式软件从业人员新的挑战,同时也将是高校电子信息工程方向的教学与实践重点。与在传统单片机上面向寄存器编程方式不同,基于SDK软件开发套件的固件开发利用ARM CMSIS内核访问库和功能强大、统一风格的外设访问API,将开发者彻底从纷繁复杂的数据手册中解放出来。通过整合实时操作系统、协议栈中间件以及多个业界标准的集成开发环境和配置工具,极大的降低了在复杂微控制器上开发的难度和所需的工作量,让开发人员可以更加专注于产品核心业务和差异化的应用开发,也是嵌入式软件开发未来的主流方向。
《嵌入式微控制器固件开发与应用》目录

第1章 微控制器开发基础 1

1.1 微控制器的发展与趋势 2

1.2 ARM Cortex-M微控制器内核 6

1.2.1 ARM与Cortex处理器的发展 6

1.2.2 Cortex-M家族成员 7

1.2.3 Cortex-M内核技术特点与优势 10

1.3 CMSIS微控制器外设库 14

1.4 Cortex-M集成开发环境和调试工具 18

1.4.1 集成开发环境 18

1.4.2 调试工具 19

1.5 恩智浦LPC5411X系列低功耗通用微控制器 21

1.5.1 家族成员与功能概要 21

1.5.2 系统框图与内存映射 23

1.5.3 评估板与扩展板介绍 24

1.6 小结 25

第2章 MCUXpresso软件与工具开发套件 27

2.1 MCUXpresso IDE集成开发环境 28

2.1.1 MCUXpresso IDE的主要特性 29

2.1.2 安装MCUXpresso IDE 29

2.1.3 初识MCUXpresso IDE 31

2.2 MCUXpresso Config Tools配置工具 33

2.2.1 SDK生成器工具 33

2.2.2 Pins Tool引脚分配工具 36

2.2.3 Clocks Tool时钟配置工具 37

2.3 MCUXpresso SDK软件开发套件 38

2.3.1 架构分析 38

2.3.2 文件目录 40

2.3.3 外设驱动命名与依赖 41

2.3.4 外设驱动API 43

2.4 实例:Hello world 52

2.5 小结 58

第3章 微控制器的启动过程 59

3.1 上电启动后硬件自动执行的操作序列 61

3.2 从复位中断向量进入C程序的世界 62

3.2.1 复位中断函数概述 62

3.2.2 详解LPC54114的启动代码 64

3.3 LPC54114的BootLoader 75

3.3.1 BootLoader概述 75

3.3.2 BootLoader在LPC54114上的应用 76

3.4 小结 81

第4章 时钟子系统与管理 83

4.1 LPC54114的片上时钟系统 84

4.1.1 时钟源 85

4.1.2 上电后默认情况下的时钟系统 86

4.1.3 使用PLL获取更高频率的时钟信号 87

4.2 MCUXpresso SDK时钟管理API 90

4.2.1 常用时钟管理API 90

4.2.2 MCUXpresso SDK应用程序中配置时钟的典型框架 94

4.3 MCUXpresso时钟配置工具Clocks Tool简介 95

4.3.1 概述 95

4.3.2 在Clocks Tool中创建LPC54114Xpresso板配置工程 97

4.4 实例:使用PLL倍频输出产生系统时钟 102

4.5 小结 106

第5章 IO子系统与中断 107

5.1 IO子系统的相关硬件模块 108

5.1.1 IOCON IO引脚配置模块 108

5.1.2 GPIO通用输入/输出模块 109

5.1.3 PINT引脚中断模块 110

5.1.4 INPUT MUX输入复用器 110

5.2 MCUXpresso SDK中的GPIO与PINT驱动 111

5.2.1 GPIO驱动API 112

5.2.2 PINT驱动 API 113

5.3 MCUXpresso时钟配置工具Pins Tool应用 116

5.3.1 概述 116

5.3.2 在MCUXpresso SDK工程中用Pins Tool分配引脚功能 117

5.4 实例:通过按键控制LED 121

5.5 小结 125

第6章 DMA原理与应用 127

6.1 DMA控制器概述 128

6.2 DMA特性和内部框图 128

6.2.1 LPC5411x DMA特性 128

6.2.2 DMA内部框图 129

6.3 DMA外部引脚描述 130

6.4 DMA的几个概念和功能说明 131

6.4.1 DMA的工作原理 131

6.4.2 DMA请求和触发 131

6.4.3 DMA传输描述符 134

6.4.4 DMA传输模式 136

6.4.5 DMA低功耗模式 139

6.5 DMA模块的SDK驱动介绍 140

6.6 实例:从DMA Memory到Memory的数据传输 144

6.6.1 环境准备 145

6.6.2 代码分析 145

6.6.3 实验现象 148

6.7 小结 149

第7章 ADC数模转换器原理与应用 151

7.1 逐次逼近型ADC工作原理和过程 153

7.2 ADC数模转换器常用性能指标 154

7.3 ADC特性和内部框图 155

7.3.1 ADC特性 155

7.3.2 ADC内部框图 156

7.4 ADC外部引脚描述 156

7.5 ADC功能说明 157

7.5.1 ADC时钟 157

7.5.2 转换序列 158

7.5.3 触发转换 159

7.5.4 转换模式 159

7.5.5 转换输出 160

7.5.6 偏移误差校准 161

7.6 ADC模块的SDK驱动介绍 161

7.7 实例:使用ADC测量内部温度 164

7.7.1 环境准备 164

7.7.2 代码分析 165

7.7.3 现象描述 170

7.8 小结 171

第8章 USART异步串行通信接口原理与应用 173

8.1 USART控制器概述 174

8.2 USART模块特性和内部框图 175

8.2.1 LPC5411x USART特性 175

8.2.2 LPC5411x USART内部框图 176

8.3 Flexcomm接口概述 176

8.3.1 Flexcomm功能说明 177

8.3.2 Flexcomm内部框图 177

8.4 USART外部引脚描述 178

8.4.1 USART模块引脚功能定义 178

8.4.2 USART引脚配置说明 179

8.5 USART基本功能说明 179

8.5.1 USART模块初始化 180

8.5.2 USART的时钟源与波特率配置 180

8.5.3 收发控制 182

8.5.4 低功耗模式下USART的唤醒 182

8.6 USART模块的SDK驱动介绍 183

8.7 USART数据收发 189

8.7.1 环境准备 190

8.7.2 代码分析 191

8.7.3 现象描述 195

8.8 小结 195

第9章 SPI同步串行通信接口原理与应用 197

9.1 SPI控制器概述 198

9.2 SPI特性和内部框图 198

9.2.1 LPC5411x SPI特性 198

9.2.2 SPI内部框图 199

9.3 SPI外部引脚描述 200

9.4 SPI功能说明 201

9.4.1 SPI工作模式 201

9.4.2 SPI时钟源和数据传输速率 203

9.4.3 超出16位的数据传输 204

9.4.4 低功耗模式下SPI唤醒 205

9.4.5 SPI数据帧延迟 205

9.5 SPI模块的SDK驱动介绍 208

9.6 实例:SPI读/写外部Flash 214

9.6.1 实验目的和环境准备 215

9.6.2 代码分析 216

9.6.3 实验现象 224

9.7 小结 225

第10章 I2C总线接口与应用 227

10.1 I2C控制器概述 228

10.2 I2C特性和内部框图 229

10.2.1 LPC5411x I2C特性 229

10.2.2 I2C内部框图 229

10.3 I2C外部引脚描述 230

10.4 I2C功能说明 232

10.4.1 I2C协议简介 232

10.4.2 I2C总线速率和时钟延伸 233

10.4.3 I2C的寻址方式和低功耗唤醒 235

10.4.4 I2C的死锁和超时机制 238

10.5 I2C模块的SDK驱动 241

10.6 实例:I2C中断方式实现数据收发 249

10.6.1 实验目的和硬件电路设计 249

10.6.2 实例软件设计 250

10.6.3 main文件 251

10.6.4 现象描述 255

10.7 小结 255

第11章 I2S总线协议与应用 257

11.1 I2S总线协议简介 258

11.2 I2S特性和内部框图 260

11.2.1 I2S特性 260

11.2.2 I2S内部框图 261

11.3 I2S外部引脚描述 262

11.4 I2S功能说明 262

11.4.1 I2S时钟 263

11.4.2 数据速率 263

11.4.3 数据帧格式和模式 264

11.4.4 FIFO缓冲区的使用方法 266

11.5 I2S模块的SDK驱动介绍 267

11.6 实例:使用I2S中断方式传输播放音频 271

11.6.1 环境准备 271

11.6.2 代码分析 272

11.6.3 现象描述 276

11.7 小结 277

第12章 FlashIAP在应用编程模块的应用 279

12.1 IAP在应用编程的通用基础知识 280

12.2 IAP命令执行详解 280

12.3 IAP模块的SDK驱动介绍 283

12.4 使用LAP驱动读/写内部Flash 284

12.4.1 环境准备 284

12.4.2 代码分析 284

12.4.3 现象描述 287

12.5 小结 287

第13章 FreeRTOS实时多任务操作系统原理与应用 289

13.1 嵌入式操作系统概述 290

13.1.1 裸跑与使用操作系统的对比 290

13.1.2 嵌入式操作系统基本概念 291

13.2 FreeRTOS实时多任务操作系统介绍 294

13.2.1 FreeRTOS实时多任务操作系统特色 294

13.2.2 FreeRTOS基本功能解读 295

13.2.3 FreeRTOS的软件授权 298

13.3 FreeRTOS的底层结构与ARM平台的移植 298

13.3.1 FreeRTOS源码结构分析 299

13.3.2 内核配置头文件 301

13.3.3 移植宏定义文件 302

13.3.4 ARM平台的移植实现 304

13.3.5 tick定时器——fsl_tickless相关内容说明 308

13.3.6 portasm.s汇编 310

13.4 MCUXpresso SDK中基于FreeRTOS的外设驱动 310

13.4.1 具有操作系统功能的驱动介绍 310

13.4.2 FreeRTOS下的USART发送与接收 312

13.5 LPC5411x SDK中的FreeRTOS例程分析 315

13.5.1 环境准备 315

13.5.2 Main函数分析 315

13.5.3 FreeRTOS的多任务代码分析 317

13.5.4 操作系统环境的调试与实验说明 320

13.6 小结 321

第14章 异构双核处理器框架与应用 323

14.1 多处理器计算 324

14.2 异构双核 325

14.2.1 双核总线架构 325

14.2.2 内核管理 326

14.2.3 内核间通信 327

14.2.4 双核程序布局 327

14.3 双核应用分析 329

14.3.1 基于双核的安全启动 329

14.3.2 运用双核进行显示后处理 330

14.4 多处理器系统服务框架 331

14.4.1 多核管理模块(mcmgr) 331

14.4.2 轻型远端处理器通信框架(RPMsg-Lite) 335

14.4.3 嵌入式远程过程调用(eRPC) 337

14.5 双核应用开发 339

14.5.1 工程配置 339

14.5.2 预定义宏 340

14.5.3 双核启动 341

14.6 实例:双核远程过程调用 346

14.6.1 环境准备 346

14.6.2 代码分析 347

14.6.3 实验结果 350

14.7 小结 351

第15章 微控制器低功耗设计 353

15.1 系统能耗分析 355

15.1.1 动态功耗分析 356

15.1.2 动态功耗指标 357

15.1.3 静态功耗分析 360

15.1.4 静态功耗指标 362

15.1.5 休眠和唤醒 363

15.1.6 系统能耗估算 363

15.2 微控制器低功耗特性 365

15.2.1 系统模块电压调节 365

15.2.2 数字外设时钟控制 366

15.3 微控制器低功耗应用设计方法 366

15.3.1 硬件设计 366

15.3.2 软件设计 367

15.4 MCUXPRESSO SDK功耗管理库 374

15.5 小结 377

第16章 基于LPC54114和SDK的可穿戴设备原型设计 379

16.1 硬件介绍 380

16.1.1 硬件框图 381

16.1.2 主要元器件 381

16.2 固件与应用设计 383

16.2.1 软件架构 383

16.2.2 主流程 384

16.2.3 传感器模块 387

16.2.4 人机交互模块 391

16.2.5 用户输入模块 400

16.3 功能演示 402

16.4 小结 404

参考文献 405

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