书籍详情
《嵌入式技术基础与实践(第5版):基于ARM Cortex-M4F内核的MSP432系列微控制器》[96M]百度网盘|亲测有效|pdf下载
  • 嵌入式技术基础与实践(第5版):基于ARM Cortex-M4F内核的MSP432系列微控制器

  • 出版社:清华大学出版社
  • 作者:王宜怀,许粲昊,曹国平 著
  • 出版时间:2019-03-01
  • 热度:8847
  • 上架时间:2025-01-04 08:18:29
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色

内容简介

本书以德州仪器(TI)的ARM CortexM4F内核的MSP432系列微控制器为蓝本,以知识要素为核心,以构件化为基础阐述嵌入式技术基础与实践。全书共14章,第1章为概述,简要阐述嵌入式系统的知识体系、学习误区与学习建议; 第2章给出ARM CortexM4F处理器; 第3章介绍MSP432存储映像、中断源与硬件1小系统; 第4章以GPIO为例阐述底层驱动概念、设计与应用方法,介绍规范的工程组织框架; 第5章阐述嵌入式硬件构件与底层驱动构件基本规范; 第6章阐述串行通信接口UART,并给出一个带中断的实例。第1~6章囊括学习一个微控制器入门环节的完整要素。第7~13章分别介绍SysTick、Timer、RTC、GPIO的应用实例(键盘、LED与LCD)、Flash在线编程、ADC、CMP、SPI、I2C、CTI、DMA及其他模块。第14章阐述进一步学习指导。
本书提供了网上教学资源,内含所有底层驱动构件源程序、测试实例、文档资料、教学课件及常用软件工具。配合本书内容还制作了微课视频,供读者选用。
本书适用于高等学校嵌入式系统的教学或技术培训,也可供ARM CortexM4F应用工程师进行技术研发时参考。

目录

