嵌入式系统开发与应用实验教程
基本信息
内容简介回到顶部↑
本书是《嵌入式系统开发与应用》系列教程中的实验教程,以Embest ARM实验教学系统为硬件开发平台,建立了以ARM为核心的、完整的嵌入式系统教学与培训实验体系。实验内容包括: 嵌入式软件开发基础实验、基本接口实验、人机接口实验、通信与音频接口实验、嵌入式操作系统μC/OSII的移植及应用开发实验,共22个实验,为嵌入式系统的学习者提供了丰富的实验例程,形成了从易到难、相对完整、贴近实际工程应用的嵌入式系统实验教学和培训体系。本书附英蓓特公司免费提供的Embest IDE Pro校园版安装光盘1张。
本书可作为高校计算机、电类专业的本科生、研究生以及相关工程技术人员进行嵌入式系统教学及培训的教材,也可作为基于ARM核嵌入式系统开发的工程技术人员的参考资料。
本书可作为高校计算机、电类专业的本科生、研究生以及相关工程技术人员进行嵌入式系统教学及培训的教材,也可作为基于ARM核嵌入式系统开发的工程技术人员的参考资料。
目录回到顶部↑
第1章 嵌入式系统开发与应用概述
1.1 嵌入式系统开发与应用1
1.2 基于arm的嵌入式开发环境概述3
1.2.1 交叉开发环境4
1.2.2 模拟开发环境5
1.2.3 评估电路板5
1.2.4 嵌入式操作系统6
1.3 arm开发工具简介6
1.3.1 arm sdt 7
1.3.2 arm ads9
1.3.3 multi 200011
1.3.4 embest ide for arm16
1.3.5 openice32a900仿真器17
1.3.6 multiice仿真器18
1.4 如何学习基于arm嵌入式系统的开发和应用19
第2章 embest arm实验教学系统
2.1 实验教学系统介绍20
2.1.1 embest ide集成开发环境21
2.1.2 embest emulator for arm jtag仿真器23
2.1.3 flash编程器24
1.1 嵌入式系统开发与应用1
1.2 基于arm的嵌入式开发环境概述3
1.2.1 交叉开发环境4
1.2.2 模拟开发环境5
1.2.3 评估电路板5
1.2.4 嵌入式操作系统6
1.3 arm开发工具简介6
1.3.1 arm sdt 7
1.3.2 arm ads9
1.3.3 multi 200011
1.3.4 embest ide for arm16
1.3.5 openice32a900仿真器17
1.3.6 multiice仿真器18
1.4 如何学习基于arm嵌入式系统的开发和应用19
第2章 embest arm实验教学系统
2.1 实验教学系统介绍20
2.1.1 embest ide集成开发环境21
2.1.2 embest emulator for arm jtag仿真器23
2.1.3 flash编程器24
前言回到顶部↑
理论教学与实验教学是现代高等教育的两个重要组成部分。实验课是整个教学过程中的重要环节。在IT技术飞速发展的当今,激烈的国内外市场及技术竞争要求我们培养的学生不应是照猫画虎的“高手”,而应是基础扎实、知识面宽、富有创新精神和竞争意识的人才。这对我们的教学从理论到实践都提出了较高的要求,而实践教学对于学生,特别是工科大学生实际工作能力的培养起着至关重要的作用。实验教学改革是一个系统工程,要在实验教学中突破传统的实验模式,发挥学生的主观能动性,加强对学生创新能力的培养是实验教学改革的一个难点。涉及到教学管理体制、实验教学内容、实验教学方法、实验教师队伍建设等诸多方面,通过改革提高实验教师的专业素质及改进教学内容,使实验教学能激发学生的主动、竞争、创新意识,更有利于学生创新能力的培养。
本书是《嵌入式系统开发与应用》系列教程中的实验教程,以Embest ARM实验教学系统为硬件平台,建立了以ARM微处理器为核心的完整的、嵌入式系统教学与培训的实验体系。为了提升目前我国嵌入式系统教学的水平,又不脱离现在的教学实际,在实验内容的设置及Embest ARM实验教学系统的开发过程中,我们既强调嵌入式系统基础教育,打好嵌入式系统开发与应用的基础,又注重要面向实际工程应用,提升嵌入式系统教学的实用性和工程性。
本实验教程以教学系统中的应用软件程序开发为主,全面详细地介绍基于教学系统各个实验的实验原理、软件设计和硬件设计,将比较复杂的嵌入式系统各个模块的综合开发的工程例程、嵌入式操作系统移植等内容写入实验教程中,形成了嵌入式软件开发基础实验、基本接口实验、复杂人机接口实验、通信及音频接口实验和嵌入式操作系统移植及应用编程实验体系,为嵌入式系统的学习者提供了丰富的实验例程。读者不仅能够系统地掌握嵌入式系统开发的基本知识,而且对复杂实用的外围接口模块开发、嵌入式操作系统μC/OSII移植有一个全面的了解。因此,本书是一本实践性和实用性较强的、面向工程应用的实验教程。
各章节内容安排如下:
第1章: 介绍嵌入式系统基本情况、嵌入式系统开发环境、ARM嵌入式开发工具和基于ARM的学习情况。
第2章: 介绍Embest IDE for ARM集成开发环境、Embest ARM实验教学系统和Embest JTAG仿真器。
通过以上两章,可使读者全面了解嵌入式系统开发与应用的基本情况、嵌入式系统开发工具,以及本实验教程对应的基本实验教学平台——Embest ARM实验教学系统的基本构成。
第3章: 介绍围绕ARM处理器的嵌入式软件开发基础实验,内容主要包括: ARM微处理器的基本指令系统、Thumb指令系统、汇编语言程序设计、ARM处理器工作模式切换、C语言嵌入式编程、C语言和汇编语言混合编程、综合性编程。通过这些实验,可使读者掌握嵌入式软件开发的基础知识,通过基本的程序设计,掌握嵌入式系统基本程序设计、IDE调试环境的使用。本章内容是Embest ARM实验教学系统中最基本的实验。
第4章: 介绍嵌入式系统外围的基本接口实验,内容主要包括: 存储器实验、I/O接口实验、中断实验、串口通信实验、实时时钟实验和简单的数码管接口实验。通过这些实验,可使读者基本掌握嵌入式系统外围接口应用。
第5章: 介绍关于嵌入式系统外围复杂的人机接口实验,内容主要包括: 液晶显示实验、用户键盘实验和触摸屏控制实验。这些实验是用户在熟练掌握Embest ARM实验教学系统以及开发环境基础上,进行具有较大难度且非常贴近实际工程应用的综合性设计实验。
第6章: 介绍嵌入式系统外围复杂的通信和音频接口实验,内容主要包括: I2C串行接口总线通信实验、以太网通信实验以及IIS音频接口总线通信实验。
通过第4、5和6章这3章的实验,可使读者掌握嵌入式系统外围接口设备的开发和应用编程知识,能够熟练进入嵌入式系统常用外围接口模块的开发。
第7章: 主要介绍实时操作系统μCOSII在Embest ARM实验教学系统上的移植和应用。
通过本章实验,可使读者了解μC/OSII移植条件和内核基本结构;掌握将μC/OSII内核移植到ARM7处理器上的方法和步骤,以及μC/OSII的启动流程、任务的管理;学习使用μC/OSII系统提供的任务间的通信、同步和存储管理等功能。
附录A和B: 分别为指令集速查表和指令集编码表。
附录C: 为Embest ARM产品介绍。
附录D: 为本书附带光盘内容简介。
本书附光盘1张,为英蓓特公司免费赠送的最新IDE Pro校园版软件光盘。用户可以直接安装使用该软件进行ARM程序的编辑、编译和模拟调试。软件安装后,在用户PC机的“实验例程”目录下提供本实验教程中第3章嵌入式软件基础实验例程,以供学生学习使用。配合该实验例程,可以短时间内掌握ARM的软件开发流程。如果需要调试硬件目标板,只需配套英蓓特公司的EasyICEI仿真器即可。
嵌入式实验教学体系涉及计算机接口技术、计算机应用软件开发技术、计算机操作系统技术、应用电子技术、网络通信技术等,内容繁杂。本书从教学和实验角度出发,将嵌入式系统开发与应用的复杂工程例程写入到实验教程中,在加强嵌入式系统基础教学的同时,希望学生在一个较为起初的实际工程平台上进行实验教学,形成从易到难、相对完整、贴近实际工程应用的嵌入式系统实验教学体系。
本书包含大量软件和硬件资源,也可以作为基于ARM核嵌入式系统开发的技术参考手册。鉴于目前32位ARM的嵌入式系统教学还处于起步阶段,嵌入式操作系统种类也比较多,比较著名的是VxWorks、Windows CE、Palm、μCLinux、μC/OSII等。为了本书内容体系的完整性,选择介绍源码开放的μC/OSII的基本内容。μCLinux的相关实验内容,将在本书以后再版时补充。有关嵌入式操作系统完整的知识体系相对复杂,一些出版社已经出版了多种相关书籍。如果在教学、科研中比较感兴趣,请参阅有关资料。
本书是《嵌入式系统开发与应用》系列教程中的实验教程,以Embest ARM实验教学系统为硬件平台,建立了以ARM微处理器为核心的完整的、嵌入式系统教学与培训的实验体系。为了提升目前我国嵌入式系统教学的水平,又不脱离现在的教学实际,在实验内容的设置及Embest ARM实验教学系统的开发过程中,我们既强调嵌入式系统基础教育,打好嵌入式系统开发与应用的基础,又注重要面向实际工程应用,提升嵌入式系统教学的实用性和工程性。
本实验教程以教学系统中的应用软件程序开发为主,全面详细地介绍基于教学系统各个实验的实验原理、软件设计和硬件设计,将比较复杂的嵌入式系统各个模块的综合开发的工程例程、嵌入式操作系统移植等内容写入实验教程中,形成了嵌入式软件开发基础实验、基本接口实验、复杂人机接口实验、通信及音频接口实验和嵌入式操作系统移植及应用编程实验体系,为嵌入式系统的学习者提供了丰富的实验例程。读者不仅能够系统地掌握嵌入式系统开发的基本知识,而且对复杂实用的外围接口模块开发、嵌入式操作系统μC/OSII移植有一个全面的了解。因此,本书是一本实践性和实用性较强的、面向工程应用的实验教程。
各章节内容安排如下:
第1章: 介绍嵌入式系统基本情况、嵌入式系统开发环境、ARM嵌入式开发工具和基于ARM的学习情况。
第2章: 介绍Embest IDE for ARM集成开发环境、Embest ARM实验教学系统和Embest JTAG仿真器。
通过以上两章,可使读者全面了解嵌入式系统开发与应用的基本情况、嵌入式系统开发工具,以及本实验教程对应的基本实验教学平台——Embest ARM实验教学系统的基本构成。
第3章: 介绍围绕ARM处理器的嵌入式软件开发基础实验,内容主要包括: ARM微处理器的基本指令系统、Thumb指令系统、汇编语言程序设计、ARM处理器工作模式切换、C语言嵌入式编程、C语言和汇编语言混合编程、综合性编程。通过这些实验,可使读者掌握嵌入式软件开发的基础知识,通过基本的程序设计,掌握嵌入式系统基本程序设计、IDE调试环境的使用。本章内容是Embest ARM实验教学系统中最基本的实验。
第4章: 介绍嵌入式系统外围的基本接口实验,内容主要包括: 存储器实验、I/O接口实验、中断实验、串口通信实验、实时时钟实验和简单的数码管接口实验。通过这些实验,可使读者基本掌握嵌入式系统外围接口应用。
第5章: 介绍关于嵌入式系统外围复杂的人机接口实验,内容主要包括: 液晶显示实验、用户键盘实验和触摸屏控制实验。这些实验是用户在熟练掌握Embest ARM实验教学系统以及开发环境基础上,进行具有较大难度且非常贴近实际工程应用的综合性设计实验。
第6章: 介绍嵌入式系统外围复杂的通信和音频接口实验,内容主要包括: I2C串行接口总线通信实验、以太网通信实验以及IIS音频接口总线通信实验。
通过第4、5和6章这3章的实验,可使读者掌握嵌入式系统外围接口设备的开发和应用编程知识,能够熟练进入嵌入式系统常用外围接口模块的开发。
第7章: 主要介绍实时操作系统μCOSII在Embest ARM实验教学系统上的移植和应用。
通过本章实验,可使读者了解μC/OSII移植条件和内核基本结构;掌握将μC/OSII内核移植到ARM7处理器上的方法和步骤,以及μC/OSII的启动流程、任务的管理;学习使用μC/OSII系统提供的任务间的通信、同步和存储管理等功能。
附录A和B: 分别为指令集速查表和指令集编码表。
附录C: 为Embest ARM产品介绍。
附录D: 为本书附带光盘内容简介。
本书附光盘1张,为英蓓特公司免费赠送的最新IDE Pro校园版软件光盘。用户可以直接安装使用该软件进行ARM程序的编辑、编译和模拟调试。软件安装后,在用户PC机的“实验例程”目录下提供本实验教程中第3章嵌入式软件基础实验例程,以供学生学习使用。配合该实验例程,可以短时间内掌握ARM的软件开发流程。如果需要调试硬件目标板,只需配套英蓓特公司的EasyICEI仿真器即可。
嵌入式实验教学体系涉及计算机接口技术、计算机应用软件开发技术、计算机操作系统技术、应用电子技术、网络通信技术等,内容繁杂。本书从教学和实验角度出发,将嵌入式系统开发与应用的复杂工程例程写入到实验教程中,在加强嵌入式系统基础教学的同时,希望学生在一个较为起初的实际工程平台上进行实验教学,形成从易到难、相对完整、贴近实际工程应用的嵌入式系统实验教学体系。
本书包含大量软件和硬件资源,也可以作为基于ARM核嵌入式系统开发的技术参考手册。鉴于目前32位ARM的嵌入式系统教学还处于起步阶段,嵌入式操作系统种类也比较多,比较著名的是VxWorks、Windows CE、Palm、μCLinux、μC/OSII等。为了本书内容体系的完整性,选择介绍源码开放的μC/OSII的基本内容。μCLinux的相关实验内容,将在本书以后再版时补充。有关嵌入式操作系统完整的知识体系相对复杂,一些出版社已经出版了多种相关书籍。如果在教学、科研中比较感兴趣,请参阅有关资料。
序言回到顶部↑
嵌入式技术的发展
以8位单片机(或微控制器,MCU)为核心的嵌入式系统早已广泛应用于各个领域,这些应用大多数还处于单机使用的嵌入式低层次阶段。其特点是以MCU为核心,与一些简单的传感器、监测设备、伺服控制、指示、显示设备等配合,实现一定的测量、显示、信息处理及控制等功能。即使在一些工业控制、汽车电子和智能家居等多机应用中,为了实现多个MCU构成的系统间的信息交流,通常是利用CAN、RS—232、RS—485等总线将MCU组网。但这种网络的应用空间有限,相关的通信协议也比较单一,并且一般孤立于广泛应用的Internet以外。目前,Internet已成为社会重要的基础信息设施,是信息流通的重要渠道。嵌入式系统必将与Internet完美融合,方便、低廉地将信息传送到世界任何一个地方。
随着嵌入式设备与Internet的广泛结合,手机、PDA、路由器、调制解调器等复杂的高端应用对嵌入式处理器的性能提出了更高的要求。虽然以8位单片机为核心的嵌入式技术不断发展,性能也不断提高,但由于其性能的局限性,已无法满足未来高性能嵌入式技术的发展需求。激烈的市场、技术竞争要求不断提高嵌入式系统的性价比;同时,也要求缩短嵌入式系统的开发周期。自从20世纪70年代初出现嵌入式系统的概念以来,嵌入式系统以其高性能、低功耗等特点高速发展。当时的嵌入式系统很多都不采用操作系统,它们只是为了实现某个控制功能,使用简单的循环控制来对外界的控制请求进行处理。随着嵌入式系统的广泛发展,当应用系统越来越复杂、使用范围越来越广泛时,每增加一项新的应用功能,都可能需要从头开始设计系统软件,没有操作系统已成为其最大缺陷。但目前在8位单片机上运行嵌入式操作系统尚有一定困难,因此,以32位微处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。
20世纪90年代后,嵌入式系统设计从以嵌入式微处理器/DSP为核心的“集成电路”级设计,逐渐转向“集成系统”级设计,提出了系统芯片SoC(Sytem on a Chip)的基本概念。目前,嵌入式系统已进入以SoC为核心的设计阶段,并开始逐步实用化、规范化。SoC为高性能嵌入式系统开发提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛使用提供了硬件基础。从20世纪80年代开始,陆续出现了一些嵌入式操作系统,比较著名的有VxWorks、WindowsCE、Palm、μCLinux、pSOS和μC/OS-II等,但真正广泛使用只是近几年的事情。一方面是因为嵌入式系统软件开发复杂度增加的需求;另一方面是大量高性能、面向实际应用、集成多种系统功能的SoC芯片成为高端嵌入式应用的硬件核心,为可靠、高效、低成本地运行嵌入式操作系统提供了硬件平台。大部分嵌入式操作系统价格昂贵,而源代码开放的μC/OS-II、μCLinux是大家比较看好的,也比较适用于教学。有关嵌入式操作系统的知识体系相对复杂,一些出版社已经出版了多种相关书籍,如果在教学、科研中比较感兴趣,请参阅相关资料。
嵌入式微处理器具有体积小、重量轻、成本低、可靠性高等优点,是嵌入式系统的核心。目前比较有影响的32位嵌入式微处理器有ARM公司的ARM、Compaq公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、MIPS公司的MIPS和Sun公司的Sparc等。而ARM处理器具有高性能、低功耗、低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式微处理器中应用最为广泛的一个系列。
20世纪90年代初,半导体行业产业链形成设计业、制造业、封装测试业三业分离的产业分工。台积电、联电等半导体工厂崛起,一些fabless、chipless公司如雨后春笋般涌现出来。而英国先进RISC机器公司(Advanced RISC Machines,简称ARM公司)作为fabless、chipless这一生产模式最为成功的典范,既不生产芯片,也不销售芯片,而是设计出高效的IP内核,授权给各半导体公司使用;半导体公司在ARM技术的基础上,根据自己公司的产品定位,添加自己的设计并推出芯片产品;最后由OEM客户采用这些芯片来构建基于ARM技术的最终应用系统产品。经过10多年的发展,ARM公司已成为业界领先的IP供应商。
回顾ARM技术的发展历程,在ARM7体系结构(体系结构版本v3)刚被广泛接受和使用时,嵌入式微处理器的市场仍然大都由8位、16位处理器占领。然而,这些产品却不能满足当时移动电话、调制解调器等高端应用对处理器性能的要求。这些高端产品需要32位RISC处理器的性能和更优于16位CISC处理器的代码密度,这就要求要以更低的成本取得更好的性能和更优的代码密度。为了满足这种发展需求,ARM体系结构增加了T变种,开发了一种新的指令体系,即16位Thumb指令集。Thumb技术是ARM技术的一大特色。ARM公司发布的ARM7TDMIT(体系结构版本v4T)是第一个支持Thumb指令集的微处理器,其工作模式可以方便地切换到Thumb状态。在该状态下运行的指令集是16位Thumb指令集,这在当’时的16位系统与现在需要的32位系统之间搭起了一座桥梁。性能更优而不需要付出额外代价的ARM,为那些在当时使用8位或16位处理器,却一直在寻找更优性能处理器的用户,提供了解决方案,也极大地推动了ARM技术的发展。16位处理器一直没有像人们预期的那样发展起来的原因很复杂,由于32位ARM微处理器提供了低于一般16位微处理器的价格而高于一般16位微处理器的性能,使得高端嵌入式应用可以完全跨越16位而直接进入32位应用领域,这也许是原因之一。
ARM微处理器得到了众多半导体厂家和整机厂商的大力支持,全球已有100多家汀公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括TI、Philips和Intel等公司。优良的性能和准确的市场定位极大地丰富了ARM资源,加速了基于ARM核的、面向各种应用系统芯片的开发应用,使ARM技术获得了更广泛的应用,确立了ARM技术的市场领先地位。ARM在高性能嵌入式应用领域获得了巨大的成功,已在32位嵌入式应用中稳居世界第一。在2002年,基于ARM核的芯片占据了整个32、64位嵌入式微处理器市场的79.5%,全世界已使用了20多亿个ARM核。如今,ARM公司已经成为业界的龙头老大,“每个人的口袋中都装着ARM"是毫不夸张的,因为几乎所有的手机、移动设备、PDA都是用基于ARM核的系统芯片开发的。为了顺应当今世界技术革新的潮流,了解、学习和掌握高性能嵌入式技术,就必然要学习以32位ARM微处理器为核心的嵌入式开发技术以及其应用开发环境和平台。
对IT产业发展规律进行总结发现:如果说过去20年PC机的广泛应用是集成电路和IT相关技术发展的驱动器并且极大地促进了IT相关技术发展,那么未来几十年除了PC技术要继续高速发展之外,主要驱动器应该是与Internet相结合的、可移动的(Mobile)、便携的(Portable)、实时嵌入式Internet的信息处理设备,即进入了后PC(Post-PC)时代。目前嵌入式Internet还仅局限于移动商务、智能家居(家电上网)、工业控制和智能设备的应用等方面。随着相关应用技术的发展,嵌入式技术必将与许多实际应用领域相结合,以难以想像的速度发展。这必然会极大地拓展嵌入式应用的广度和深度,体现嵌入式系统与实际应用密切结合的价值。
当代通用计算机工业是Wintel(Microsoft和Intel公司20世纪90年代初建立的联盟)垄断的工业。随着信息技术和网络技术的高速发展,嵌入式技术的广泛应用使得这种垄断在后PC时代不再存在。嵌入式系统正是非PC设备的主体。互联网技术在世界范围的扩展以及中国通信事业的高速发展,为我国开发嵌入式产品造就了巨大的市场。与实际应用密切结合且技术高度分散的嵌入式技术,为我国IT技术的发展提供了难得的机遇。加快嵌入式技术的开发应用、掌握嵌入式开发核心技术,对于IT技术并不发达的中国是非常重要的。嵌入式系统教学现状和32位嵌入式系统教学体系的建设
发展嵌入式技术,人才是关键。培养和培训相关人才,一方面,要在高校中加强嵌入式系统教学,这是人才的源头;另一方面,有一定实际项目开发经验的工程技术人员也需要加强嵌入式开发技术的培训学习。目前大学生就业难,许多单位又招聘不到合适的开发人员。国内教育与人才需求之间存在不相适应的严重矛盾。虽然产生这一矛盾的原因很多,但就目前工科教育而言,存在重知识传授而轻能力与素质培养、重理论讲述而轻实践环节训练、重共性教育而轻个性发展、重对传统的继承而轻对现状的突破和创新等众多问题。反映在高校相关课程的教学体系设置中,就是可以提高自主开发能力的训练条件不具备;没有规范性的工程实际训练课程;已开设的相关课程教学内容陈旧,无法满足日新月异的新技术变革的需要,而且广度有限,深度不够。反映在实践教学过程中,就是没有一流的、与实际工程应用密切结合的实验教学设施以及相关实践性课程内容设计,使得高校培养的人才创新意识薄弱,实践能力不强,与实际工程应用需求严重脱节,学生发展后劲不足。这些原因可能是当前工科人才培养不能满足实际工程需求的一个重要因素。因此,用人单位不得不承担繁重的工程应用再教育的任务,这严重制约了我国相关技术的发展。
就我国大部分高校目前的嵌入式系统教学而言,整体仍然停留在20世纪80年代初发展起来的以8位51单片机为核心的教学水平上。总结近20多年来我国以单片机为核心的嵌入式系统教学情况,虽然它极大地促进了中国IT技术的发展,但是由于受传统教学体系的影响以及我国高等教育条件的限制,目前教学内容设置、教学方法、教学手段、教材编写体系与这门课程以实际应用为主的基本特征严重脱节。学生学完这门课程后,只能进行一般的、基于指令基础上的简单编程,而不能进行基本的应用系统设计。在此基础上要想完成具有较大规模的应用程序设计是有一定难度的,要独立进行一般的开发工作就更加有难度。一般学生进入技术开发岗位后,基本上要进行相当长一段时间的实际培训,才能基本进入开发流程;要独立承担项目,还需要更长一段时间。
以32位ARM为核心的嵌入式技术日益成为高性能嵌入式技术应用的基础,面向实际工程应用、以ARM为核心的嵌入式技术培训课程也日益受到工程技术人员的欢迎,正说明了在高校建立一个新的、基于ARM技术的嵌入式系统教学课程体系的必要性和迫切性,这可以从源头上解决嵌入式技术发展对人才的需求。
当然,与传统的以8位51单片机为核心的开发应用相比,ARM微处理器的性能和处理能力遥遥领先,应用也日益广泛,但与之相应地,基于ARM的嵌入式系统软、硬件开发的复杂度和难度也急剧加大。要建立一个新的、以ARM技术为核心的嵌人式系统开发与应用的教学课程体系,就需要总结以往以51单片机为核心的嵌入式系统教学经验,同时也要与ARM技术的自身特点以及国内实际的教育基础和产业发展的具体情况进行密切结合。既要考虑大大提高目前我国嵌入式系统教学的水平,又不能脱离现在的教学实际;既要加强嵌入式系统基础教育,又要面向实际工程应用,提升嵌入式系统教学的实用性和工程性,将比较复杂的嵌入式模块综合开发的例程、嵌入式操作系统移植等内容写入教材中。
本系列教程和相关教学实验平台
要建立基于32位ARM技术的嵌入式系统教学体系,迫切需要配套相应的教材,这是教学体系建设的基础。目前,国内尚缺少适用的教材。
作者是国内最早翻译ARM bible级的《ARMSoC体系结构》一书的译者之一,并从事基于ARM技术的相关教学及科研工作多年,与ARM公司、基于ARM核的芯片厂商以及对ARM感兴趣的读者建立了广泛的联系,他们给我提供了大量的技术信息。许多读者建议将基于ARM的嵌入式技术写进教科书中,使得基于ARM的嵌入式技术走进教室、走进实验室,以加快我国嵌入式技术开发的整体水平。这些建议使我萌发了编写本套《嵌入式系统开发与应用系列教程》的念头并付诸于实践中。我们按照当前高校理论教学与实验教学的分类方法,编写了本套教程,希望以此为基础形成一个系统的、基于32位ARM的理论教学与实验教学体系。
嵌入式开发与应用涉及软、硬件及操作系统等复杂的知识,基于ARM的嵌入式系统教学,尤其是面向实际开发应用的教学工作是一项非常复杂的系统工程。本套教程尝试性地将大量的基本嵌入式开发与应用的复杂例程从教学和实验角度出发写入到教材中,希望基于ARM的基础嵌入式系统教学能更好地融合实际应用。本书是作者在研究生、本科生嵌入式教学及相关技术培训讲义的基础上完成的。
本套教程的基本组成和内容如下:
◆《嵌入式系统开发与应用教程》
以8位单片机(或微控制器,MCU)为核心的嵌入式系统早已广泛应用于各个领域,这些应用大多数还处于单机使用的嵌入式低层次阶段。其特点是以MCU为核心,与一些简单的传感器、监测设备、伺服控制、指示、显示设备等配合,实现一定的测量、显示、信息处理及控制等功能。即使在一些工业控制、汽车电子和智能家居等多机应用中,为了实现多个MCU构成的系统间的信息交流,通常是利用CAN、RS—232、RS—485等总线将MCU组网。但这种网络的应用空间有限,相关的通信协议也比较单一,并且一般孤立于广泛应用的Internet以外。目前,Internet已成为社会重要的基础信息设施,是信息流通的重要渠道。嵌入式系统必将与Internet完美融合,方便、低廉地将信息传送到世界任何一个地方。
随着嵌入式设备与Internet的广泛结合,手机、PDA、路由器、调制解调器等复杂的高端应用对嵌入式处理器的性能提出了更高的要求。虽然以8位单片机为核心的嵌入式技术不断发展,性能也不断提高,但由于其性能的局限性,已无法满足未来高性能嵌入式技术的发展需求。激烈的市场、技术竞争要求不断提高嵌入式系统的性价比;同时,也要求缩短嵌入式系统的开发周期。自从20世纪70年代初出现嵌入式系统的概念以来,嵌入式系统以其高性能、低功耗等特点高速发展。当时的嵌入式系统很多都不采用操作系统,它们只是为了实现某个控制功能,使用简单的循环控制来对外界的控制请求进行处理。随着嵌入式系统的广泛发展,当应用系统越来越复杂、使用范围越来越广泛时,每增加一项新的应用功能,都可能需要从头开始设计系统软件,没有操作系统已成为其最大缺陷。但目前在8位单片机上运行嵌入式操作系统尚有一定困难,因此,以32位微处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。
20世纪90年代后,嵌入式系统设计从以嵌入式微处理器/DSP为核心的“集成电路”级设计,逐渐转向“集成系统”级设计,提出了系统芯片SoC(Sytem on a Chip)的基本概念。目前,嵌入式系统已进入以SoC为核心的设计阶段,并开始逐步实用化、规范化。SoC为高性能嵌入式系统开发提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛使用提供了硬件基础。从20世纪80年代开始,陆续出现了一些嵌入式操作系统,比较著名的有VxWorks、WindowsCE、Palm、μCLinux、pSOS和μC/OS-II等,但真正广泛使用只是近几年的事情。一方面是因为嵌入式系统软件开发复杂度增加的需求;另一方面是大量高性能、面向实际应用、集成多种系统功能的SoC芯片成为高端嵌入式应用的硬件核心,为可靠、高效、低成本地运行嵌入式操作系统提供了硬件平台。大部分嵌入式操作系统价格昂贵,而源代码开放的μC/OS-II、μCLinux是大家比较看好的,也比较适用于教学。有关嵌入式操作系统的知识体系相对复杂,一些出版社已经出版了多种相关书籍,如果在教学、科研中比较感兴趣,请参阅相关资料。
嵌入式微处理器具有体积小、重量轻、成本低、可靠性高等优点,是嵌入式系统的核心。目前比较有影响的32位嵌入式微处理器有ARM公司的ARM、Compaq公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、MIPS公司的MIPS和Sun公司的Sparc等。而ARM处理器具有高性能、低功耗、低成本等显著优点,已成为高性能、低功耗嵌入式微处理器的代名词,是目前32位、64位嵌入式微处理器中应用最为广泛的一个系列。
20世纪90年代初,半导体行业产业链形成设计业、制造业、封装测试业三业分离的产业分工。台积电、联电等半导体工厂崛起,一些fabless、chipless公司如雨后春笋般涌现出来。而英国先进RISC机器公司(Advanced RISC Machines,简称ARM公司)作为fabless、chipless这一生产模式最为成功的典范,既不生产芯片,也不销售芯片,而是设计出高效的IP内核,授权给各半导体公司使用;半导体公司在ARM技术的基础上,根据自己公司的产品定位,添加自己的设计并推出芯片产品;最后由OEM客户采用这些芯片来构建基于ARM技术的最终应用系统产品。经过10多年的发展,ARM公司已成为业界领先的IP供应商。
回顾ARM技术的发展历程,在ARM7体系结构(体系结构版本v3)刚被广泛接受和使用时,嵌入式微处理器的市场仍然大都由8位、16位处理器占领。然而,这些产品却不能满足当时移动电话、调制解调器等高端应用对处理器性能的要求。这些高端产品需要32位RISC处理器的性能和更优于16位CISC处理器的代码密度,这就要求要以更低的成本取得更好的性能和更优的代码密度。为了满足这种发展需求,ARM体系结构增加了T变种,开发了一种新的指令体系,即16位Thumb指令集。Thumb技术是ARM技术的一大特色。ARM公司发布的ARM7TDMIT(体系结构版本v4T)是第一个支持Thumb指令集的微处理器,其工作模式可以方便地切换到Thumb状态。在该状态下运行的指令集是16位Thumb指令集,这在当’时的16位系统与现在需要的32位系统之间搭起了一座桥梁。性能更优而不需要付出额外代价的ARM,为那些在当时使用8位或16位处理器,却一直在寻找更优性能处理器的用户,提供了解决方案,也极大地推动了ARM技术的发展。16位处理器一直没有像人们预期的那样发展起来的原因很复杂,由于32位ARM微处理器提供了低于一般16位微处理器的价格而高于一般16位微处理器的性能,使得高端嵌入式应用可以完全跨越16位而直接进入32位应用领域,这也许是原因之一。
ARM微处理器得到了众多半导体厂家和整机厂商的大力支持,全球已有100多家汀公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括TI、Philips和Intel等公司。优良的性能和准确的市场定位极大地丰富了ARM资源,加速了基于ARM核的、面向各种应用系统芯片的开发应用,使ARM技术获得了更广泛的应用,确立了ARM技术的市场领先地位。ARM在高性能嵌入式应用领域获得了巨大的成功,已在32位嵌入式应用中稳居世界第一。在2002年,基于ARM核的芯片占据了整个32、64位嵌入式微处理器市场的79.5%,全世界已使用了20多亿个ARM核。如今,ARM公司已经成为业界的龙头老大,“每个人的口袋中都装着ARM"是毫不夸张的,因为几乎所有的手机、移动设备、PDA都是用基于ARM核的系统芯片开发的。为了顺应当今世界技术革新的潮流,了解、学习和掌握高性能嵌入式技术,就必然要学习以32位ARM微处理器为核心的嵌入式开发技术以及其应用开发环境和平台。
对IT产业发展规律进行总结发现:如果说过去20年PC机的广泛应用是集成电路和IT相关技术发展的驱动器并且极大地促进了IT相关技术发展,那么未来几十年除了PC技术要继续高速发展之外,主要驱动器应该是与Internet相结合的、可移动的(Mobile)、便携的(Portable)、实时嵌入式Internet的信息处理设备,即进入了后PC(Post-PC)时代。目前嵌入式Internet还仅局限于移动商务、智能家居(家电上网)、工业控制和智能设备的应用等方面。随着相关应用技术的发展,嵌入式技术必将与许多实际应用领域相结合,以难以想像的速度发展。这必然会极大地拓展嵌入式应用的广度和深度,体现嵌入式系统与实际应用密切结合的价值。
当代通用计算机工业是Wintel(Microsoft和Intel公司20世纪90年代初建立的联盟)垄断的工业。随着信息技术和网络技术的高速发展,嵌入式技术的广泛应用使得这种垄断在后PC时代不再存在。嵌入式系统正是非PC设备的主体。互联网技术在世界范围的扩展以及中国通信事业的高速发展,为我国开发嵌入式产品造就了巨大的市场。与实际应用密切结合且技术高度分散的嵌入式技术,为我国IT技术的发展提供了难得的机遇。加快嵌入式技术的开发应用、掌握嵌入式开发核心技术,对于IT技术并不发达的中国是非常重要的。嵌入式系统教学现状和32位嵌入式系统教学体系的建设
发展嵌入式技术,人才是关键。培养和培训相关人才,一方面,要在高校中加强嵌入式系统教学,这是人才的源头;另一方面,有一定实际项目开发经验的工程技术人员也需要加强嵌入式开发技术的培训学习。目前大学生就业难,许多单位又招聘不到合适的开发人员。国内教育与人才需求之间存在不相适应的严重矛盾。虽然产生这一矛盾的原因很多,但就目前工科教育而言,存在重知识传授而轻能力与素质培养、重理论讲述而轻实践环节训练、重共性教育而轻个性发展、重对传统的继承而轻对现状的突破和创新等众多问题。反映在高校相关课程的教学体系设置中,就是可以提高自主开发能力的训练条件不具备;没有规范性的工程实际训练课程;已开设的相关课程教学内容陈旧,无法满足日新月异的新技术变革的需要,而且广度有限,深度不够。反映在实践教学过程中,就是没有一流的、与实际工程应用密切结合的实验教学设施以及相关实践性课程内容设计,使得高校培养的人才创新意识薄弱,实践能力不强,与实际工程应用需求严重脱节,学生发展后劲不足。这些原因可能是当前工科人才培养不能满足实际工程需求的一个重要因素。因此,用人单位不得不承担繁重的工程应用再教育的任务,这严重制约了我国相关技术的发展。
就我国大部分高校目前的嵌入式系统教学而言,整体仍然停留在20世纪80年代初发展起来的以8位51单片机为核心的教学水平上。总结近20多年来我国以单片机为核心的嵌入式系统教学情况,虽然它极大地促进了中国IT技术的发展,但是由于受传统教学体系的影响以及我国高等教育条件的限制,目前教学内容设置、教学方法、教学手段、教材编写体系与这门课程以实际应用为主的基本特征严重脱节。学生学完这门课程后,只能进行一般的、基于指令基础上的简单编程,而不能进行基本的应用系统设计。在此基础上要想完成具有较大规模的应用程序设计是有一定难度的,要独立进行一般的开发工作就更加有难度。一般学生进入技术开发岗位后,基本上要进行相当长一段时间的实际培训,才能基本进入开发流程;要独立承担项目,还需要更长一段时间。
以32位ARM为核心的嵌入式技术日益成为高性能嵌入式技术应用的基础,面向实际工程应用、以ARM为核心的嵌入式技术培训课程也日益受到工程技术人员的欢迎,正说明了在高校建立一个新的、基于ARM技术的嵌入式系统教学课程体系的必要性和迫切性,这可以从源头上解决嵌入式技术发展对人才的需求。
当然,与传统的以8位51单片机为核心的开发应用相比,ARM微处理器的性能和处理能力遥遥领先,应用也日益广泛,但与之相应地,基于ARM的嵌入式系统软、硬件开发的复杂度和难度也急剧加大。要建立一个新的、以ARM技术为核心的嵌人式系统开发与应用的教学课程体系,就需要总结以往以51单片机为核心的嵌入式系统教学经验,同时也要与ARM技术的自身特点以及国内实际的教育基础和产业发展的具体情况进行密切结合。既要考虑大大提高目前我国嵌入式系统教学的水平,又不能脱离现在的教学实际;既要加强嵌入式系统基础教育,又要面向实际工程应用,提升嵌入式系统教学的实用性和工程性,将比较复杂的嵌入式模块综合开发的例程、嵌入式操作系统移植等内容写入教材中。
本系列教程和相关教学实验平台
要建立基于32位ARM技术的嵌入式系统教学体系,迫切需要配套相应的教材,这是教学体系建设的基础。目前,国内尚缺少适用的教材。
作者是国内最早翻译ARM bible级的《ARMSoC体系结构》一书的译者之一,并从事基于ARM技术的相关教学及科研工作多年,与ARM公司、基于ARM核的芯片厂商以及对ARM感兴趣的读者建立了广泛的联系,他们给我提供了大量的技术信息。许多读者建议将基于ARM的嵌入式技术写进教科书中,使得基于ARM的嵌入式技术走进教室、走进实验室,以加快我国嵌入式技术开发的整体水平。这些建议使我萌发了编写本套《嵌入式系统开发与应用系列教程》的念头并付诸于实践中。我们按照当前高校理论教学与实验教学的分类方法,编写了本套教程,希望以此为基础形成一个系统的、基于32位ARM的理论教学与实验教学体系。
嵌入式开发与应用涉及软、硬件及操作系统等复杂的知识,基于ARM的嵌入式系统教学,尤其是面向实际开发应用的教学工作是一项非常复杂的系统工程。本套教程尝试性地将大量的基本嵌入式开发与应用的复杂例程从教学和实验角度出发写入到教材中,希望基于ARM的基础嵌入式系统教学能更好地融合实际应用。本书是作者在研究生、本科生嵌入式教学及相关技术培训讲义的基础上完成的。
本套教程的基本组成和内容如下:
◆《嵌入式系统开发与应用教程》







点击看大图

加载中...

