前言
嵌入式计算机系统简称为嵌入式系统,其概念最初源于传统测控系统对计算机的需求。随着以微处理器(MPU)为内核的微控制器(MCU)制造技术的不断进步,计算机领域在通用计算机系统与嵌入式计算机系统这两大分支分别得以发展。通用计算机已经在科学计算、通信、日常生活等各个领域产生重要影响。在后PC时代,嵌入式系统的广泛应用是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略地分为两大类: 一类是电子系统的智能化(如工业控制、汽车电子、数据采集、测控系统、家用电器、现代农业、传感网应用等),这类应用也被称为微控制器MCU领域。另一类是计算机应用的延伸(如平板电脑、手机、电子图书等),这类应用也被称为应用处理器MAP领域。在ARM产品系列中,ARM CortexM系列与ARM CortexR系列适用于电子系统的智能化类应用,即微控制器领域; ARM CortexA系列适用于计算机应用的延伸,即应用处理器领域。不论如何分类,嵌入式系统的技术基础是不变的,即要完成一个嵌入式系统产品的设计,需要有硬件、软件及行业领域相关知识。但是,随着嵌入式系统中软件规模日益增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关注,嵌入式软硬件构件化开发方法逐步被业界所重视。
2015年12月7日,恩智浦和飞思卡尔完成合并,合并后的公司名称仍为“恩智浦半导体”,成为全球汽车和安全半导体解决方案第一大供应商以及全球第四大非存储类半导体企业。公司持续为互联汽车、物联网设备端到端安全与数据保护等领域提供更为完善的解决方案,旨在帮助人们实现“智慧生活,安全连接”。目前,恩智浦在北京、上海、深圳、苏州等设有办事处或研发中心,在大中华区员工总数超过11000人。
该公司的微控制器及应用处理器系列,由不同位数、不同封装形式、不同温度范围、所含模块不同等构成了庞大的产品系列,广泛地应用于汽车电子、消费电子、工业控制、网络、无线市场及视频等嵌入式系统各个领域,为嵌入式系统各种应用提供了选择与解决方案,使得用户可以各取所需。不论是电子系统智能化还是计算机应用延伸的嵌入式应用设计,无论需要怎样的系统功能和集成度,总能从这个庞大产品系列中选取一款合适的芯片进行应用开发。这正是嵌入式系统产品设计者所期望的,也节省了嵌入式学习者的时间,可以加快开发进度,提高开发质量。
本书以该公司于2012年开始推出的32位ARM CortexM0+内核的KL系列MCU为蓝本阐述嵌入式应用。本书第二版、第三版为普通高等教育“十一五”国家级规划教材,本版为普通高等教育“十二五”国家级规划教材、江苏省高等学校重点教材。本版是在2013年出版的第三版基础上重新撰写。主要变化有: 在ARM CortexM0+内核不变的前提下,增加了KL26芯片,重新梳理了通用知识要素,优化了底层构件封装; 将大部分驱动的使用方法提前阐述,而驱动构件的设计方法后置,目的是先学会使用进行实际编程,后理解构件的设计方法。因构件设计方法部分有一定难度,对于不同要求的教学场景,也可不要求学生理解全部构件的设计方法,讲解一两个即可。
随着作者多年教学与开发的经验积累,本书以嵌入式硬件构件及底层软件构件设计为主线,基于嵌入式软件工程的思想,按照“通用知识—驱动构件使用方法—测试实例—芯片编程结构—构件的设计方法”的路线,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。
本书具有以下特点。
(1) 把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。
(2) 把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。
(3) 对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则并按照构件化封装要求编制底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。
(4) 设计合理的测试用例。书中所有源程序均经测试通过,并保留测试用例在本书的网上光盘中,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例,也为读者验证与理解带来方便。
(5) 网上教学资源提供了所有模块完整的底层驱动构件化封装程序与测试用例。需要使用PC的程序的测试用例,还提供了PC的C#源程序。网上教学资源中还提供了阅读资料、开发环境的简明使用方法、写入器驱动与使用方法、部分工具软件、有关硬件原理图等。网上教学资源的版本将会适时更新。
(6) 提供硬件核心板、写入调试器,方便读者进行实践与应用。同时提供了核心板与苏州大学恩智浦嵌入式中心设计的扩展板对接,以满足教学实验需要。
本书由王宜怀负责编制提纲和统稿工作,并撰写第1~6章、第14章。吴瑾撰写第7~10章、文瑾撰写第11~13章。研究生王绍丹、徐达、刘锴、陆伟国、司萧俊、白聪、胡唯唯等协助书稿整理及程序调试工作,他们卓有成效的工作,使本书更加实用。恩智浦公司的马莉女士一直关心支持苏州大学恩智浦嵌入式中心的建设,为本书的撰写提供了硬件及软件资料,并提出了许多宝贵建议。恩智浦公司的许多技术人员提供了技术支持。清华大学出版社为本书的出版给予了大力的支持,在此一并表示诚挚的谢意。
鉴于作者水平有限,书中难免存在不足和疏漏之处,恳望读者提出宝贵意见和建议,以便再版时改进。
苏州大学王宜怀2017年3月
网上教学资源文件夹结构
该教学资源可在网站http://sumcu.suda.edu.cn下载。