嵌入式微控制器固件开发与应用

嵌入式微控制器固件开发与应用

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

微控制器固件开发挑战大增,SDK软件开发套件成主流。

内容简介

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

章节目录

封面

版权页

物联网与人工智能应用开发丛书指导委员会

物联网与人工智能应用开发丛书专家委员会

《嵌入式微控制器固件开发与应用》作者

物联网与人工智能应用开发丛书

序一

序二

序三

序四

前言

目录

第1章 微控制器开发基础

1.1 微控制器的发展与趋势

1.2 ARM Cortex-M微控制器内核

1.2.1 ARM与Cortex处理器的发展

1.2.2 Cortex-M家族成员

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

1.3 CMSIS微控制器外设库

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

1.4.1 集成开发环境

1.4.2 调试工具

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

1.5.1 家族成员与功能概要

1.5.2 系统框图与内存映射

1.5.3 评估板与扩展板介绍

1.6 小结

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

2.1 MCUXpresso IDE集成开发环境

2.1.1 MCUXpresso IDE的主要特性

2.1.2 安装MCUXpresso IDE

2.1.3 初识MCUXpresso IDE

2.2 MCUXpresso Config Tools配置工具

2.2.1 SDK生成器工具

2.2.2 Pins Tool引脚分配工具

2.2.3 Clocks Tool时钟配置工具

2.3 MCUXpresso SDK软件开发套件

2.3.1 架构分析

2.3.2 文件目录

2.3.3 外设驱动命名与依赖

2.3.4 外设驱动API

2.4 实例:Hello world

2.5 小结

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

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

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

3.2.1 复位中断函数概述

3.2.2 详解LPC54114的启动代码

3.3 LPC54114的BootLoader

3.3.1 BootLoader概述

3.3.2 BootLoader在LPC54114上的应用

3.4 小结

第4章 时钟子系统与管理

4.1 LPC54114的片上时钟系统

4.1.1 时钟源

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

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

4.2 MCUXpresso SDK时钟管理API

4.2.1 常用时钟管理API

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

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

4.3.1 概述

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

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

4.5 小结

第5章 IO子系统与中断

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

5.1.1 IOCON IO引脚配置模块

5.1.2 GPIO通用输入/输出模块

5.1.3 PINT 引脚中断模块

5.1.4 INPUT MUX 输入复用器

5.2 MCUXpresso SDK中的GPIO与PINT驱动

5.2.1 GPIO驱动API

5.2.2 PINT驱动API

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

5.3.1 概述

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

5.4 实例:通过按键控制LED

5.5 小结

第6章 DMA原理与应用

6.1 DMA控制器概述

6.2 DMA特性和内部框图

6.2.1 LPC5411x DMA特性

6.2.2 DMA内部框图

6.3 DMA 外部引脚描述

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

6.4.1 DMA的工作原理

6.4.2 DMA请求和触发

6.4.3 DMA传输描述符

6.4.4 DMA传输模式

6.4.5 DMA低功耗模式

6.5 DMA模块的SDK驱动介绍

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

6.6.1 环境准备

6.6.2 代码分析

6.6.3 实验现象

6.7 小结

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

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

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

7.3 ADC特性和内部框图

7.3.1 ADC特性

7.3.2 ADC内部框图

7.4 ADC外部引脚描述

7.5 ADC功能说明

7.5.1 ADC时钟

7.5.2 转换序列

7.5.3 触发转换

7.5.4 转换模式

7.5.5 转换输出

7.5.6 偏移误差校准

7.6 ADC模块的SDK驱动介绍

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

7.7.1 环境准备

7.7.2 代码分析

7.7.3 现象描述

7.8 小结

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

8.1 USART控制器概述

8.2 USART模块特性和内部框图

8.2.1 LPC5411x USART特性

8.2.2 LPC5411x USART内部框图

8.3 Flexcomm接口概述

8.3.1 Flexcomm功能说明

8.3.2 Flexcomm内部框图

8.4 USART外部引脚描述

8.4.1 USART模块引脚功能定义

8.4.2 USART引脚配置说明

8.5 USART基本功能说明

8.5.1 USART模块初始化

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

8.5.3 收发控制

8.5.4 低功耗模式下USART的唤醒

8.6 USART模块的SDK驱动介绍

8.7 USART数据收发

8.7.1 环境准备

8.7.2 代码分析

8.7.3 现象描述

8.8 小结

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

9.1 SPI控制器概述

9.2 SPI特性和内部框图

9.2.1 LPC5411x SPI特性

9.2.2 SPI内部框图

9.3 SPI 外部引脚描述

9.4 SPI功能说明

9.4.1 SPI工作模式

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

9.4.3 超出16位的数据传输

9.4.4 低功耗模式下SPI唤醒

9.4.5 SPI数据帧延迟

9.5 SPI模块的SDK驱动介绍

9.6 实例:SPI读/写外部Flash

9.6.1 实验目的和环境准备

9.6.2 代码分析

9.6.3 实验现象

9.7 小结

第10章 I2C总线接口与应用

10.1 I2C控制器概述

10.2 I2C特性和内部框图

10.2.1 LPC5411x I2C特性

10.2.2 I2C内部框图

10.3 I2C外部引脚描述

10.4 I2C功能说明

10.4.1 I2C协议简介

10.4.2 I2C总线速率和时钟延伸

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

10.4.4 I2C的死锁和超时机制

