ARM9嵌入式Linux开发实验与实践
基本信息
- 作者: 田泽
- 丛书名: 嵌入式系统开发与应用系列教程
- 出版社:北京航空航天大学出版社
- ISBN:7810778137
- 上架时间:2006-11-1
- 出版日期:2006 年11月
- 开本:16开
- 页码:342
- 版次:1-1
- 所属分类:
计算机 > 计算机组织与体系结构 > 微处理器/CPU
计算机 > 操作系统 > Linux
计算机 > 计算机组织与体系结构 > 嵌入式计算机
教材 > 教材汇编分册 > 高等理工
本版教材征订号:0046090076-4
内容简介回到顶部↑
以arm9核的embest edukitii/iii多核实验教学系统为硬件开发平台,以嵌入式linux操作系统为软件开发平台,设计开发了21个实验,内容包括: linux启动代码编程实验,linux内核基础实验,linux驱动程序实验,linux文件系统及应用程序添加、调试实验,linux应用程序设计实验,linux的gui及综合应用实验。内容安排上从易到难,相对完整,密切结合嵌入式系统教学实际,贴近嵌入式linux开发的实际工程应用,并提供了丰富的从入门到系统开发的实验例程。使读者不仅能够系统地掌握嵌入式linux开发的基本知识和技能,而且会为基于嵌入式linux的嵌入式系统开发打下坚实的基础。书中附英蓓特公司免费提供的光盘1张,内含embest ide pro校园版安装软件及其他相关资料。.
本书可作为高等院校电子、通信、自动化、计算机等专业嵌入式系统课程实验教学的教材,也可作为相关工程技术人员的嵌入式培训教材及参考用书。...
本书可作为高等院校电子、通信、自动化、计算机等专业嵌入式系统课程实验教学的教材,也可作为相关工程技术人员的嵌入式培训教材及参考用书。...
目录回到顶部↑
第1章 嵌入式系统开发与应用基础.
1.1 基于arm的嵌入式开发环境概述2
1.1.1 交叉开发环境2
1.1.2 模拟开发环境3
1.1.3 评估电路板4
1.1.4 嵌入式操作系统4
1.2 arm开发工具简介5
1.2.1 arm sdt 5
1.2.2 arm ads7
1.2.3 multi 200010
1.2.4 embest ide for arm14
1.2.5 openice32a900仿真器15
1.2.6 multiice仿真器16
1.2.7 arm realview开发工具17
1.3 基于arm的嵌入式系统开发学习18
第2章 embest edukitii/iii实验教学系统
2.1 实验教学系统简介19
2.1.1 基本组成19
2.1.2 主要特点20
2.1.3 软、硬件配置21
1.1 基于arm的嵌入式开发环境概述2
1.1.1 交叉开发环境2
1.1.2 模拟开发环境3
1.1.3 评估电路板4
1.1.4 嵌入式操作系统4
1.2 arm开发工具简介5
1.2.1 arm sdt 5
1.2.2 arm ads7
1.2.3 multi 200010
1.2.4 embest ide for arm14
1.2.5 openice32a900仿真器15
1.2.6 multiice仿真器16
1.2.7 arm realview开发工具17
1.3 基于arm的嵌入式系统开发学习18
第2章 embest edukitii/iii实验教学系统
2.1 实验教学系统简介19
2.1.1 基本组成19
2.1.2 主要特点20
2.1.3 软、硬件配置21
前言回到顶部↑
本书是《嵌入式系统开发与应用系列教程》中嵌入式操作系统实验教程之一,是构建一个新的以ARM技术为核心的嵌入式系统开发与应用教学课程体系的重要部分。本书以基于ARM9核(S3C2410X)的Embest EDUKITII/III实验教学系统为硬件开发平台,以基于ARM9广泛使用的嵌入式Linux操作系统为软件开发平台,系统建立了基于ARM9相对完整的嵌入式Linux开发实验与实践教学与培训体系。.
第1章是关于嵌入式系统开发的基本情况介绍,主要是基于ARM的嵌入式开发环境、工具和基于ARM的学习情况介绍。
第2章是关于Embest EDUKITII/III实验教学系统的组成和各组成部分的使用介绍。
通过以上两章使读者对嵌入式开发与应用的基本情况、嵌入式开发工具和实验教材所对应的Embest EDUKITII/III实验教学系统的基本构成有个全面了解。
第3章是Linux开发环境的建立,包括Cygwin开发环境、Linux开发环境、编译工具、源代码文件、实验例程说明、环境变量及编译、烧写映像文件,以及本书的相关文档约定。
第4章是Linux启动代码编程实验,包括VIVI实验、VIVI编译及使用实验。
第5章是Linux内核基础实验,包括Linux编译运行实验和Linux内核调试实验。
第6章是Linux驱动程序实验,包括LED字符设备驱动程序实验、LCD显示驱动程序实验和动态加载模块实验。
第7章是Linux文件系统及应用程序添加、调试实验,包括cramfs文件系统实验、FTP应用程序调试实验设计NFS方式调试应用程序实验。..
第8章是Linux应用程序设计实验,包括串口通信实验、I2C总线接口实验、多进程与进程间通信实验、网络应用程序实验、文件和目录操作实验、实时时钟实验、A/D转换实验、键盘和LED控制实验、EEPROM读/写实验。
第9章是Linux 的GUI及综合应用实验,包括Qt实验和Web服务器实验。
附录的主要内容是指令集速查表、指令集编码表及随书光盘的内容介绍。
本书从教学和实验角度出发,将基于ARM9的Linux开发的复杂工程例程按照学习的自然过程,分类写入到实验教程中,在加强基于ARM9的嵌入式Linux操作系统基础教学的同时,希望在一个较为真实的实际工程平台上进行实验教学,形成从易到难、相对完整、贴近实际工程应用的嵌入式Linux操作系统实验教学体系。本书包含大量软件和硬件资源,也可以作为基于ARM9的Linux开发的技术参考手册。
嵌入式实验教学体系涉及到计算机接口技术、计算机应用软件开发技术、计算机操作系统技术、应用电子技术、网络通信技术等,内容繁杂。在本书的内容设计以及教学实验系统开发过程中,密切结合了基于ARM9的Linux开发的实际工程应用。通过本书的学习,使得读者能够系统掌握基于ARM9的Linux嵌入式开发的基本知识和技能,为基于ARM9的Linux嵌入式开发打下坚实的基础。
基于ARM的嵌入式教学体系建设刚刚开始,而嵌入式应用开发又涉及到软、硬件及操作系统等复杂的知识。因此它的教学体系、尤其是面向实际开发应用的教学体系的建立,是一项非常复杂的系统工程。书中难免存在一些错误和不足,敬请读者谅解,并欢迎读者提出宝贵的意见和建议。...
田泽
2006年8月
第1章是关于嵌入式系统开发的基本情况介绍,主要是基于ARM的嵌入式开发环境、工具和基于ARM的学习情况介绍。
第2章是关于Embest EDUKITII/III实验教学系统的组成和各组成部分的使用介绍。
通过以上两章使读者对嵌入式开发与应用的基本情况、嵌入式开发工具和实验教材所对应的Embest EDUKITII/III实验教学系统的基本构成有个全面了解。
第3章是Linux开发环境的建立,包括Cygwin开发环境、Linux开发环境、编译工具、源代码文件、实验例程说明、环境变量及编译、烧写映像文件,以及本书的相关文档约定。
第4章是Linux启动代码编程实验,包括VIVI实验、VIVI编译及使用实验。
第5章是Linux内核基础实验,包括Linux编译运行实验和Linux内核调试实验。
第6章是Linux驱动程序实验,包括LED字符设备驱动程序实验、LCD显示驱动程序实验和动态加载模块实验。
第7章是Linux文件系统及应用程序添加、调试实验,包括cramfs文件系统实验、FTP应用程序调试实验设计NFS方式调试应用程序实验。..
第8章是Linux应用程序设计实验,包括串口通信实验、I2C总线接口实验、多进程与进程间通信实验、网络应用程序实验、文件和目录操作实验、实时时钟实验、A/D转换实验、键盘和LED控制实验、EEPROM读/写实验。
第9章是Linux 的GUI及综合应用实验,包括Qt实验和Web服务器实验。
附录的主要内容是指令集速查表、指令集编码表及随书光盘的内容介绍。
本书从教学和实验角度出发,将基于ARM9的Linux开发的复杂工程例程按照学习的自然过程,分类写入到实验教程中,在加强基于ARM9的嵌入式Linux操作系统基础教学的同时,希望在一个较为真实的实际工程平台上进行实验教学,形成从易到难、相对完整、贴近实际工程应用的嵌入式Linux操作系统实验教学体系。本书包含大量软件和硬件资源,也可以作为基于ARM9的Linux开发的技术参考手册。
嵌入式实验教学体系涉及到计算机接口技术、计算机应用软件开发技术、计算机操作系统技术、应用电子技术、网络通信技术等,内容繁杂。在本书的内容设计以及教学实验系统开发过程中,密切结合了基于ARM9的Linux开发的实际工程应用。通过本书的学习,使得读者能够系统掌握基于ARM9的Linux嵌入式开发的基本知识和技能,为基于ARM9的Linux嵌入式开发打下坚实的基础。
基于ARM的嵌入式教学体系建设刚刚开始,而嵌入式应用开发又涉及到软、硬件及操作系统等复杂的知识。因此它的教学体系、尤其是面向实际开发应用的教学体系的建立,是一项非常复杂的系统工程。书中难免存在一些错误和不足,敬请读者谅解,并欢迎读者提出宝贵的意见和建议。...
田泽
2006年8月
序言回到顶部↑
嵌入式技术的发展
以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、Windows CE、Palm、uClinux、pSOS和uC/OS—II等。但真正广泛使用却是近年来的事情,一方面,嵌入式系统软件开发复杂度的增加要求嵌入式操作系统的支持;另一方面,大量高性能、面向实际应用、集成多种系统功能的SoC芯片成为高端嵌入式应用的硬件核心,为可靠、高效、低成本地运行嵌入式操作系统提供了硬件平台。大部分嵌入式操作系统价格昂贵,而源代码开放的uC/OC/OS—II、uClinux、Linux是大家比较看好的,也比较适用于教学。有关嵌入式操作系统的知识,一些出版社已经出版了多种相关专业书籍,请参阅相关资料。
嵌入式微处理器具有体积小、重量轻、成本低、可靠性高等优点,是嵌入式系统的核心。目前,比较有影响的32位嵌入式处理器有ARM公司的ARM系列、Compaq公司的Alpha、HP公司的PA—RISC、IBM公司的Power PC、MIPS公司的MIPS和Sun公司的Sparc。而ARM处理器具有高性能、低功耗、低成本等显著优点,已成为高性能、低功耗嵌入式处理器的代名词,是目前32位、64位嵌入式处理器中应用最为广泛的一个系列。
20世纪90年代初,半导体行业产业链形成设计业、制造业、封装测试业三业分离的产业分工。台积电、联电等半导体代工厂崛起,一些fabless、chipless公司如雨后春笋般出来,英国先进RISC机器公司(Advanced RISC Machines,简称ARM公司)就是fabless、chipless这一生产模式最为成功的典范。ARM公司既不生产芯片,也不销售芯片,而是设计出高效的IP内核,授权给各个半导体公司使用。半导体公司在ARM技术的基础上,根据自己公司的产品定位,添加自己的设计并推出芯片产品,最后由OEM客户采用这些芯片来构建基于ARM技术的最终应用系统产品。经过10多年的发展,ARM公司已成为业界领先的IP核供应商。
回顾ARM技术的发展历程,在ARM7体系结构(体系结构版本v3)刚被广泛接受和使用时,嵌入式微处理器的市场仍然大都由8位、16位处理器占领。然而,这些产品却不能满足当时移动电话、调制解调器等高端应用对处理98性能的要求。这些高端产品需要32位RISC处理器的性能和更优于16位CISC处理器的代码密度,这就要求要以更低的成本取得更好的性能和更优的代码密度。为了满足这种发展需求,ARM体系结构增加了T变种,开发了一种新的指令体系,即16位Thumb指令集。Thumb技术是ARM技术的一大特色。ARM发布的ARM7TDMI体系结构(体系结构版本v4T)的处理器,是第一款支持Thumb指令集的微处理器,其工作模式可以方便地切换到Thumb状态。在该状态下运行的指令集是16位Thumb指令集,这在当时的16位,系统与现在需要的32位系统之间搭起了一座桥梁。性能更优而不需要付出额外代价的ARM,对那些在当时使用8或16位处理器,却一直在寻找更优性能的用户来说,提供了解决方案,也极大地推动了ARM技术的发展。16位处理器一直没有像人们预期的那样发展起来的原因很复杂,由于32位ARM处理器提供了低于一般16位微处理器的价格而高于一般16位微处理器的性能,使得高端的嵌入式应用可以完全跨越16位而直接进入32位应用领域,这也许是原因之一。
ARM处理器得到了众多半导体厂家和整机厂商的大力支持,全球已有103家巨型IT公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括丁I、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现状和32位嵌入式系统教学体系的建设
发展嵌入式技术,人才是关键。培养和培训相关人才,一方面要在学生中加强嵌入式系统教学,这是人才的源头;另一方面,有一定实际项目开发经验的工程技术人员也需要加强嵌入式开发技术的学习。目前,大学生就业难,而许多单位又招聘不到合适的开发人员。国内教育与人才需求之间存在着不相适应的严重矛盾。虽然产生这一矛盾的原因很多,但就目前的工科教育而言,存在着重知识传授而轻能力与素质培养、重理论讲述而轻实践环节训练、重共性教育而轻个性发展、重对传统的继承而轻对现状的突破和创新等众多问题。反映在学生的相关课程教学体系设置中,就是可以提高自主开发能力的训练条件不具备;没有规范性的工程实际训练课程;已开设的相关课程教学内容陈旧,无法满足日新月异的新技术变革,而且广度有限,深度不够。反映在实践教学过程中,就是没有一流的、与实际工程应用密切结合的实验教学设施,以及相关实践性课程内容设计,使高校培养的人才创新意识薄弱,实践能力不强,与实际工程应用需求严重脱节。这些原因可能是当前工科人才培养不能满足实际工程需求的一个重要因素。因此,用人单位不得不承担繁重的工程应用再教育的任务,这严重地制约了我国相关技术的发展。..
就我国大部分高校目前的嵌入式教学而言,整体仍然是停留在20世纪80年代初发展起来的以8位51单片机为核心的单片机教学水平上。总结近20多年来我国以单片机为核心的嵌入式教学情况,虽然它极大地促进了中国IT技术的发展,但是由于受传统教学体系的影响,以及我国高等教育条件的限制,目前教学内容设置、教学方法、教学手段、教材编写体系与这门课程以实际应用为主的基本特征严重脱节。学生学完这门课程后,只能进行一般的、基于指令基础上的简单编程,而不能进行基本的应用系统设计。在此基础上要想完成具有较大规模的应用程序设计是有一定难度的,要独立进行一般的开发工作就更加困难。一般学生进入技术开发岗位,基本上要进行相当长一段时间的实际培训,才能基本进入开发流程。如果要独立承担项目,还需要更长一段时间。
以32位ARM为核心的嵌入式技术日益成为高性能嵌入式应用的基础,面向实际工程应用、以ARM为核心的嵌入式技术培训课程也越来越受到工程技术人员的欢迎,这正说明了在高校建立一个新的、基于ARM技术的嵌入式系统教学课程体系的必要性和迫切性,这可以从源头上解决嵌入式技术发展对人才的需求。
当然,与传统的以8位51单片机开发应用相比,ARM的性能和处理能力是遥遥领先的,
应用也日益广泛,但与之相应地,基于ARM的嵌入式系统软、硬件开发的复杂度和难度也急剧加大。要建立一个新的、以ARM技术为核心的嵌入式系统开发与应用的教学课程体系时,就需要总结以往以51单片机为核心的嵌入式系统教学经验,同时也要与ARM技术的自身特点及国内实际的教育基础和产业发展的具体情况进行密切地结合。既要考虑大大提高目前我国嵌入式系统教学的水平,又不能脱离现在的教学实际;既要强调嵌入式基础教育,又要面向实际工程应用,提升嵌入式系统教学的实用性和工程性,将比较复杂的嵌入式系统各个模块的综合开发的例程、嵌入式操作系统移植等内容写入教材。
作者早期翻译了ARM bible级的《ARM SoC体系结构》一书,并长期从事基于ARM的相关教学、科研工作。近些年,作者多次应邀参加嵌入式教学体系建设的研讨会,并在国内10多个大中城市开设了师资培训班,同ARM公司、众多的基于ARM核的芯片厂商、相关课程的老师,以及对ARM感兴趣的读者建立了广泛的联系。通过与他们的交流,深感建立32位嵌入式教学体系,科学、规范地编写一套基于ARM的嵌入式系统开发与应用系列教材很有必要,这使我们萌发了编写该系列教材的念头并付诸于实践中,并于2004年6月开始陆续出版,为嵌入式系统的教学起到了一定的促进作用。
通过与教师们的交流,以及本人在本科生、研究生教学和科研工作中的实践,作者体会到,不同层次的高校及不同专业,对嵌入式教学的需求不一样,深度也不一样,有的偏向硬件接口及应用功能开发的学习,而有的注重操作系统的学习。就处理器选择而言,有的希望以ARM7开课,有的希望以ARM9开课,而有的希望以Intel公司的XSeale开课。对操作系统的学习,有的希望讲授WinCE或VxWorks,而有的希望以开源的uC/OS—II、uClinux或嵌入式Linux为主。这反映了嵌入式应用的多样性和复杂性,同时也给教材的编写增加了难度,通过一本理论教材或实验教材全面反映这些内容是不现实的。因此本系列教程配套了多本实验教程,以满足不同高校不同专业的需求。
本系列教程的组成
以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、Windows CE、Palm、uClinux、pSOS和uC/OS—II等。但真正广泛使用却是近年来的事情,一方面,嵌入式系统软件开发复杂度的增加要求嵌入式操作系统的支持;另一方面,大量高性能、面向实际应用、集成多种系统功能的SoC芯片成为高端嵌入式应用的硬件核心,为可靠、高效、低成本地运行嵌入式操作系统提供了硬件平台。大部分嵌入式操作系统价格昂贵,而源代码开放的uC/OC/OS—II、uClinux、Linux是大家比较看好的,也比较适用于教学。有关嵌入式操作系统的知识,一些出版社已经出版了多种相关专业书籍,请参阅相关资料。
嵌入式微处理器具有体积小、重量轻、成本低、可靠性高等优点,是嵌入式系统的核心。目前,比较有影响的32位嵌入式处理器有ARM公司的ARM系列、Compaq公司的Alpha、HP公司的PA—RISC、IBM公司的Power PC、MIPS公司的MIPS和Sun公司的Sparc。而ARM处理器具有高性能、低功耗、低成本等显著优点,已成为高性能、低功耗嵌入式处理器的代名词,是目前32位、64位嵌入式处理器中应用最为广泛的一个系列。
20世纪90年代初,半导体行业产业链形成设计业、制造业、封装测试业三业分离的产业分工。台积电、联电等半导体代工厂崛起,一些fabless、chipless公司如雨后春笋般出来,英国先进RISC机器公司(Advanced RISC Machines,简称ARM公司)就是fabless、chipless这一生产模式最为成功的典范。ARM公司既不生产芯片,也不销售芯片,而是设计出高效的IP内核,授权给各个半导体公司使用。半导体公司在ARM技术的基础上,根据自己公司的产品定位,添加自己的设计并推出芯片产品,最后由OEM客户采用这些芯片来构建基于ARM技术的最终应用系统产品。经过10多年的发展,ARM公司已成为业界领先的IP核供应商。
回顾ARM技术的发展历程,在ARM7体系结构(体系结构版本v3)刚被广泛接受和使用时,嵌入式微处理器的市场仍然大都由8位、16位处理器占领。然而,这些产品却不能满足当时移动电话、调制解调器等高端应用对处理98性能的要求。这些高端产品需要32位RISC处理器的性能和更优于16位CISC处理器的代码密度,这就要求要以更低的成本取得更好的性能和更优的代码密度。为了满足这种发展需求,ARM体系结构增加了T变种,开发了一种新的指令体系,即16位Thumb指令集。Thumb技术是ARM技术的一大特色。ARM发布的ARM7TDMI体系结构(体系结构版本v4T)的处理器,是第一款支持Thumb指令集的微处理器,其工作模式可以方便地切换到Thumb状态。在该状态下运行的指令集是16位Thumb指令集,这在当时的16位,系统与现在需要的32位系统之间搭起了一座桥梁。性能更优而不需要付出额外代价的ARM,对那些在当时使用8或16位处理器,却一直在寻找更优性能的用户来说,提供了解决方案,也极大地推动了ARM技术的发展。16位处理器一直没有像人们预期的那样发展起来的原因很复杂,由于32位ARM处理器提供了低于一般16位微处理器的价格而高于一般16位微处理器的性能,使得高端的嵌入式应用可以完全跨越16位而直接进入32位应用领域,这也许是原因之一。
ARM处理器得到了众多半导体厂家和整机厂商的大力支持,全球已有103家巨型IT公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括丁I、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现状和32位嵌入式系统教学体系的建设
发展嵌入式技术,人才是关键。培养和培训相关人才,一方面要在学生中加强嵌入式系统教学,这是人才的源头;另一方面,有一定实际项目开发经验的工程技术人员也需要加强嵌入式开发技术的学习。目前,大学生就业难,而许多单位又招聘不到合适的开发人员。国内教育与人才需求之间存在着不相适应的严重矛盾。虽然产生这一矛盾的原因很多,但就目前的工科教育而言,存在着重知识传授而轻能力与素质培养、重理论讲述而轻实践环节训练、重共性教育而轻个性发展、重对传统的继承而轻对现状的突破和创新等众多问题。反映在学生的相关课程教学体系设置中,就是可以提高自主开发能力的训练条件不具备;没有规范性的工程实际训练课程;已开设的相关课程教学内容陈旧,无法满足日新月异的新技术变革,而且广度有限,深度不够。反映在实践教学过程中,就是没有一流的、与实际工程应用密切结合的实验教学设施,以及相关实践性课程内容设计,使高校培养的人才创新意识薄弱,实践能力不强,与实际工程应用需求严重脱节。这些原因可能是当前工科人才培养不能满足实际工程需求的一个重要因素。因此,用人单位不得不承担繁重的工程应用再教育的任务,这严重地制约了我国相关技术的发展。..
就我国大部分高校目前的嵌入式教学而言,整体仍然是停留在20世纪80年代初发展起来的以8位51单片机为核心的单片机教学水平上。总结近20多年来我国以单片机为核心的嵌入式教学情况,虽然它极大地促进了中国IT技术的发展,但是由于受传统教学体系的影响,以及我国高等教育条件的限制,目前教学内容设置、教学方法、教学手段、教材编写体系与这门课程以实际应用为主的基本特征严重脱节。学生学完这门课程后,只能进行一般的、基于指令基础上的简单编程,而不能进行基本的应用系统设计。在此基础上要想完成具有较大规模的应用程序设计是有一定难度的,要独立进行一般的开发工作就更加困难。一般学生进入技术开发岗位,基本上要进行相当长一段时间的实际培训,才能基本进入开发流程。如果要独立承担项目,还需要更长一段时间。
以32位ARM为核心的嵌入式技术日益成为高性能嵌入式应用的基础,面向实际工程应用、以ARM为核心的嵌入式技术培训课程也越来越受到工程技术人员的欢迎,这正说明了在高校建立一个新的、基于ARM技术的嵌入式系统教学课程体系的必要性和迫切性,这可以从源头上解决嵌入式技术发展对人才的需求。
当然,与传统的以8位51单片机开发应用相比,ARM的性能和处理能力是遥遥领先的,
应用也日益广泛,但与之相应地,基于ARM的嵌入式系统软、硬件开发的复杂度和难度也急剧加大。要建立一个新的、以ARM技术为核心的嵌入式系统开发与应用的教学课程体系时,就需要总结以往以51单片机为核心的嵌入式系统教学经验,同时也要与ARM技术的自身特点及国内实际的教育基础和产业发展的具体情况进行密切地结合。既要考虑大大提高目前我国嵌入式系统教学的水平,又不能脱离现在的教学实际;既要强调嵌入式基础教育,又要面向实际工程应用,提升嵌入式系统教学的实用性和工程性,将比较复杂的嵌入式系统各个模块的综合开发的例程、嵌入式操作系统移植等内容写入教材。
作者早期翻译了ARM bible级的《ARM SoC体系结构》一书,并长期从事基于ARM的相关教学、科研工作。近些年,作者多次应邀参加嵌入式教学体系建设的研讨会,并在国内10多个大中城市开设了师资培训班,同ARM公司、众多的基于ARM核的芯片厂商、相关课程的老师,以及对ARM感兴趣的读者建立了广泛的联系。通过与他们的交流,深感建立32位嵌入式教学体系,科学、规范地编写一套基于ARM的嵌入式系统开发与应用系列教材很有必要,这使我们萌发了编写该系列教材的念头并付诸于实践中,并于2004年6月开始陆续出版,为嵌入式系统的教学起到了一定的促进作用。
通过与教师们的交流,以及本人在本科生、研究生教学和科研工作中的实践,作者体会到,不同层次的高校及不同专业,对嵌入式教学的需求不一样,深度也不一样,有的偏向硬件接口及应用功能开发的学习,而有的注重操作系统的学习。就处理器选择而言,有的希望以ARM7开课,有的希望以ARM9开课,而有的希望以Intel公司的XSeale开课。对操作系统的学习,有的希望讲授WinCE或VxWorks,而有的希望以开源的uC/OS—II、uClinux或嵌入式Linux为主。这反映了嵌入式应用的多样性和复杂性,同时也给教材的编写增加了难度,通过一本理论教材或实验教材全面反映这些内容是不现实的。因此本系列教程配套了多本实验教程,以满足不同高校不同专业的需求。
本系列教程的组成







点击看大图


加载中...