第1章概述
1.1嵌入式系统定义、发展简史、分类及特点
1.1.1嵌入式系统的定义
1.1.2嵌入式系统的由来及发展简史
1.1.3嵌入式系统的分类
1.1.4嵌入式系统的特点
1.2嵌入式系统的学习困惑、知识体系及学习建议
1.2.1嵌入式系统的学习困惑
1.2.2嵌入式系统的知识体系
1.2.3基础阶段的学习建议
1.3微控制器与应用处理器简介
1.3.1微控制器简介
1.3.2以MCU为核心的嵌入式测控产品的基本组成
1.3.3应用处理器简介
1.4嵌入式系统常用术语
1.4.1与硬件相关的术语
1.4.2与通信相关的术语
1.4.3与功能模块相关的术语
1.5嵌入式系统常用的C语言基本语法概要
1.5.1C语言的运算符与数据类型
1.5.2程序流程控制
1.5.3函数
1.5.4数据存储方式
1.5.5编译预处理
小结
习题
第2章ARM CortexM4F处理器
2.1ARM CortexM4F处理器简介
2.1.1ARM CortexM4F处理器内部结构概要
2.1.2ARM CortexM4F处理器存储器映像
2.1.3ARM CortexM4F处理器的寄存器
2.2指令系统
2.2.1指令简表与寻址方式
2.2.2数据传送类指令
2.2.3数据操作类指令
2.2.4跳转控制类指令
2.2.5其他指令
2.3指令集与机器码对应表
2.4汇编语言的基本语法
2.4.1汇编语言格式
2.4.2常用伪指令简介
小结
习题
嵌入式技术基础与实践(第5版)
第3章存储映像、中断源与硬件最小系统
3.1MSP432系列MCU概述
3.1.1MSP432系列MCU简介
3.1.2MSP432系列MCU内部结构框图
3.2MSP432系列MCU存储映像与中断源
3.2.1MSP432系列MCU存储映像
3.2.2MSP432中断源
3.3MSP432系列MCU的引脚功能
3.3.1硬件最小系统引脚
3.3.2I/O端口资源类引脚
3.4MSP432系列MCU硬件最小系统
3.4.1电源及其滤波电路
3.4.2复位电路及复位功能
3.4.3晶振电路
3.4.4SWD接口电路
小结
习题
第4章GPIO及程序框架
4.1通用I/O接口基本概念及连接方法
4.2GPIO模块的编程结构
4.2.1端口与GPIO模块——对外引脚与内部寄存器
4.2.2GPIO基本编程步骤与基本打通程序
4.3GPIO驱动构件封装方法与驱动构件封装规范
4.3.1设计GPIO驱动构件的必要性及GPIO驱动构件封装要点分析
4.3.2底层驱动构件封装规范概要与构件封装的前期准备
4.3.3MSP432的GPIO驱动构件源码及解析
4.4利用构件方法控制小灯闪烁
4.4.1Light构件设计
4.4.2Light构件测试工程主程序
4.5工程文件组织框架与第一个C语言工程分析
4.5.1工程框架及所含文件简介
4.5.2链接文件常用语法及链接文件解析
4.5.3机器码文件解析
4.5.4芯片上电启动执行过程
4.6第一个汇编语言工程: 控制小灯闪烁
4.6.1汇编工程文件的组织
4.6.2汇编语言GPIO构件及使用方法
4.6.3汇编语言Light构件及使用方法
4.6.4汇编语言Light测试工程主程序
小结
习题
第5章嵌入式硬件构件与底层驱动构件基本规范
5.1嵌入式硬件构件
5.1.1嵌入式硬件构件的概念与分类
5.1.2基于嵌入式硬件构件的电路原理图设计简明规则
5.2嵌入式底层驱动构件的概念与层次模型
5.2.1嵌入式底层驱动构件的概念
5.2.2嵌入式硬件构件与软件构件结合的层次模型
5.2.3嵌入式软件构件的分类
5.3底层驱动构件的封装规范
5.3.1构件设计的基本思想与基本原则
5.3.2编码风格基本规范
5.3.3公共要素文件
5.3.4头文件的设计规范
5.3.5源程序文件的设计规范
5.4硬件构件及底层软件构件的重用与移植方法
小结
习题
第6章串行通信模块及第一个中断程序结构
6.1异步串行通信的通用基础知识
6.1.1串行通信的基本概念
6.1.2RS232总线标准
6.1.3TTL电平到RS232电平转换电路
6.1.4串行通信编程模型
6.2MSP432芯片UART驱动构件及使用方法
6.2.1MSP432芯片UART引脚
6.2.2UART驱动构件基本要素分析与头文件
6.2.3printf的设置方法与使用
6.3ARM CortexM4F中断机制及MSP432中断编程步骤
6.3.1关于中断的通用基础知识
6.3.2ARM CortexM4F非内核模块中断编程结构
6.3.3MSP432中断编程步骤——以串口接收中断为例
6.4UART驱动构件的设计方法
6.4.1UART模块编程结构
6.4.2UART驱动构件源码
小结
习题
第7章定时器相关模块
7.1ARM CortexM4F内核定时器
7.1.1SysTick模块的编程结构
7.1.2SysTick的驱动构件设计
7.2脉宽调制、输入捕捉与输出比较通用基础知识
7.2.1脉宽调制PWM通用基础知识
7.2.2输入捕捉与输出比较通用基础知识
7.3Timer_A模块
7.3.1Timer_A模块功能概述
7.3.2Timer_A模块驱动构件及使用方法
7.3.3Timer_A模块驱动构件设计
7.4Timer32模块
7.4.1Timer32模块功能概述
7.4.2Timer32模块驱动构件及使用方法
7.4.3Timer32模块驱动构件设计
7.5实时时钟RTC_C模块
7.5.1RTC_C模块功能概述
7.5.2RTC_C模块驱动构件及使用方法
7.5.3RTC驱动构件的设计
小结
习题
第8章GPIO应用——键盘、LED及LCD
8.1键盘的基础知识及其驱动构件设计
8.1.1键盘模型及接口
8.1.2键盘编程基本问题、扫描编程原理及键值计算
8.1.3键盘驱动构件的设计
8.2LED数码管的基础知识及其驱动构件设计
8.2.1LED数码管的基础知识
8.2.2LED驱动构件设计及使用方法
8.3LCD的基础知识及其驱动构件设计
8.3.1LCD的特点和分类
8.3.2点阵字符型LCD模块控制器HD44780
8.3.3LCD构件设计
8.4键盘、LED及LCD驱动构件测试实例
小结
习题
第9章Flash在线编程
9.1Flash在线编程的通用基础知识
9.2Flash驱动构件及使用方法
9.2.1Flash驱动构件知识要素分析
9.2.2Flash驱动构件头文件
9.2.3Flash驱动构件的使用方法
9.3Flash驱动构件的设计方法
9.3.1Flash模块编程结构
9.3.2Flash驱动构件设计技术要点
9.3.3Flash驱动构件源码
小结
习题
第10章ADC与CMP模块
10.1模拟/数字转换器
10.1.1ADC的通用基础知识
10.1.2ADC驱动构件及使用方法
10.1.3ADC模块的编程结构
10.1.4ADC驱动构件的设计
10.2比较器
10.2.1CMP的通用基础知识
10.2.2CMP驱动构件及使用方法
10.2.3CMP驱动构件的编程结构
10.2.4CMP驱动构件的设计
小结
习题
第11章SPI、I2C与CTI模块
11.1串行外设接口模块
11.1.1串行外设接口的通用基础知识
11.1.2SPI驱动构件头文件及使用方法
11.1.3SPI模块的编程结构
11.1.4SPI驱动构件的设计
11.2集成电路互联总线模块
11.2.1集成电路互联总线的通用基础知识
11.2.2I2C驱动构件头文件及使用方法
11.2.3I2C模块的编程结构
11.2.4I2C驱动构件源码
11.3电容式触摸感应模块
11.3.1电容式触摸感应的通用基础知识
11.3.2CTI驱动构件头文件及使用方法
11.3.3CTI模块的编程结构
11.3.4CTI驱动构件的设计
小结
习题
第12章DMA编程
12.1直接存储器存取的通用基础知识
12.1.1DMA的基本概念
12.1.2DMA的一般操作流程
12.2DMA构件头文件及使用方法
12.3DMA驱动构件的设计方法
12.3.1DMA模块编程结构
12.3.2DMA驱动构件源码
小结
习题
第13章系统时钟与其他功能模块
13.1时钟系统
13.1.1时钟系统概述
13.1.2时钟模块概要与编程要点
13.1.3时钟模块测试实例
13.2电源模块
13.2.1电源模式控制
13.2.2电源模式转换
13.3校验模块
13.3.1CRC32模块简介
13.3.2CRC校验和生成
13.3.3CRC标准与位顺序
13.3.4CRC实现
13.3.5CRC寄存器
13.4看门狗模块
13.4.1看门狗模块简介
13.4.2看门狗的配置方法
13.5复位模块
13.5.1电源开/关复位
13.5.2重新启动重置
13.5.3硬重置
13.5.4软重置
13.6高级加密模块
13.6.1AES介绍
13.6.2AES工作流程
13.6.3AES寄存器
13.7位带技术及应用方法
13.7.1位带别名区概述
13.7.2位带别名区的应用机制解析
13.7.3位带别名区使用注意事项
13.7.4测试实例
小结
习题
第14章进一步学习指导
14.1关于更为详细的技术资料
14.2关于实时操作系统
14.3关于嵌入式系统稳定性问题
附录A100引脚LQFP封装MSP432的复用功能
附录B100引脚LQFP封装MSP432的硬件最小系统
附录C集成开发环境CCS简明使用方法
附录Dprintf格式化输出
参考文献