10.5 I2C模块的SDK驱动

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

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

10.6.2 实例软件设计

10.6.3 main文件

10.6.4 现象描述

10.7 小结

第11章 I2S总线协议与应用

11.1 I2S总线协议简介

11.2 I2S特性和内部框图

11.2.1 I2S特性

11.2.2 I2S内部框图

11.3 I2S外部引脚描述

11.4 I2S功能说明

11.4.1 I2S时钟

11.4.2 数据速率

11.4.3 数据帧格式和模式

11.4.4 FIFO缓冲区的使用方法

11.5 I2S模块的SDK驱动介绍

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

11.6.1 环境准备

11.6.2 代码分析

11.6.3 现象描述

11.7 小结

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

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

12.2 IAP命令执行详解

12.3 IAP模块的SDK驱动介绍

12.4 使用IAP驱动读/写内部Flash

12.4.1 环境准备

12.4.2 代码分析

12.4.3 现象描述

12.5 小结

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

13.1 嵌入式操作系统概述

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

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

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

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

13.2.2 FreeRTOS基本功能解读

13.2.3 FreeRTOS的软件授权

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

13.3.1 FreeRTOS源码结构分析

13.3.2 内核配置头文件

13.3.3 移植宏定义文件

13.3.4 ARM平台的移植实现

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

13.3.6 portasm.s汇编

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

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

13.4.2 FreeRTOS下的USART发送与接收

13.5 LPC5411x SDK中的FreeRTOS例程分析

13.5.1 环境准备

13.5.2 Main函数分析

13.5.3 FreeRTOS的多任务代码分析

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

13.6 小结

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

14.1 多处理器计算

14.2 异构双核

14.2.1 双核总线架构

14.2.2 内核管理

14.2.3 内核间通信

14.2.4 双核程序布局

14.3 双核应用分析

14.3.1 基于双核的安全启动

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

14.4 多处理器系统服务框架

14.4.1 多核管理模块(mcmgr)

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

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

14.5 双核应用开发

14.5.1 工程配置

14.5.2 预定义宏

14.5.3 双核启动

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

14.6.1 环境准备

14.6.2 代码分析

14.6.3 实验结果

14.7 小结

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

15.1 系统能耗分析

15.1.1 动态功耗分析

15.1.2 动态功耗指标

15.1.3 静态功耗分析

15.1.4 静态功耗指标

15.1.5 休眠和唤醒

15.1.6 系统能耗估算

15.2 微控制器低功耗特性

15.2.1 系统模块电压调节

15.2.2 数字外设时钟控制

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

15.3.1 硬件设计

15.3.2 软件设计

15.4 MCUXPRESSO SDK功耗管理库

15.5 小结

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

16.1 硬件介绍

16.1.1 硬件框图

16.1.2 主要元器件

16.2 固件与应用设计

16.2.1 软件架构

16.2.2 主流程

16.2.3 传感器模块

16.2.4 人机交互模块

16.2.5 用户输入模块

16.3 功能演示

16.4 小结

参考文献

反侵权盗版声明

嵌入式微控制器固件开发与应用是2018年由电子工业出版社出版,作者 恩智浦(中国)管理有限公司。

得书感谢您对《嵌入式微控制器固件开发与应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
RISC-V架构与嵌入式开发快速入门 电子书
为了促进RISC-V在国内的普及,尤其是被广大初学者接受和快速入门,本书将分享和总结一些使用RISC-V进行嵌入式开发的相关技术和经验,主要面向对RISC-V感兴趣的入门用户,包括嵌入式软件开发和硬件设计人员。 本书的姊妹版《手把手教你设计CPU——RISC-V处理器篇》已经出版,提供了一个非常高效的超低功耗开源RISC-V处理器学习案例——蜂鸟E203,并对其进行了全方面剖析和讲解,解决了在CPU硬件设计方面中文资料欠缺的问题。
Linux嵌入式系统开发从小白到大牛 电子书
紧跟书中内容的安排顺序并结合具体案例进行学习,带你独立编写个人的嵌入式Linux系统。
嵌入式操作系统.Linux篇:微课版 电子书
本书较为全面地介绍了嵌入式操作系统,全书共10章,分别为嵌入式Linux操作系统简介、嵌入式Linux操作系统的使用、Linux软件管理、Linux用户管理、Linux文件系统、Linux网络配置管理、嵌入式Linux编程环境、Shell编程环境、中断与设备管理、正则表达式,书中还提供了练习题和配套视频。本书可以作为高等院校嵌入式相关专业和计算机相关专业的教材,也可以作为计算机软硬件培训班教材,还
嵌入式应用程序设计综合教程(微课版) 电子书
嵌入式应用设计实例解析:涵盖Linux开发环境、进程控制、多线程编程等核心概念。
嵌入式技术与应用开发项目教程(STM32版) 电子书
本书基于ST公司的STM32芯片,包括8个项目、19个任务,分别介绍LED控制设计与实现、跑马灯控制设计与实现、数码管显示设计与实现、控键控制设计与实现、定时器应用设计与实现、串行通信设计与实现、模数转换设计与实现以及嵌入式智能车设计与实现等内容,涵盖了嵌入式系统的基本知识和嵌入式应用开发的基本内容。本书引入Proteus仿真软件,采用“任务驱动、做中学”的编写思路,每个任务均将相关知识和职业岗位