描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121348419丛书名: 嵌入式技术与应用丛书
产品特色
内容简介
本书基于恩智浦(NXP)公司于2017年推出的面向汽车电子的S32K系列微控制器,以构件化底层驱动为基础阐述S32K系列微控制器应用程序的设计方法,内容涉及汽车电子技术基础,S32K系列微控制器的基本特性,ARM Cortex-M4F的相关知识,底层驱动构件设计规范,以及S32K系列微控制器的Systick、PDB、LPIT、LTMR、RTC、FTM、Flash、ADC、CMP、SPI、I2C、DMA、CAN等模块的程序设计方法。
目 录
第1章 概述 (1)
1.1 汽车电子技术的基本概念 (1)
1.2 我国汽车电子发展概况 (2)
1.3 恩智浦公司在汽车电子市场中的地位 (3)
1.4 面向汽车电子的S32K系列微控制器简介 (3)
1.4.1 S32K系列微控制器的型号标识 (4)
1.4.2 S32K系列微控制器的简明特性与结构框图 (4)
1.4.3 S32K系列微控制器的共性资源列表 (6)
第2章 ARM Cortex-M4F微控制器 (7)
2.1 ARM Cortex-M4F微控制器简介 (7)
2.1.1 ARM Cortex-M4F微控制器内部结构概要 (8)
2.1.2 ARM Cortex-M4F微控制器存储器映像 (10)
2.1.3 ARM Cortex-M4F微控制器的寄存器 (10)
2.2 指令系统 (14)
2.2.1 指令简表与寻址方式 (15)
2.2.2 数据传送类指令 (16)
2.2.3 数据操作类指令 (18)
2.2.4 跳转控制类指令 (21)
2.2.5 其他指令 (22)
2.3 指令集与机器码对应表 (23)
2.4 GNU汇编语言的基本语法 (25)
2.4.1 ARM-GUN汇编语言格式 (26)
2.4.2 常用伪指令简介 (27)
第3章 存储映像、中断源与硬件小系统 (30)
3.1 S32K144存储映像与中断源 (30)
3.1.1 S32K144存储映像 (30)
3.1.2 S32K144中断源 (32)
3.2 S32K144的引脚功能 (35)
3.3.1 硬件小系统引脚 (36)
3.2.2 I/O端口资源类引脚 (36)
3.3 S32K144硬件小系统原理图 (37)
3.3.1 电源及其滤波电路 (37)
3.3.2 复位电路及复位功能 (37)
3.3.3 晶振电路 (38)
3.3.4 SWD接口电路 (38)
第4章 GPIO及程序框架 (39)
4.1 通用I/O接口的基本概念及连接方法 (39)
4.1.1 I/O接口的概念 (39)
4.1.2 通用I/O (40)
4.1.3 上拉/下拉电阻与输入引脚的基本接法 (40)
4.1.4 输出引脚的基本接法 (41)
4.2 端口控制模块与GPIO模块的编程结构 (41)
4.2.1 端口控制模块——决定引脚复用功能 (41)
4.2.2 GPIO模块的对外引脚与内部寄存器 (44)
4.2.3 GPIO基本编程步骤与基本打通程序 (45)
4.3 GPIO驱动构件封装方法与规范 (46)
4.3.1 设计GPIO驱动构件的必要性及GPIO驱动构件封装要点分析 (46)
4.3.2 底层驱动构件封装规范概要与构件封装的前期准备 (48)
4.3.3 S32K144的GPIO驱动构件源码及解析 (49)
4.4 利用构件方法控制LED闪烁 (60)
4.4.1 light构件设计 (60)
4.4.2 light构件测试工程主程序 (63)
4.5 工程文件组织框架与个C语言工程分析 (65)
4.5.1 工程框架及所含文件简介 (66)
4.5.2 链接文件常用语法及链接文件解析 (67)
4.5.3 机器码文件解析 (71)
4.5.4 芯片上电启动运行过程解析 (72)
4.6 个汇编语言工程:控制小灯闪烁 (75)
4.6.1 汇编工程文件的组织 (76)
4.6.2 汇编语言GPIO驱动构件及使用方法 (76)
4.6.3 汇编语言Light构件及使用方法 (82)
4.6.4 汇编语言Light构件测试工程主程序及汇编工程运行过程 (84)
第5章 嵌入式硬件构件与底层驱动构件基本规范 (86)
5.1 嵌入式硬件构件 (86)
5.1.1 嵌入式硬件构件的概念及其分类 (87)
5.1.2 基于嵌入式硬件构件的电路原理图设计简明规则 (87)
5.2 嵌入式底层驱动构件的概念与层次模型 (90)
5.2.1 嵌入式底层驱动构件的概念 (90)
5.2.2 嵌入式硬件构件和软件构件的层次模型 (91)
5.3 底层驱动构件的封装规范 (91)
5.3.1 构件设计的基本思想与基本原则 (92)
5.3.2 编码风格基本规范 (93)
5.3.3 构件公共要素文件 (96)
5.3.4 头文件的设计规范 (98)
5.3.5 源文件的设计规范 (99)
5.4 硬件构件及底层软件构件的重用与移植方法 (100)
5.4.1 硬件构件在实际系统中的应用 (100)
5.4.2 底层驱动构件的移植 (101)
第6章 串行通信模块及个中断程序结构 (103)
6.1 异步串行通信的通用基础知识 (103)
6.1.1 串行通信的基本概念 (104)
6.1.2 RS-232总线标准 (105)
6.1.3 TTL电平到RS-232电平转换电路 (106)
6.1.4 串行通信编程模型 (107)
6.2 UART驱动构件及使用方法 (108)
6.2.1 UART引脚分析 (108)
6.2.2 UART驱动构件基本要素分析与头文件 (109)
6.2.3 printf的设置方法与使用 (113)
6.3 ARM Cortex-M4F中断机制及S32K144中断编程 (113)
6.3.1 关于中断的通用基础知识 (113)
6.3.2 ARM Cortex-M4F非内核中断编程结构 (115)
6.3.3 S32K144中断编程步骤(以串口接收中断为例) (116)
6.4 UART驱动构件的设计方法 (118)
6.4.1 UART模块编程结构 (118)
6.4.2 UART驱动构件源文件 (123)
第7章 Timer模块 (132)
7.1 ARM Cortex-M4F内核定时器(Systick) (132)
7.1.1 Systick定时器模块的编程结构 (133)
7.1.2 Systick驱动构件设计及测试工程 (134)
7.2 延时定时器(PDB)模块 (136)
7.2.1 PDB模块功能概述 (136)
7.2.2 PDB驱动构件及使用方法 (136)
7.2.3 PDB驱动构件的设计 (139)
7.3 低功耗中断定时器(LPIT)模块 (143)
7.3.1 LPIT模块功能概述 (143)
7.3.2 LPIT驱动构件及使用方法 (143)
7.3.3 LPIT驱动构件设计 (145)
7.4 低功耗定时器(LPTMR)模块 (150)
7.4.1 LPTMR模块功能概述 (150)
7.4.2 LPTMR驱动构件及使用方法 (150)
7.4.3 LPTMR驱动构件的设计 (152)
7.5 实时时钟(RTC)模块 (155)
7.5.1 RTC模块功能概述 (155)
7.5.2 RTC驱动构件及使用方法 (156)
7.5.3 RTC驱动构件的设计 (160)
第8章 PWM模块和FTM模块 (169)
8.1 脉宽调制、输入捕捉与输出比较的通用基础知识 (169)
8.1.1 PWM的通用基础知识 (169)
8.1.2 输入捕捉与输出比较的通用基础知识 (172)
8.2 FTM模块的基本知识 (172)
8.2.1 FTM模块概述 (172)
8.2.2 FTM模块的技术要点 (173)
8.3 FTM驱动构件及使用方法 (174)
8.3.1 FTM模块的脉宽调制、输入捕捉和输出比较的外部引脚 (174)
8.3.2 FTM驱动构件头文件及使用方法 (175)
8.4 FTM驱动构件的设计 (183)
8.4.1 FTM模块编程结构 (183)
8.4.2 FTM驱动构件设计 (187)
第9章 Flash模块 (196)
9.1 Flash存储器的基础知识 (196)
9.1.1 Flash存储器的特性 (196)
9.1.2 Flash存储器的编程模式 (197)
9.1.3 Flash存储器的基本操作 (197)
9.2 Flash驱动构件及其使用方法 (197)
9.2.1 Flash驱动构件头文件解析 (197)
9.2.2 Flash驱动构件的使用方法 (200)
9.3 Flash保护 (201)
9.3.1 Flash模块保护的含义及保护函数的使用说明 (201)
9.3.2 Flash模块加密方法与去除密码方法 (202)
9.4 Flash驱动构件的设计 (203)
9.4.1 Flash模块编程结构 (203)
9.4.2 Flash驱动构件设计技术要点 (207)
9.4.3 Flash驱动构件封装要点分析 (209)
9.4.4 Flash驱动构件的源文件(flash.c) (210)
第10章 ADC模块与CMP模块 (218)
10.1 模/数转换器(ADC)模块 (218)
10.1.1 ADC模块的通用基础知识 (218)
10.1.2 ADC模块驱动构件及使用方法 (221)
10.1.3 ADC驱动构件的设计 (225)
10.2 比较器(CMP)模块 (233)
10.2.1 CMP模块的通用基础知识 (233)
10.2.2 CMP驱动构件及使用方法 (234)
10.2.3 CMP驱动构件的设计 (238)
第11章 SPI模块与I2C模块 (244)
11.1 串行外设接口(SPI)模块 (244)
11.1.1 SPI模块的通用基础知识 (244)
11.1.2 SPI驱动构件及使用方法 (247)
11.1.3 SPI驱动构件的设计 (252)
11.2 集成电路互连(I2C)总线模块 (262)
11.2.1 I2C模块的通用基础知识 (262)
11.2.2 I2C驱动构件及使用方法 (267)
11.2.3 I2C驱动构件的设计 (273)
第12章 DMA模块 (291)
12.1 DMA模块通用基础知识 (291)
12.1.1 DMA模块的基本概念 (291)
12.2.1 DMA模块的基本操作 (292)
12.2 DMA驱动构件及其使用方法 (293)
12.2.1 DMA源 (293)
12.2.2 DMA驱动构件封装要点 (294)
12.2.3 DMA驱动构件头文件(dma.h) (295)
12.2.4 DMA驱动构件的使用方法 (299)
12.2.5 DMA驱动构件测试实例 (299)
12.3 DMA驱动构件的设计 (300)
12.3.1 DMA模块编程结构 (300)
12.3.2 DMA驱动构件源程序 (309)
第13章 FlexCAN模块 (314)
13.1 CAN总线的基础知识 (314)
13.1.1 CAN总线协议的历史概况 (314)
13.1.2 CAN总线硬件系统的典型电路 (315)
13.1.3 CAN总线协议的基本概念 (317)
13.1.4 CAN总线规范的帧结构 (319)
13.1.5 CAN总线的位时间 (323)
13.1.6 FlexCAN模块的操作模式 (324)
13.1.7 FlexCAN模块的仲裁处理、匹配处理及报文缓冲区管理 (325)
13.2 FlexCAN驱动构件及使用方法 (326)
13.2.1 FlexCAN驱动构件头文件的解析 (326)
13.2.2 FlexCAN驱动构件的头文件 (327)
13.2.3 FlexCAN驱动构件的使用方法 (330)
13.2.4 FlexCAN驱动构件的测试实例 (331)
13.3 FlexCAN驱动构件的设计 (331)
13.3.1 FlexCAN模块编程结构 (331)
13.3.2 FlexCAN驱动构件的源程序 (353)
第14章 系统时钟与其他功能模块 (361)
14.1 时钟系统模块 (361)
14.1.1 时钟系统概述 (361)
14.1.2 时钟模块概要与编程要点 (364)
14.2 电源模块 (365)
14.2.1 电源模式控制 (3
1.1 汽车电子技术的基本概念 (1)
1.2 我国汽车电子发展概况 (2)
1.3 恩智浦公司在汽车电子市场中的地位 (3)
1.4 面向汽车电子的S32K系列微控制器简介 (3)
1.4.1 S32K系列微控制器的型号标识 (4)
1.4.2 S32K系列微控制器的简明特性与结构框图 (4)
1.4.3 S32K系列微控制器的共性资源列表 (6)
第2章 ARM Cortex-M4F微控制器 (7)
2.1 ARM Cortex-M4F微控制器简介 (7)
2.1.1 ARM Cortex-M4F微控制器内部结构概要 (8)
2.1.2 ARM Cortex-M4F微控制器存储器映像 (10)
2.1.3 ARM Cortex-M4F微控制器的寄存器 (10)
2.2 指令系统 (14)
2.2.1 指令简表与寻址方式 (15)
2.2.2 数据传送类指令 (16)
2.2.3 数据操作类指令 (18)
2.2.4 跳转控制类指令 (21)
2.2.5 其他指令 (22)
2.3 指令集与机器码对应表 (23)
2.4 GNU汇编语言的基本语法 (25)
2.4.1 ARM-GUN汇编语言格式 (26)
2.4.2 常用伪指令简介 (27)
第3章 存储映像、中断源与硬件小系统 (30)
3.1 S32K144存储映像与中断源 (30)
3.1.1 S32K144存储映像 (30)
3.1.2 S32K144中断源 (32)
3.2 S32K144的引脚功能 (35)
3.3.1 硬件小系统引脚 (36)
3.2.2 I/O端口资源类引脚 (36)
3.3 S32K144硬件小系统原理图 (37)
3.3.1 电源及其滤波电路 (37)
3.3.2 复位电路及复位功能 (37)
3.3.3 晶振电路 (38)
3.3.4 SWD接口电路 (38)
第4章 GPIO及程序框架 (39)
4.1 通用I/O接口的基本概念及连接方法 (39)
4.1.1 I/O接口的概念 (39)
4.1.2 通用I/O (40)
4.1.3 上拉/下拉电阻与输入引脚的基本接法 (40)
4.1.4 输出引脚的基本接法 (41)
4.2 端口控制模块与GPIO模块的编程结构 (41)
4.2.1 端口控制模块——决定引脚复用功能 (41)
4.2.2 GPIO模块的对外引脚与内部寄存器 (44)
4.2.3 GPIO基本编程步骤与基本打通程序 (45)
4.3 GPIO驱动构件封装方法与规范 (46)
4.3.1 设计GPIO驱动构件的必要性及GPIO驱动构件封装要点分析 (46)
4.3.2 底层驱动构件封装规范概要与构件封装的前期准备 (48)
4.3.3 S32K144的GPIO驱动构件源码及解析 (49)
4.4 利用构件方法控制LED闪烁 (60)
4.4.1 light构件设计 (60)
4.4.2 light构件测试工程主程序 (63)
4.5 工程文件组织框架与个C语言工程分析 (65)
4.5.1 工程框架及所含文件简介 (66)
4.5.2 链接文件常用语法及链接文件解析 (67)
4.5.3 机器码文件解析 (71)
4.5.4 芯片上电启动运行过程解析 (72)
4.6 个汇编语言工程:控制小灯闪烁 (75)
4.6.1 汇编工程文件的组织 (76)
4.6.2 汇编语言GPIO驱动构件及使用方法 (76)
4.6.3 汇编语言Light构件及使用方法 (82)
4.6.4 汇编语言Light构件测试工程主程序及汇编工程运行过程 (84)
第5章 嵌入式硬件构件与底层驱动构件基本规范 (86)
5.1 嵌入式硬件构件 (86)
5.1.1 嵌入式硬件构件的概念及其分类 (87)
5.1.2 基于嵌入式硬件构件的电路原理图设计简明规则 (87)
5.2 嵌入式底层驱动构件的概念与层次模型 (90)
5.2.1 嵌入式底层驱动构件的概念 (90)
5.2.2 嵌入式硬件构件和软件构件的层次模型 (91)
5.3 底层驱动构件的封装规范 (91)
5.3.1 构件设计的基本思想与基本原则 (92)
5.3.2 编码风格基本规范 (93)
5.3.3 构件公共要素文件 (96)
5.3.4 头文件的设计规范 (98)
5.3.5 源文件的设计规范 (99)
5.4 硬件构件及底层软件构件的重用与移植方法 (100)
5.4.1 硬件构件在实际系统中的应用 (100)
5.4.2 底层驱动构件的移植 (101)
第6章 串行通信模块及个中断程序结构 (103)
6.1 异步串行通信的通用基础知识 (103)
6.1.1 串行通信的基本概念 (104)
6.1.2 RS-232总线标准 (105)
6.1.3 TTL电平到RS-232电平转换电路 (106)
6.1.4 串行通信编程模型 (107)
6.2 UART驱动构件及使用方法 (108)
6.2.1 UART引脚分析 (108)
6.2.2 UART驱动构件基本要素分析与头文件 (109)
6.2.3 printf的设置方法与使用 (113)
6.3 ARM Cortex-M4F中断机制及S32K144中断编程 (113)
6.3.1 关于中断的通用基础知识 (113)
6.3.2 ARM Cortex-M4F非内核中断编程结构 (115)
6.3.3 S32K144中断编程步骤(以串口接收中断为例) (116)
6.4 UART驱动构件的设计方法 (118)
6.4.1 UART模块编程结构 (118)
6.4.2 UART驱动构件源文件 (123)
第7章 Timer模块 (132)
7.1 ARM Cortex-M4F内核定时器(Systick) (132)
7.1.1 Systick定时器模块的编程结构 (133)
7.1.2 Systick驱动构件设计及测试工程 (134)
7.2 延时定时器(PDB)模块 (136)
7.2.1 PDB模块功能概述 (136)
7.2.2 PDB驱动构件及使用方法 (136)
7.2.3 PDB驱动构件的设计 (139)
7.3 低功耗中断定时器(LPIT)模块 (143)
7.3.1 LPIT模块功能概述 (143)
7.3.2 LPIT驱动构件及使用方法 (143)
7.3.3 LPIT驱动构件设计 (145)
7.4 低功耗定时器(LPTMR)模块 (150)
7.4.1 LPTMR模块功能概述 (150)
7.4.2 LPTMR驱动构件及使用方法 (150)
7.4.3 LPTMR驱动构件的设计 (152)
7.5 实时时钟(RTC)模块 (155)
7.5.1 RTC模块功能概述 (155)
7.5.2 RTC驱动构件及使用方法 (156)
7.5.3 RTC驱动构件的设计 (160)
第8章 PWM模块和FTM模块 (169)
8.1 脉宽调制、输入捕捉与输出比较的通用基础知识 (169)
8.1.1 PWM的通用基础知识 (169)
8.1.2 输入捕捉与输出比较的通用基础知识 (172)
8.2 FTM模块的基本知识 (172)
8.2.1 FTM模块概述 (172)
8.2.2 FTM模块的技术要点 (173)
8.3 FTM驱动构件及使用方法 (174)
8.3.1 FTM模块的脉宽调制、输入捕捉和输出比较的外部引脚 (174)
8.3.2 FTM驱动构件头文件及使用方法 (175)
8.4 FTM驱动构件的设计 (183)
8.4.1 FTM模块编程结构 (183)
8.4.2 FTM驱动构件设计 (187)
第9章 Flash模块 (196)
9.1 Flash存储器的基础知识 (196)
9.1.1 Flash存储器的特性 (196)
9.1.2 Flash存储器的编程模式 (197)
9.1.3 Flash存储器的基本操作 (197)
9.2 Flash驱动构件及其使用方法 (197)
9.2.1 Flash驱动构件头文件解析 (197)
9.2.2 Flash驱动构件的使用方法 (200)
9.3 Flash保护 (201)
9.3.1 Flash模块保护的含义及保护函数的使用说明 (201)
9.3.2 Flash模块加密方法与去除密码方法 (202)
9.4 Flash驱动构件的设计 (203)
9.4.1 Flash模块编程结构 (203)
9.4.2 Flash驱动构件设计技术要点 (207)
9.4.3 Flash驱动构件封装要点分析 (209)
9.4.4 Flash驱动构件的源文件(flash.c) (210)
第10章 ADC模块与CMP模块 (218)
10.1 模/数转换器(ADC)模块 (218)
10.1.1 ADC模块的通用基础知识 (218)
10.1.2 ADC模块驱动构件及使用方法 (221)
10.1.3 ADC驱动构件的设计 (225)
10.2 比较器(CMP)模块 (233)
10.2.1 CMP模块的通用基础知识 (233)
10.2.2 CMP驱动构件及使用方法 (234)
10.2.3 CMP驱动构件的设计 (238)
第11章 SPI模块与I2C模块 (244)
11.1 串行外设接口(SPI)模块 (244)
11.1.1 SPI模块的通用基础知识 (244)
11.1.2 SPI驱动构件及使用方法 (247)
11.1.3 SPI驱动构件的设计 (252)
11.2 集成电路互连(I2C)总线模块 (262)
11.2.1 I2C模块的通用基础知识 (262)
11.2.2 I2C驱动构件及使用方法 (267)
11.2.3 I2C驱动构件的设计 (273)
第12章 DMA模块 (291)
12.1 DMA模块通用基础知识 (291)
12.1.1 DMA模块的基本概念 (291)
12.2.1 DMA模块的基本操作 (292)
12.2 DMA驱动构件及其使用方法 (293)
12.2.1 DMA源 (293)
12.2.2 DMA驱动构件封装要点 (294)
12.2.3 DMA驱动构件头文件(dma.h) (295)
12.2.4 DMA驱动构件的使用方法 (299)
12.2.5 DMA驱动构件测试实例 (299)
12.3 DMA驱动构件的设计 (300)
12.3.1 DMA模块编程结构 (300)
12.3.2 DMA驱动构件源程序 (309)
第13章 FlexCAN模块 (314)
13.1 CAN总线的基础知识 (314)
13.1.1 CAN总线协议的历史概况 (314)
13.1.2 CAN总线硬件系统的典型电路 (315)
13.1.3 CAN总线协议的基本概念 (317)
13.1.4 CAN总线规范的帧结构 (319)
13.1.5 CAN总线的位时间 (323)
13.1.6 FlexCAN模块的操作模式 (324)
13.1.7 FlexCAN模块的仲裁处理、匹配处理及报文缓冲区管理 (325)
13.2 FlexCAN驱动构件及使用方法 (326)
13.2.1 FlexCAN驱动构件头文件的解析 (326)
13.2.2 FlexCAN驱动构件的头文件 (327)
13.2.3 FlexCAN驱动构件的使用方法 (330)
13.2.4 FlexCAN驱动构件的测试实例 (331)
13.3 FlexCAN驱动构件的设计 (331)
13.3.1 FlexCAN模块编程结构 (331)
13.3.2 FlexCAN驱动构件的源程序 (353)
第14章 系统时钟与其他功能模块 (361)
14.1 时钟系统模块 (361)
14.1.1 时钟系统概述 (361)
14.1.2 时钟模块概要与编程要点 (364)
14.2 电源模块 (365)
14.2.1 电源模式控制 (3
前 言
恩智浦(NXP)公司于2017年推出了面向汽车电子的S32K系列微控制器。该微控制器以ARM Cortex-M4F为内核,内核频率为112 MHz,运行温度为?40℃~125℃,具有良好的EMC特性,可应用于汽车电子中的车身中控、信息娱乐系统连接、停车辅助系统、空调控制、车窗/天窗/车门控制、防盗装置、通用传感器节点等。整个S32K系列的引脚兼容,还将与未来Kinetis Auto系列其他产品的引脚兼容,可限度地提高硬件与软件的重用性,减少投放市场的时间。相比于其他微控制器,S32K系列微控制器具有更宽的运行温度范围及更高的可靠性,具有性能好、可靠性高、价格低等突出特点,必将成为汽车电子领域的重要成员,也能更好地应用于其他对可靠性要求较高的领域。
本书以构件化底层驱动为基础阐述S32K系列微控制器应用程序的设计方法,具有如下特点。
(1)按照由浅入深的原则,在简明给出基本软件、硬件要素的基础上,尽快给出符合嵌入式软件工程规范的工程框架、个C语言样例、个汇编样例及启动过程解析,以便快速规范入门。一些较深的内容,随后给出。
(2)对底层驱动进行构件化封装。书中的每个模块均根据嵌入式软件工程基本原则并按照构件化封装的要求,编写了面向芯片级的底层驱动程序,同时给出了较为详细、规范的注释及对外接口,为实际应用提供了底层驱动构件,方便移植与复用,可以为读者在实际项目开发时节省大量的时间。面向芯片级底层驱动程序为芯片的实际应用提供了共性技术基础,避免了面向板级驱动给不同用户带来的不便。
(3)设计合理的测试用例。书中的所有源程序均通过测试,并保留了测试用例,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例也为读者的验证与理解带来方便。每个测试用例均为独立的工程,包含文档说明,可为读者提供便利。书中附录还提供了S32DS集成开发环境的简明使用方法。
(4)本书配套的网上光盘提供了所有模块的完整底层驱动构件化封装程序与测试用例。针对需要使用PC程序测试用例的读者,本书还提供了PC的C#源程序。网上光盘的版本将会适时更新。
(5)本书配套的网上光盘提供了小硬件系统电路图,可供读者应用参考;同时还提供了含有S32K微控制器的金葫芦IoT-GEC开发套件等硬件评估系统,方便读者进行实践与应用。
本书由苏州大学的王宜怀负责编制提纲和统稿工作,并撰写了第2~6章;中国科学技术大学的邵长星撰写了第7~11章及附录;NXP公司的黄熙撰写了第1章、第12~14章;苏州大学的博士研究生蒋建武、朱仕浪,硕士研究生孙亚军、程宏玉、黄志贤、刘贤德等协助书稿整理及程序调试工作,他们卓有成效的工作,使本书更加实用;ARM公司、NXP公司为本书的撰写提供了技术条件;电子工业出版社的编辑为本书的出版做了大量细致的工作。在此一并表示诚挚的谢意。
鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵的意见和建议,以便再版时改进。
本书以构件化底层驱动为基础阐述S32K系列微控制器应用程序的设计方法,具有如下特点。
(1)按照由浅入深的原则,在简明给出基本软件、硬件要素的基础上,尽快给出符合嵌入式软件工程规范的工程框架、个C语言样例、个汇编样例及启动过程解析,以便快速规范入门。一些较深的内容,随后给出。
(2)对底层驱动进行构件化封装。书中的每个模块均根据嵌入式软件工程基本原则并按照构件化封装的要求,编写了面向芯片级的底层驱动程序,同时给出了较为详细、规范的注释及对外接口,为实际应用提供了底层驱动构件,方便移植与复用,可以为读者在实际项目开发时节省大量的时间。面向芯片级底层驱动程序为芯片的实际应用提供了共性技术基础,避免了面向板级驱动给不同用户带来的不便。
(3)设计合理的测试用例。书中的所有源程序均通过测试,并保留了测试用例,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例也为读者的验证与理解带来方便。每个测试用例均为独立的工程,包含文档说明,可为读者提供便利。书中附录还提供了S32DS集成开发环境的简明使用方法。
(4)本书配套的网上光盘提供了所有模块的完整底层驱动构件化封装程序与测试用例。针对需要使用PC程序测试用例的读者,本书还提供了PC的C#源程序。网上光盘的版本将会适时更新。
(5)本书配套的网上光盘提供了小硬件系统电路图,可供读者应用参考;同时还提供了含有S32K微控制器的金葫芦IoT-GEC开发套件等硬件评估系统,方便读者进行实践与应用。
本书由苏州大学的王宜怀负责编制提纲和统稿工作,并撰写了第2~6章;中国科学技术大学的邵长星撰写了第7~11章及附录;NXP公司的黄熙撰写了第1章、第12~14章;苏州大学的博士研究生蒋建武、朱仕浪,硕士研究生孙亚军、程宏玉、黄志贤、刘贤德等协助书稿整理及程序调试工作,他们卓有成效的工作,使本书更加实用;ARM公司、NXP公司为本书的撰写提供了技术条件;电子工业出版社的编辑为本书的出版做了大量细致的工作。在此一并表示诚挚的谢意。
鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵的意见和建议,以便再版时改进。
苏州大学 王宜怀
2018年5月
评论
还没有评论。