精彩书摘

  第3章
  存储映像、中断源与硬件最小系统
  本章导读: 本章简要概述MSP432的存储映像、中断源与硬件最小系统,有助于读者了解MSP432软硬件系统的大致框架,以便开始MSP432的软硬件设计。3.1节给出MSP432系列MCU的基本特点及体系结构概述; 3.2节给出MSP432系列芯片的存储映像及中断源,存储映像主要包括Flash区、片内RAM区,以便于配置链接文件; 3.3节将引脚分为硬件最小系统引脚及对外提供服务的引脚两类,并给出它们的功能介绍; 3.4节给出MSP432硬件最小系统的原理图及简明分析。
  本章参考资料: 3.1节主要参考TI官网; 3.2节主要参考官网资料《MSP432参考手册》; 3.3节的MSP432存储映像与中断源参考《MSP432参考手册》的第1章; 3.4节的MSP432引脚功能参考《MSP432简介》的第4章。
  3.1MSP432系列MCU概述
  3.1.1MSP432系列MCU简介
  MSP432系列使用Cortex M4F内核具有超低功耗、应用设计方便、扩展性好等特点。MSP432系列MCU具有多个低功率操作模式,包括新的门控时钟,该模式在要求最低功耗时通过关闭总线、系统时钟减少动态功耗,外设仍可在一个可选异步时钟源下继续运作; 在未唤醒内核的情况下,UART、SPI、I2C、ADC、DAC、LPT和DMA等可支持低功耗模式。MSP432系列MCU的主要特点为: ①32位的Cortex M4F架构,针对小封装的嵌入式应用进行了优化; ②具有优秀的处理能力与快速中断处理能力; ③提供混合的16/32位的Thumb2指令集与32位ARM内核所期望的高性能,采用更紧凑的内存方案; ④符合IEEE 754的浮点运算单元(FPU); ⑤16位SIMD向量处理单元; ⑥快速代码执行允许更低的处理器时钟,并且增加了休眠模式时间; ⑦哈佛构架将数据(Dcode)和指令(Icode)所使用的总线进行分离; ⑧使用高效的处理器内核、系统和存储器; ⑨具有硬件除法器和快速数字信号处理为导向的乘加功能; ⑩采用饱和算法处理信号; 对时间苛刻的应用提供可确定的、高性能的处理; 储存器保护单元为操作系统提供特权操作模式; 增强的系统调试提供全方位的断电和跟踪总能力; 串行线调试和串行线跟踪减少调试和跟踪过程中需求的引脚数; 从ARM7处理器系列中移植过来,以获得更好的性能和更高的电源效率; 针对高于指定频率的单周期Flash储存器使用情况而设计; 集成多种休眠模式,使功耗更低。
  1. MSP432系列MCU的型号标识
  德州仪器MSP432系列MCU的型号虽然很多,但是内核是相同的,
  为了方便选型与订购,需要基本了解MCU型号标识的基本含义。MSP432系列命名格式为:
  MSP PPP SFFFF (T) (CC) (D) (A)
  其中,各字段说明如表31所示,本书使用的芯片命名为MSP432P401RIPZ。对照命名格式,可以从型号获得以下信息: 属于混合信号处理器系列、32位内核、低功耗系列、主频48MHz、通用MCU、内含14位AD转换模块、内部Flash大小为256KB、内部SRAM大小为64KB、温度范围为-40~85℃、封装形式为100引脚LQFP封装(14mm×14mm)。本书所说的MSP432,均是以该具体型号为例。
  表31MSP432系列芯片型号字段含义
  字段
  说明
  取值
  MSP
  处理器系列
  MSP代表混合信号处理器
  PPP
  平台
  432代表32位内核
  S
  系列
  P代表高性能低功耗系列
  FFFF
  功能集
  第一位,4代表基于Flash,主频48MHz; 第二位,0代表一般用途; 第三位,1代表ADC14;
  第四位,R代表256KB Flash、64KB SRAM,M代表128KB Flash,32KB
  T
  适用温度(可选)
  S代表0~50℃; I代表-40~85℃; T代表-40~105℃
  CC
  封装类型(可选)
  PZ代表100LQFP 14mm×14mm; ZXH代表80NFBGA 5mm×5mm; RGC代表64VQFN 9mm×9mm
  D
  包装类型(可选)
  T代表小卷筒; R代表大卷轴; 无标记代表管或托盘
  A
  额外特征(可选)
  EP代表增强型产品(-40~105℃);
  HT代表极端温度部件(-55~150℃);
  Q1代表汽车Q100合格
  ……

