温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
汽车电子KEA系列微控制器基于ARM
Cortex-M0+内核
汽车
电子
KEA
系列
控制器
基于
ARM
Cortex
M0
内核
嵌入式技术与应用丛书 汽车电子汽车电子KEA系列微控制器 系列微控制器 基于基于ARM Cortex-M0+内核内核 王宜怀 李跃华 著 朱 明 迟宗正 张益嘉 梁 芳 编著 内 容 简 介 本书阐述飞思卡尔2014 年开始推出的面向汽车电子KEA 系列微控制器的应用方法。全书共16 章,16 章囊括了学习一个新微控制器入门的基本知识要素及基本规范,712章分别给出各个模块的程序设计方法,第13章给出时钟系统及其他模块,第 14 章给出基于实时操作系统 MQX-Lite 的编程方法,第 15 章给出一个汽车冷却风扇控制实例,第 16 章给出位带及位操作引擎等技术的进一步讨论。本书提供了网上光盘,内含所有有关文档、工程框架、各章实例源程序及常用软件工具。网上光盘下载地址:http:/。本书适用于从事汽车电子及嵌入式技术的研发人员、工程师、高校教师、研究生、高年级本科生使用,也可作为嵌入式技术培训材料。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 汽车电子 KEA 系列微控制器:基于 ARM Cortex-M0+内核/王宜怀,李跃华著 北京:电子工业出版社,2015.8(嵌入式技术与应用丛书)ISBN 978-7-121-26686-7 I汽 II王 李 III微控制器 IVTP332.3 中国版本图书馆 CIP 数据核字(2015)第 164453 号 责任编辑:田宏峰 印 刷:北京中新伟业印刷有限公司 装 订:北京中新伟业印刷有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871 092 1/16 印张:23.25 字数:590 千字 版 次:2015 年 8 月第 1 版 印 次:2015 年 8 月第 1 次印刷 印 数:3000 册 定价:68.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。III 前 言 飞思卡尔于 2014 年开始推出的面向汽车电子 KEA 系列微控制器,该微控制器以 ARM Cortex-M0+为内核,内核频率 48 MHz,运行温度范围40 125,内含温度传感器,具有位操作引擎及良好的 EMC 特性,将广泛地应用于汽车电子中的信息娱乐系统连接、停车辅助系统、车身中控、空调控制、车窗/天窗/车门控制、防盗装置、通用传感器节点等。整个 KEA 系列引脚兼容,还将与未来的 Kinetis Auto 系列的其他系列产品引脚兼容,并提供多个引脚和存储选择,使开发人员能够在不同芯片之间进行移植,最大限度地提高硬件、软件重用性并缩短投放市场的时间。相比于一般微控制器,KEA 系列微控制器具有更宽的温度范围及更高的可靠性。因其具有性能好、可靠性高、价格低等突出特点,将是汽车电子领域的重要成员,也能更好地应用于其他对可靠性要求较高的领域。本书以构件化底层驱动为基础阐述 KEA 系列微控制器应用程序的设计方法。主要特点(1)按照由浅入深的原则,在简要给出基本软件、硬件要素的基础上,尽快给出符合嵌入式软件工程规范的工程框架、第一个 C 语言样例、第一个汇编样例及启动过程解析,以便快速规范入门。一些较深的内容,随后给出。(2)对底层驱动进行构件化封装。书中对每个模块均给出了根据嵌入式软件工程基本原则并按照构件化封装要求,编制面向芯片级底层驱动程序,同时给出较为详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。面向芯片级底层驱动程序为芯片的实际应用提供了基础,避免了面向板级驱动给不用用户带来的不便。(3)设计合理的测试用例。书中所有源程序均经测试通过,并保留测试用例在本书的网上光盘中,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例,也为读者验证与理解带来方便。每个测试用例均为独立的工程,包含文档说明,为读者重复实验现象提供便利。书中附录还提供了 KDS 简明使用方法、写入器驱动与使用方法、部分工具软件。(4)网上光盘提供了所有模块完整的底层驱动构件化封装程序与测试用例。需要使用 PC 的程序的测试用例,还提供了 PC 的 C#源程序。网上光盘的版本将会适时更新。(5)提供硬件核心板、写入调试器等硬件,方便读者进行实践与应用。主要内容 全书共 16 章,第 1 章给出汽车电子概述及 KEA 的基本特性;第 2 章给出 ARM Cortex-M0+的寄存器、指令系统及汇编语法;第 3 章给出 KEA 的存储地址映像、中断系统及最小硬件系统;第 4 章以 GPIO 为例给出工程框架、第一个 C 语言实例、第一个汇编语言实例及程序执行过程分析;第 5 章给出底层驱动构件设计规范;第 6 章给出串行通信及 printf 函数的融入方法。16 IV章囊括了学习一个新微控制器入门的基本知识要素及基本规范。第 712 章分别给出了 Systick、RTC、PWT、PIT、FTM(含输入捕捉、输出比较及 PWM)、Flash 在线编程、ADC、ACMP、SPI、I2C、CAN 等程序设计方法;第 13 章给出时钟系统及其他模块;第 14 章给出基于实时操作系统 MQX-Lite 的编程方法;第 15 章给出一个汽车冷却风扇控制实例;第 16 章给出位带及位操作引擎等技术的进一步讨论。作者分工与致谢 本书由王宜怀负责编制提纲和统稿工作,并撰写第 26 章。李跃华撰写 714 章及第 16章部分内容。飞思卡尔李兴参与全书的策划,田茂昕撰写第 1 章,唐华标撰写第 15 章及第 16章部分内容。研究生李会、王磊、陈瑞杰、范宁宁等协助书稿整理及程序调试工作,他们卓有成效的工作,使本书更加实用。飞思卡尔马莉女士一直关心支持苏州大学飞思卡尔嵌入式中心的建设,为本书的撰写提供了技术条件。飞思卡尔李越、陈馨宇等工程人员提供了技术支持。苏州华祥信息科技有限公司的蒋建辉、刘辉工程师提出了有益的建议。电子工业版社的田宏峰先生为本书的出版做了大量细致的工作。在此一并表示诚挚的谢意。鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵意见和建议,以便再版时改进。王宜怀 2015 年 6 月 V 网上光盘资料文件夹结构 网上光盘资料文件夹结构 该网上光盘资料会不定期更新,下载路径:http:/“教学与培训”“KEA”“SD-FSL-KEA-CD”。VII目 录 第 1 章 概述 1 1.1 汽车电子技术的基本概念 1 1.2 中国汽车电子发展概况 2 1.3 飞思卡尔在汽车电子市场中的地位 2 1.4 面向汽车电子的微控制器 KEA 系列 MCU 简介 3 第 2 章 ARM Cortex-M0+处理器 7 2.1 ARM Cortex-M0+处理器简介 7 2.1.1 ARM Cortex-M0+处理器特点与结构图 8 2.1.2 ARM Cortex-M0+处理器存储器映像 9 2.1.3 ARM Cortex-M0+处理器的寄存器 10 2.2 ARM Cortex-M0+处理器的指令系统 13 2.2.1 ARM Cortex-M0+指令简表与寻址方式 13 2.2.2 数据传送类指令 14 2.2.3 数据操作类指令 16 2.2.4 跳转控制类指令 19 2.2.5 其他指令 20 2.3 ARM Cortex-M0+指令集与机器码对应表 21 2.4 GNU 汇编语言的基本语法 23 2.4.1 汇编语言格式 23 2.4.2 伪指令 25 第 3 章 KEA128 存储映像、中断与硬件最小系统 29 3.1 KEA128 系列存储映像 29 3.1.1 Flash 区存储映像 30 3.1.2 片内 RAM 区存储映像 30 3.1.3 外设区存储映像 30 3.1.4 私有外设总线存储映像 31 3.1.5 系统保留段存储映像 31 3.2 KEA128 中断系统及 Cortex-M0+非内核模块中断编程结构 31 3.2.1 KEA128 的中断源 31 3.2.2 KEA128 中断向量表 32 3.2.3 Cortex-M0+非内核模块中断编程结构 36 3.3 KEA128 的引脚功能 38 3.3.1 硬件最小系统引脚 39 3.3.2 I/O 端口资源类引脚 39 3.4 KEA128 硬件最小系统原理图 40 VIII3.4.1 电源及其滤波电路 40 3.4.2 复位电路及复位功能 40 3.4.3 SWD 接口电路 41 3.4.4 晶振电路 41 第 4 章 GPIO 及程序框架 43 4.1 KEA128 芯片 GPIO 驱动构件及使用方法 43 4.1.1 KEA128 芯片 GPIO 引脚 44 4.1.2 KEA128 芯片 GPIO 驱动构件头文件及使用方法 45 4.2 GPIO 驱动构件的制作方法 47 4.2.1 端口控制模块功能与编程结构 47 4.2.2 GPIO 模块的编程结构 50 4.2.3 GPIO 基本打通程序 51 4.2.4 GPIO 驱动构件封装要点分析 51 4.2.5 GPIO 驱动构件的实现 53 4.3 第一个 C 语言工程:控制小灯闪烁 59 4.4 工程框架与第一个 C 语言工程执行过程分析 63 4.4.1 工程框架 63 4.4.2 链接文件 64 4.4.3 机器码文件 65 4.4.4 其他相关文件功能简介 67 4.4.5 芯片上电启动执行过程 68 4.5 第一个汇编语言工程:控制小灯闪烁 72 4.5.1 汇编工程文件的组织 72 4.5.2 Light 构件汇编程序 light.s 73 4.5.3 Light 测试工程主程序及汇编工程执行过程 74 第 5 章 嵌入式硬件构件与底层驱动构件基本规范 77 5.1 嵌入式硬件构件 77 5.1.1 嵌入式硬件构件的概念 77 5.1.2 基于嵌入式硬件构件的电路原理图设计简明规则 78 5.2 嵌入式底层驱动构件的概念与层次模型 80 5.2.1 嵌入式底层驱动构件的概念 81 5.2.2 嵌入式硬件构件和软件构件的层次模型 81 5.3 底层驱动构件的封装规范 82 5.3.1 构件设计的基本思想与基本原则 82 5.3.2 编码风格基本规范 84 5.3.3 公共要素文件 87 5.3.4 头文件的设计规范 89 5.3.5 源程序文件的设计规范 90 5.4 硬件构件及底层软件构件的重用与移植方法 91 IX 第 6 章 串行通信模块及第一个中断程序结构 95 6.1 KEA128 芯片 UART 驱动构件及使用方法 95 6.1.1 UART 的基础知识要素 95 6.1.2 UART 驱动构件封装要点分析 96 6.1.3 KEA128 芯片 UART 引脚 97 6.1.4 KEA128 芯片 UART 驱动构件头文件及使用方法 98 6.2 UART 接收中断程序实例 101 6.2.1 KEA128 的中断服务程序及其“注册”101 6.2.2 UART 接收中断程序实例 103 6.2.3 printf 的设置方法与使用 107 6.3 UART 驱动构件的制作方法 107 6.3.1 UART 模块编程结构 107 6.3.3 UART 驱动构件的实现 111 第 7 章 Systick、RTC、PWT 及 PIT 117 7.1 ARM Cortex-M0+内核时钟(Systick)117 7.1.1 Systick 模块的编程结构 117 7.1.2 Systick 构件设计及测试实例 118 7.2 实时时钟模块(RTC)120 7.2.1 RTC 模块概述与编程要点 120 7.2.2 RTC 构件设计及测试实例 122 7.3 脉冲宽度定时器(PWT)125 7.3.1 PWT 模块概述与编程要点 125