发表于2024-11-23
本书围绕SDK的开发展开,通过分析MCU内核与外设工作原理,结合API介绍各个外设的编程和应用。希望通过本书,使传统单片机工程师面向寄存器的开发思维得到一些转变,能够尝试运用成熟的软件框架来高效地完成应用开发。本书可供具有一定C语言知识和硬件基础的嵌入式系统工程师使用,同时也可以作为高等院校电子信息工程相关专业的教学参考书。
工业和信息化部人才交流中心(以下简称中心)创建于1985年1月,1992年10月成为独立事业法人单位,工业和信息化部所属的党政机关一类事业单位(正局级),是经中央机构编制委员会办公室批准,国家事业单位登记管理局注册登记,是工业和信息化部在人才培养、人才交流、智力引进、国际交流、会议展览等方面的支撑机构;也是人力资源和社会保障部、工业和信息化部“全国信息专业技术人才知识更新工程”及“信息化工程师”项目实施承办单位。
目录
第1章 微控制器开发基础 001
1.1 微控制器的发展与趋势 002
1.2 ARM Cortex-M微控制器内核 006
1.2.1 ARM与Cortex处理器的发展 006
1.2.2 Cortex-M家族成员 007
1.2.3 Cortex-M内核技术特点与优势 010
1.3 CMSIS微控制器外设库 014
1.4 Cortex-M集成开发环境和调试工具 018
1.4.1 集成开发环境 018
1.4.2 调试工具 019
1.5 恩智浦LPC5411X系列低功耗通用微控制器 021
1.5.1 家族成员与功能概要 021
1.5.2 系统框图与内存映射 023
1.5.3 评估板与扩展板介绍 024
1.6 小结 025
第2章 MCUXpresso软件与工具开发套件 027
2.1 MCUXpresso IDE集成开发环境 028
2.1.1 MCUXpresso IDE的主要特性 029
2.1.2 安装MCUXpresso IDE 029
2.1.3 初识MCUXpresso IDE 031
2.2 MCUXpresso Config Tools配置工具 033
2.2.1 SDK生成器工具 033
2.2.2 Pins Tool引脚分配工具 036
2.2.3 Clocks Tool时钟配置工具 037
2.3 MCUXpresso SDK软件开发套件 038
2.3.1 架构分析 038
2.3.2 文件目录 040
2.3.3 外设驱动命名与依赖 041
2.3.4 外设驱动API 043
2.4 实例:Hello world 052
2.5 小结 058
第3章 微控制器的启动过程 059
3.1 上电启动后硬件自动执行的操作序列 061
3.2 从复位中断向量进入C程序的世界 062
3.2.1 复位中断函数概述 062
3.2.2 详解LPC54114的启动代码 064
3.3 LPC54114的BootLoader 075
3.3.1 BootLoader概述 075
3.3.2 BootLoader在LPC54114上的应用 076
3.4 小结 081
第4章 时钟子系统与管理 083
4.1 LPC54114的片上时钟系统 084
4.1.1 时钟源 085
4.1.2 上电后默认情况下的时钟系统 086
4.1.3 使用PLL获取更高频率的时钟信号 087
4.2 MCUXpresso SDK时钟管理API 090
4.2.1 常用时钟管理API 090
4.2.2 MCUXpresso SDK应用程序中配置时钟的典型框架 094
4.3 MCUXpresso时钟配置工具Clock Tool简介 095
4.3.1 概述 095
4.3.2 在Clock Tool中创建LPC54114Xpresso板配置工程 097
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时钟配置工具Pin Tool应用 116
5.3.1 概述 116
5.3.2 在MCUXpresso SDK工程中用Pin 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章 FlashlAP在应用编程模块的应用 279
12.1 IAP在应用编程的通用基础知识 280
12.2 IAP命令执行详解 280
12.3 IAP模块的SDK驱动介绍 283
12.4 使用IAP驱动读/写内部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 实验结果 349
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 小结 376
第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
序一
中国经济已经由高速增长阶段转向高质量发展阶段,正处在转变发展方式、优化经济结构、转换增长动力的攻关期。领导人总书记在党的十九大报告中明确指出,要坚持新发展理念,主动参与和推动经济全球化进程,发展更高层次的开放型经济,不断壮大我国的经济实力和综合国力。
对于我国的集成电路产业来说,当前正是一个实现产业跨越式发展的重要战略机遇期,前景十分光明,挑战也十分严峻。在政策层面,2014年《国家集成电路产业发展推进纲要》发布,提出到2030年产业链主要环节达到国际先进水平,实现跨越发展的发展目标;2015年,国务院提出“中国制造2025”,将集成电路产业列为重点领域突破发展首位;2016年,国务院颁布《“十三五”国家信息化规划》,提出构建现代信息技术和产业生态体系,推进核心技术超越工程,其中集成电路被放在了首位。在技术层面,目前全球集成电路产业已进入重大调整变革期,中国集成电路技术创新能力和中高端芯片供给水平正在提升,中国企业设计、封测水平正在加快迈向第一阵营。在应用层面,5G移动通信、物联网、人工智能等技术逐步成熟,各类智能终端、物联网、汽车电子及工业控制领域的需求将推动集成电路的稳步增长,因此集成电路产业将成为这些产品创新发展的战略制高点。
展望“十三五”,中国集成电路产业必将迎来重大发展,特别是党的十九大提出要加快建设制造强国,加快发展先进制造业,推动互联网、大数据、人工智能和实体经济深度融合等新的要求,给集成电路发展开拓了新的发展空间,使得集成电路产业由技术驱动模式转化为需求和效率优先模式。在这样的大背景下,通过高层次的全球合作来促进我国国内集成电路产业的崛起,将成为我们发展集成电路的一个重要抓手。
在推进集成电路产业发展的过程中,建立创新体系、构建产业竞争力,最终都要落实在人才上。人才培养是集成电路产业发展的一个核心组成部分,我们的政府、企业、科研和出版单位对此都承担着重要的责任和义务。所以我们非常支持工业和信息化部人才交流中心、恩智浦(中国)管理有限公司、电子工业出版社共同组织出版这套“物联网与人工智能应用开发丛书”。这套丛书集中了众多一线工程师和技术人员的集体智慧和经验,并且经过了行业专家学者的反复论证。我希望广大读者可以将这套丛书作为日常工作中的一套工具书,指导应用开发工作,还能够以这套丛书为基础,从应用角度对我们未来产业的发展进行探索,并与中国的发展特色紧密结合,服务中国集成电路产业的转型升级。
刁石京 工业和信息化部电子信息司司长
2018年1月
序二
随着摩尔定律逐步逼近极限,以及云计算、大数据、物联网、人工智能、5G等新兴应用领域的兴起,细分领域竞争格局加快重塑,围绕资金、技术、产品、人才等全方位的竞争加剧,当前全球集成电路产业进入了发展的重大转型期和变革期。
自2014年《国家集成电路产业发展推进纲要》发布以来,随着“中国制造2025”“互联网+”、大数据等国家战略的深入推进,国内集成电路市场需求规模进一步扩大,产业发展空间进一步增大,发展环境进一步优化。在市场需求拉动和国家相关政策的支持下,我国集成电路产业继续保持平稳快速、稳中有进的发展态势,产业规模稳步增长,技术水平持续提升,资本运作渐趋活跃,国际合作层次不断提升。
集成电路产业是一个高度全球化的产业,发展集成电路需要强调自主创新,也要强调开放与国际合作,中国不可能关起门来发展集成电路。
集成电路产业的发展需要知识的不断更新。这一点随着云计算、大数据、物联网、人工智能、5G等新业务、新平台的不断出现,已经显得越来越重要、越来越迫切。由工业和信息化部人才交流中心、恩智浦(中国)管理有限公司与电子工业出版社共同组织编写的“物联网与人工智能应用开发丛书”,是我们产业开展国际知识交流与合作的一次有益尝试。我们希望看到更多国内外企业持续为我国集成电路产业 嵌入式微控制器固件开发与应用 下载 mobi epub pdf txt 电子书 格式
嵌入式微控制器固件开发与应用 下载 mobi pdf epub txt 电子书 格式 2024
嵌入式微控制器固件开发与应用 下载 mobi epub pdf 电子书评分
评分
评分
评分
评分
评分
评分
评分
嵌入式微控制器固件开发与应用 mobi epub pdf txt 电子书 格式下载 2024