前言/序言

  前言
  嵌入式计算机系统简称嵌入式系统,其概念最初源于传统测控系统对计算机的需求。随着以微处理器(MPU)为内核的微控制器(MCU)制造技术的不断进步,计算机领域在通用计算机系统与嵌入式计算机系统两大分支分别得以发展。通用计算机已经在科学计算、通信、日常生活等各个领域产生重要影响。在后PC时代,嵌入式系统的广阔应用是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略分为两大类: 一类是电子系统的智能化(如工业控制、汽车电子、数据采集、测控系统、家用电器、现代农业、传感网应用等),这类应用也被称为微控制器MCU领域; 另一类是计算机应用的延伸(如平板电脑、手机、电子图书等),这类应用也被称为应用处理器MAP领域。在ARM产品系列中,ARM CortexM系列与ARM CortexR系列适用于电子系统的智能化类应用,即微控制器领域; ARM CortexA系列适用于计算机应用的延伸,即应用处理器领域。不论如何分类,嵌入式系统的技术基础是不变的,即要完成一个嵌入式系统产品的设计,需要有硬件、软件及行业领域的相关知识。但是,随着嵌入式系统中软件规模日益增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关注,嵌入式软硬件构件化开发方法逐步被业界所重视。
  本书前期版本曾获苏州大学精品教材、江苏省高等学校重点教材、普通高等教育“十一五”“十二五”国家级规划教材等。本版是在2017年出版的第4版基础上重新撰写,样本芯片改为德州仪器的MSP432系列微控制器(ARM CortexM4F内核)。书中以嵌入式硬件构件及底层软件构件设计为主线,基于嵌入式软件工程的思想,按照“通用知识—驱动构件使用方法—测试实例—芯片编程结构—构件的设计方法”的思路,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。需要特别说明的是,虽然书籍撰写与教学必须以某一特定芯片为蓝本,但作为嵌入式技术基础,我们试图阐述嵌入式通用知识要素。因此,本书以知识要素为基本立足点设计芯片底层驱动,使得应用程序与芯片无关,具有通用嵌入式计算机性质。书中将大部分驱动的使用方法提前阐述,而将驱动构件的设计方法后置,目的是先学会实际编程,后理解构件的设计方法。因构件设计方法部分有一定难度,对于不同要求的教学场景,也可不要求学生理解全部构件的设计方法,讲解一两个即可。
  本书具有以下特点。
  (1) 把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。
  (2) 把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能编写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件与软件知识之间的关系。
  (3) 对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则并按照构件化封装要求编制的底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。
  (4) 设计合理的测试用例。书中所有源程序均经测试通过,并将测试用例保留在本书的网上教学资源中,避免了因例程的书写或固有错误给读者带来的烦恼。这些测试用例也为读者验证与理解带来方便。
  (5) 网上教学资源提供了所有模块完整的底层驱动构件化封装程序与测试用例。需要使用PC程序的测试用例,还提供了PC的C#源程序。网上教学资源中还提供了阅读资料、开发环境的简明使用方法、写入器驱动与使用方法、部分工具软件、有关硬件原理图等。网上教学资源的版本将会适时更新。
  (6) 提供硬件核心板、写入调试器,方便读者进行实践与应用。同时提供了核心板与苏州大学嵌入式系统及物联网实验室设计的扩展板对接,以满足教学实验需要。
  本书所对应课程已经成为国家精品在线课程,在中国大学MOOC官网上线。
  本书由王宜怀负责编制提纲和统稿工作,并撰写第1~6章、第14章; 许粲昊撰写第7~10章; 曹国平撰写第11~13章。研究生张艺琳、张蓉、周欣、程宏玉、黄志贤协助了书稿的整理及程序调试工作,他们卓有成效的工作,使本书更加实用。TI公司潘亚涛先生、王沁女士十分重视苏州大学嵌入式系统与物联网实验室的建设,为本书的撰写提供了硬件及软件资料,并提出了许多宝贵意见。
  鉴于作者水平有限,书中难免存在不足之处,恳望读者提出宝贵意见和建议,以便再版时改进。
  苏州大学王宜怀
  2019年1月

相关推荐