图书前言

前言

嵌入式计算机系统简称为嵌入式系统,其概念最初源于传统测控系统对计算机的需求。随着以微处理器(MPU)为内核的微控制器(MCU)制造技术的不断进步,计算机领域在通用计算机系统与嵌入式计算机系统这两大分支分别得以发展。通用计算机已经在科学计算、事务管理、通信、日常生活等各个领域产生重要的影响。在后PC时代,嵌入式系统的广泛应用将是计算机发展的重要特征。一般来说,嵌入式系统的应用范围可以粗略地分为两大类: 一类是电子系统的智能化(如工业控制、现代农业、家用电器、汽车电子、测控系统、数据采集等); 另一类是计算机应用的延伸(如MP4、手机、通信、网络、计算机外围设备等)。不论如何分类,嵌入式系统的技术基础是不变的,即要完成一个以MCU为核心的嵌入式系统应用产品设计,需要有硬件、软件及行业领域相关知识。但是,随着嵌入式系统中软件规模日益增大,对嵌入式底层驱动软件的封装提出了更高的要求,可复用性与可移植性受到特别的关注,嵌入式软件构件化开发方法逐步被业界所重视。

本书第一版以飞思卡尔HC08系列中GP32(通用型)、JB8(USB 1.1)、GZ60(CAN)三个型号MCU为蓝本阐述嵌入式应用,已经印刷了1万多册。随着飞思卡尔8位MCU的升级及我们多年教学与开发的经验积累,本书以嵌入式硬件构件与底层软件构件设计为主线,按照嵌入式软件工程的要求,以S08系列微控制器中通用型号MC9S08AW60、带USB 2.0接口MC9S08JM60、带CAN总线接口MC9S08DZ60三个型号为蓝本阐述嵌入式系统的软件与硬件设计。2009年,笔者撰写了《基于32位ColdFire构建嵌入式系统》一书,系统阐述和应用了嵌入式构件开发思想,本书秉承这些工作,按照“通用知识→芯片编程结构概要→基本编程方法→底层驱动构件封装→应用方法与举例”的思路,逐步阐述电子系统智能化嵌入式应用的软件与硬件设计。

本书特点

(1) 把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上,理解芯片应用的设计,同时反过来,加深对通用知识的理解。

(2) 把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件; 同样,没有对软件的理解,也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。

(3) 对底层驱动进行构件化封装。书中对每个模块均给出根据嵌入式软件工程基本原则并按照构件化封装要求编制底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,可以为读者进行实际项目开发节省大量时间。

(4) 设计合理的测试用例。书中所有源程序均经测试通过,并提供测试用例下载,避免了因例程的书写或固有错误给读者带来烦恼。这些测试用例,也为读者验证与理解带来方便。

(5) 提供了所有模块完整的底层驱动构件化封装程序、文档与测试用例,同时还包含芯片参考手册、写入器安装与使用方法、工具软件(如开发环境、程序写入与读出软件、串口调试工具、USB工具、以太网工具)、有关硬件原理图及其他技术资料。

(6) 提供硬件评估版、写入调试器,并给出单独进行程序写入与读出的软件工具,方便读者进行实践与应用。

主要内容

全书共14章,其中第1章为概述,阐述嵌入式系统的知识体系、学习误区、学习建议,以及嵌入式系统常用术语、嵌入式系统常用的C语言基本语法概要。第2章给出AW60硬件最小系统,并简要介绍S08CPU。第3章给出第一个样例程序及CodeWarrior工程组织,完成第一个S08工程的入门。第4章介绍基于硬件构件的嵌入式系统开发方法。第5章阐述串行通信接口SCI,并给出第一个带中断的编程实例。第1~5章完成了学习一个新MCU完整要素的入门。第6~12章分别给出键盘、LED、LCD、定时器、SPI、Flash存储器在线编程、I2C、A/D及AW60芯片的其他模块等。第13、14章分别给出JM60的USB 2.0编程及DZ60的CAN总线编程。本书提供了所有实例源程序、辅助资料、相关芯片资料及常用软件工具,可在清华大学出版社网站(www.tup.com.cn)或苏州大学飞思卡尔嵌入式系统研发中心网站(sumcu.suda.edu.cn)

下载。附录A 介绍了Freescale MCU常用封装形式与规格; 附录B与C给出了AW60映像寄存器列表; 附录D介绍了S08/S12/ColdFire BDM简明使用方法; 附录E 给出了S08的C语言函数库; 附录F给出了常见实践问题解答。

致谢

本书除封面署名作者外,还有苏州大学计算机科学与技术学院嵌入式应用方向研究生陈爱兵、秦保波、周杰、姚丹丹、李翠霞、程玉娟、顾霞萍等协助书稿编写、整理及程序调试工作,他们卓有成效的工作,使本书更加实用。飞思卡尔半导体有限公司的Andy Mastronardi先生、马莉女士一直关心支持苏州大学飞思卡尔嵌入式系统研发中心的建设,为本书的撰写提供了硬件及软件资料,并提出了许多宝贵建议。飞思卡尔半导体有限公司的许多技术人员提供了技术支持。清华大学出版社的魏江江先生为本书的出版做出了大量细致的工作。在此一并表示诚挚的谢意。

鉴于作者水平有限,书中难免存在不足和错误之处,恳望读者提出宝贵意见和建议,以便再版时改进。

王宜怀2010年11月于苏州大学