基本信息
内容简介
作译者
田捷,中国科学院自动化研究所研究员,博士生导师,中国科学院研究生院教授,中国自动化学会理事兼中国自动化学会模式识别与机器智能专业委员会主任。田捷博士主要从事模式识别、图像处理、计算机网络与多媒体研究与应用工作,并在国内外学术杂志与学术会议上发表论文百余篇,出版专著5本。
王金刚,天津大学电子信息工程学院教授,多年从事教学及科研荼。研究方向为多媒体技术、嵌入式系统原理及应用。有多篇论文发表,另有多本嵌入式软件的译著、专著出版。
目录
1.1 嵌入式应用的历史
1.2 嵌入式系统
1.3 嵌入式处理器
1.3.1 嵌入式微处理器
1.3.2 嵌入式微控制器
1.3.3 嵌入式DSP处理器
1.3.4 嵌入式片上系统
1.4 嵌入式操作系统与开发技术
1.4.1 嵌入式实时多任务操作系统
1.4.2 实时多任务操作系统与分时多任务操作系统
1.4.3 实时操作系统中的重要概念
1.4.4 实时操作系统的工作特性
1.5 总结
第2章 嵌入式操作系统引论
2.1 实时嵌入式操作系统
2.1.1 VxWorks
2.1.2 pSOSystem
2.1.3 QNX
2.2 "软"实时嵌入式操作系统
前言
今天,嵌入式系统带来的工业年产值已超过10000亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称:“福特出售的‘计算能力’已经超过了IBM"。由此可以想象嵌入式计算机工业的规模和广度。1998年11月在美国加州举行的嵌入式系统大会上,基于实时操作系统(RTOS)的嵌入式互联网应用(Embedded Internet)成为了一个技术新热点。在国内,嵌入式应用同样已成为新的技术热点。
同时,嵌入式应用和互联网应用的结合,使嵌入式应用具备了新的技术特征:无线通信(WirelessCommunication)和交互计算(InteractiveComputing)。通用的计算工业、嵌入式的计算工业和互联网技术的迅猛发展,逐渐形成了"AnywhereComputing"的应用环境,极大地促进了整个盯产业的发展。
嵌入式领域的技术包括嵌入式处理器、嵌入式操作系统、嵌入式开发工具、仿真工具、调试工具以及围绕嵌入式系统开发方法和面向应用的工程理论等等。
据不完全统计,全世界嵌入式处理器的品种总量已经超过1000多种。目前国际上已有200多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是数不胜数。在国内,虽然嵌入式应用开发很广,但在嵌入式处理器、仿真器和调试仪器等领域却刚刚起步,并处于新技术的应用热点。例如,中芯微电子32位嵌入式芯片“方舟-1”研制成功;同时,北京大学的科研人员研制出了支持32位和16位两套指令系统的
微处理器,这些都标志着我国嵌入式微处理器的研制达到了20世纪90年代末的国际水平。此外,中国科学院计算研究所成功研制出“龙芯”芯片,对中国嵌入式芯片工业也产生了重大影响。在嵌入式操作系统方面,HOPEN等国产操作系统和国人在嵌入式Linux上的探索,都具有深远影响。但是我们应该看到国内外在嵌入式技术上还是存在着一定的差距;缩小这种差距是中国计算机专家和工程师们责无旁贷的责任,也是本书的成因之一。
本书主要讲述嵌入式操作系统、嵌入式软件开发工具、开发方法、软件仿真和调试方法。其中,参加本书编写的还有马建军(Vxworks和Linux部分)、张立群(Palm OS和WindowsGE部分)、姜平、毕晓东和王铮(嵌入式操作系统和应用部分)。本书主要由中国科学院自动化研究所的知名教授和诸多研究生的共同努力,并结合多年的研发经验完成本书的编写、校对和修改,从而使得本书得以顺利的出版。
在此,非常感谢中国科学院自动化研究所众多师生的努力和支持,以及天津大学信息学院师生的大力协助。同时,非常感谢国防工业出版社李宝东编辑在书稿编辑过程中的协助,其敬业精神给我们留下了深刻的印象。
由于时间仓促,本书错漏之处还望各位专家和读者指正。
序言
本书作者之一中国科学院复杂系统与智能科学重点实验室研究员田捷博士请我为《嵌入式软件开发技术》一书作序,其实我并不是本书的合适作序人。首先是因为自己一直没找到时间细读本书稿,其次是尽管自己在嵌入式系统方面教书和应用10多年,但的确没有做过深入的研究,对嵌入式的认识更是片面和肤浅。然而,对于嵌入式技术时代性的重要意义,我是非常认同的,也十分鼓励我们实验室的科研人员扎扎实实地做好这方面
的工作,不但在工程应用上有所创新,在方法研究和系统集成上也希望有所贡献。同时,我也希望借此机会谈一下自己对电子和信息系统机械化进程的点滴认识。虽然这看来与本书没有直接关系,其实是嵌入式系统发展的实质,至少到目前为止,我的观点如此。
本书对嵌入式系统的历史和发展进行了简洁的描述。嵌入式系统的核心就是将计算与应用合为一体。对于听烦了“随时都算,到处都算(Computing anytime,computing anywhere)”的现代人来说,“合为一体”听起来像是多余。要理解“嵌入”的真正含义,最好回忆或了解半个多世纪之前的机械计算、真空管计算机以及相应的“离线”和“异时”的计算方式。脱离这一历史背景,很难把握嵌入式系统的实际含义。这可能也是为什么人们经常问“到底什么是嵌入式系统”的原因之一。2001年,我承担了为美国亚利桑那州三所州立大学的工程硕士设立“实时嵌入式系统(Real-timeEmbeddedSystems,RTES)”网上课程的任务,曾为说明什么是
RTES费了一番精力,试着下过许多定义,但总不能使自己满意,最后折中为"Embedded sys-tems are systems that rely on a combination of internal hardware and software to perform dedicatedfunctions.A real-time embedded system is one in which the correctnes of computations not only de-pends on their logical correctness,but also on the time at which the result is produced"。
其实,就像百年前有人会问什么是“电器”一样,我相信嵌入式系统也很快会无处不在,什么是嵌入式也将成为一个不是问题的问题,今天的答案,也会成为嵌入式系统历史上不是答案的答案。据美国IDC的预测,嵌入式系统将以15%的年增长率发展,形成上万亿美元的产品市场,这从一个方面预示着“嵌入式时代”的到来。网络的广泛应用更是大大加速了这一进程。
本书的重点是介绍各类嵌入式操作系统及其使用,特别是VxWorks,Linux,PalmOS和Windows CE,以及pSOS,QNX,EPOC等等。操作系统成为嵌入式的核心,是一个时代的特征,也是嵌入式系统从简单的单片机、微处理器走向愈来愈复杂的嵌入式SOC和CPU的自然体现。
目前世界上已开发了几百种嵌入式操作系统,我相信这是走向面向应用特定操作系统(Application Specific Operating Systems,ASOS)的开始。ASOS的概念是硬件中ASIC(Applica-tion Specific Integrated Circuits)概念在软件中的对称或对偶,相信ASOS对于嵌入式软件系统的发展,也将起到像ASIC在处理器硬件发展中所起的作用。必须指出的是,当前的许多所谓“专用”操作系统,其实只是面向特定应用的操作系统(Specific Application OS),并不是ASOS。从面向特定应用到面向应用特定,也就是从实践到理论、零散到系统、艺术到工程的变化过程。Linux会在这一过程中起重要作用,但决不应是主要或核心的作用。
自20世纪90年代末,出于自己从事实际工程的切身感受和经历,我一直极力“鼓吹”ASOS的概念,可惜OS不是我的专业,效果不大。2001年我曾与浙江大学计算机系教授吴朝晖博士合作,写了一篇关于ASOS的文章(见"ASOS:嵌入式操作系统的发展趋势”,《计算机世界》2001年11期),一方面是希望引起更多的专业人士重视,另一方面是吸取了自己在"SOPC"k的“教训”。20世纪90年代初,我在亚利桑那大学讲授《嵌入式微系统设
计》课程(SIE 370),由FPGA想到SystemsonRogrammable Chip,建议学生进行这方面的实验设计,可惜自己没有花精力深入研究下去,当SOC成为热点之时,为时已晚。本书没有涉及有关FPGA之类的嵌入式系统内容,虽然合理,但我个人总觉得遗憾。
从ASOS到各类的嵌入式系统,我认为这反映了电子和信息系统已开始了“机械化”的进程。机械类“传统”学科从早期的应用“艺术”发展到成熟的工程“科学”,经历了差不多百年的演化。虽然现在还在而且将来也会继续发展,但相对于许多其他学科而言,其发展速度明显是滞后的,近10多年来,也正以机电一体化以及计算机信息化进行学科的改造。从事电子和信息学科研发的人员,尽管可以为自己最初的专业选择感到"Lucky”,但不能不考虑电子和信息其实也正朝着“机械化”方向发展:明天的电子、计算机和信息学科,可能不会再用百年的时间,就会“成熟”到今天的机械类学科。而且,这一发展已经历了半个多世纪,目前正处于加速发展阶段,还剩多少的“黄金”岁月,何时“没落”到“传统”的学科,是不能不面对的学科“生存”问题。
当然,从科技发展和社会进步的角度考虑,电子和信息的机械化进程是一件大好事。ASOS酌成熟和嵌入式系统的广泛应用,必然加速系统程序设计的模块框图化和开发环境的集成智能化的趋势,其最终结果将不可避免地导致编程工作从“智力”型转化成“劳力”型:明天的程序员或许就是今天的电工或钳工。
希望田捷等同仁的新著将对嵌入式系统的应用和机械化进程有所帮助,也希望中国科学院自动化研究所复杂系统与智能科学重点实验室对此有所贡献。实验室在嵌入式系统开发和应用,从教学平台系统、指纹和医学图像处理,到智能机器人和制造过程控制系统,目前都已经有了相当的基础。下面需要做的是“百尺竿头,更进一步”,尽快形成具有特色的关键性嵌入式系统集成技术。
王飞跃
中国科学院百人计划入选者
中国科学院复杂系统与智能科学重点实验室主任
美国亚利桑那大学教授