新書推薦:
《
家、金钱和孩子
》
售價:NT$
295.0
《
量价关系——透视股票涨跌脉络
》
售價:NT$
340.0
《
二十四节气生活美学
》
售價:NT$
340.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
基于鲲鹏的分布式图分析算法实战
》
售價:NT$
495.0
《
夺回大脑 如何靠自己走出强迫
》
售價:NT$
299.0
《
图解机械工程入门
》
售價:NT$
440.0
《
中文版SOLIDWORKS 2024机械设计从入门到精通(实战案例版)
》
售價:NT$
450.0
|
編輯推薦: |
本书以德州仪器(TI)的ARM Cortex-M4F内核的MSP432系列微控制器为蓝本、以知识要素为核心、以构件化为基础阐述嵌入式技术基础与实践。全书共14章,其中第1章为概述,简要阐述嵌入式系统的知识体系、学习误区与学习建议。第2章给出ARM Cortex-M4F处理器简介。第3章给出MSP432存储映像、中断源与硬件*小系统。第4章以GPIO为例阐述底层驱动概念、设计与应用方法,给出规范的工程组织框架。第5章阐述嵌入式硬件构件与底层驱动构件基本规范。第6章阐述串行通信接口UART,并给出*个带中断的实例。1~6章囊括了学习一个微控制器入门环节的完整要素。7~13分别给出了Systick、Timer、RTC、GPIO的应用实例(键盘、LED与LCD)、Flash在线编程、ADC、CMP、SPI、I2C、CTI、DMA及其他模块。第14章给出了进一步学习指导。
本书提供了网上光盘,内含所有底层驱动构件源程序、测试实例、文档资料、教学课件及常用软件工具。网上光盘下载地址:http:sumcu.suda.edu.cn。本书内容还制作了MOOC,供读者选用。
本书适用于高等学校嵌入式系
|
內容簡介: |
本书以德州仪器(TI)的ARM CortexM4F内核的MSP432系列微控制器为蓝本,以知识要素为核心,以构件化为基础阐述嵌入式技术基础与实践。全书共14章,第1章为概述,简要阐述嵌入式系统的知识体系、学习误区与学习建议; 第2章给出ARM CortexM4F处理器; 第3章介绍MSP432存储映像、中断源与硬件*小系统; 第4章以GPIO为例阐述底层驱动概念、设计与应用方法,介绍规范的工程组织框架; 第5章阐述嵌入式硬件构件与底层驱动构件基本规范; 第6章阐述串行通信接口UART,并给出*个带中断的实例。第1~6章囊括学习一个微控制器入门环节的完整要素。第7~13章分别介绍SysTick、Timer、RTC、GPIO的应用实例(键盘、LED与LCD)、Flash在线编程、ADC、CMP、SPI、I2C、CTI、DMA及其他模块。第14章阐述进一步学习指导。 本书提供了网上教学资源,内含所有底层驱动构件源程序、测试实例、文档资料、教学课件及常用软件工具。配合本书内容还制作了微课视频,供读者选用。 本书适用于高等学校嵌入式系统的教学或技术培训,也可供ARM CortexM4F应用工程师进行技术研发时参考。
|
目錄:
|
Contents
目录
第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 CortexM4F处理器
2.1ARM CortexM4F处理器简介
2.1.1ARM CortexM4F处理器内部结构概要
2.1.2ARM CortexM4F处理器存储器映像
2.1.3ARM CortexM4F处理器的寄存器
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.2IO端口资源类引脚
3.4MSP432系列MCU硬件最小系统
3.4.1电源及其滤波电路
3.4.2复位电路及复位功能
3.4.3晶振电路
3.4.4SWD接口电路
小结
习题
第4章GPIO及程序框架
4.1通用IO接口基本概念及连接方法
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 CortexM4F中断机制及MSP432中断编程步骤
6.3.1关于中断的通用基础知识
6.3.2ARM CortexM4F非内核模块中断编程结构
6.3.3MSP432中断编程步骤以串口接收中断为例
6.4UART驱动构件的设计方法
6.4.1UART模块编程结构
6.4.2UART驱动构件源码
小结
习题
第7章定时器相关模块
7.1ARM CortexM4F内核定时器
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格式化输出
参考文献
|
內容試閱:
|
前言
嵌入式计算机系统简称嵌入式系统,其概念最初源于传统测控系统对计算机的需求。随着以微处理器(MPU)为内核的微控制器(MCU)制造技术的不断进步,计算机领域在通用计算机系统与嵌入式计算机系统两大分支分别得以发展。通用计算机已经在科学计算、通信、日常生活等各个领域产生重要影响。在后PC时代,嵌入式系统的广阔应用是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略分为两大类: 一类是电子系统的智能化(如工业控制、汽车电子、数据采集、测控系统、家用电器、现代农业、传感网应用等),这类应用也被称为微控制器MCU领域; 另一类是计算机应用的延伸(如平板电脑、手机、电子图书等),这类应用也被称为应用处理器MAP领域。在ARM产品系列中,ARM CortexM系列与ARM CortexR系列适用于电子系统的智能化类应用,即微控制器领域; ARM CortexA系列适用于计算机应用的延伸,即应用处理器领域。不论如何分类,嵌入式系统的技术基础是不变的,即要完成一个嵌入式系统产品的设计,需要有硬件、软件及行业领域的相关知识。但是,随着嵌入式系统中软件规模日益增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关注,嵌入式软硬件构件化开发方法逐步被业界所重视。
本书前期版本曾获苏州大学精品教材、江苏省高等学校重点教材、普通高等教育十一五十二五国家级规划教材等。本版是在2017年出版的第4版基础上重新撰写,样本芯片改为德州仪器的MSP432系列微控制器(ARM CortexM4F内核)。书中以嵌入式硬件构件及底层软件构件设计为主线,基于嵌入式软件工程的思想,按照通用知识驱动构件使用方法测试实例芯片编程结构构件的设计方法的思路,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。需要特别说明的是,虽然书籍撰写与教学必须以某一特定芯片为蓝本,但作为嵌入式技术基础,我们试图阐述嵌入式通用知识要素。因此,本书以知识要素为基本立足点设计芯片底层驱动,使得应用程序与芯片无关,具有通用嵌入式计算机性质。书中将大部分驱动的使用方法提前阐述,而将驱动构件的设计方法后置,目的是先学会实际编程,后理解构件的设计方法。因构件设计方法部分有一定难度,对于不同要求的教学场景,也可不要求学生理解全部构件的设计方法,讲解一两个即可。
本书具有以下特点。
(1) 把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式通用知识的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。
(2) 把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能编写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件与软件知识之间的关系。
(3) 对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则并按照构件化封装要求编制的底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。
(4) 设计合理的测试用例。书中所有源程序均经测试通过,并将测试用例保留在本书的网上教学资源中,避免了因例程的书写或固有错误给读者带来的烦恼。这些测试用例也为读者验证与理解带来方便。
(5) 网上教学资源提供了所有模块完整的底层驱动构件化封装程序与测试用例。需要使用PC程序的测试用例,还提供了PC的C#源程序。网上教学资源中还提供了阅读资料、开发环境的简明使用方法、写入器驱动与使用方法、部分工具软件、有关硬件原理图等。网上教学资源的版本将会适时更新。
(6) 提供硬件核心板、写入调试器,方便读者进行实践与应用。同时提供了核心板与苏州大学嵌入式系统及物联网实验室设计的扩展板对接,以满足教学实验需要。
本书所对应课程已经成为国家精品在线课程,在中国大学MOOC官网上线。
本书由王宜怀负责编制提纲和统稿工作,并撰写第1~6章、第14章; 许粲昊撰写第7~10章; 曹国平撰写第11~13章。研究生张艺琳、张蓉、周欣、程宏玉、黄志贤协助了书稿的整理及程序调试工作,他们卓有成效的工作,使本书更加实用。TI公司潘亚涛先生、王沁女士十分重视苏州大学嵌入式系统与物联网实验室的建设,为本书的撰写提供了硬件及软件资料,并提出了许多宝贵意见。
鉴于作者水平有限,书中难免存在不足之处,恳望读者提出宝贵意见和建议,以便再版时改进。
苏州大学王宜怀
2019年1月
|
|