关键词:嵌入式软件工业,嵌入式系统,实时多任务操作系统(RTOS)
以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这种分类沿袭了约40年。近10年来随着计算机技术的迅速发展,实际情况产生了根本性的变化,例如70年代末定义的微计算机演变出来的个人计算机(PC),如今已经占据了全球计算机工业的90%市场,其处理速度也超过了当年大、中型计算机的定义。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将其分为嵌入式计算机和通用计算机。
通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出现并应用在社会的各个方面,其典型产品为PC;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。
2 嵌入式系统(Embedded Systems)
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。1998年11月在美国加州圣*何塞举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。
美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑)工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。
3 嵌入式系统工业的特点和要求
(Embedded System Industry, ESI)
3.1 嵌入式系统工业是不可垄断的高度分散的工业
从某种意义上来说,通用计算机行业的技术是垄断的。占整个计算机行业90%的PC产业,80%采用Intel的8x86体系结构,芯片基本上出自Intel,AMD,Cyrix等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面,Microsoft的Windows及Word占80-90%,凭借操作系统还可以搭配其它应用程序。因此当代的通用计算机工业的基础被认为是由Wintel(Microsoft和Intel 90年代初建立的联盟)垄断的工业。
嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没有哪一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部市场。因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不断向前发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌入式工业发展的强大动力。
嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。
3.2 嵌入式系统具有的产品特征
嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发展,则会失去市场。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之间竞争的热点。
和通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用对处理器的选择面前更具有竞争力。嵌入式处理器要针对用户的具体需求,对芯片配置进行裁剪和添加才能达到理想的性能;但同时还受用户订货量的制约。因此不同的处理器面向的用户是不一样的,可能是一般用户,行业用户或单一用户。
嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式系统中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可以随意更换,所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长。另外,各个行业的应用系统和产品,和通用计算机软件不同,很少发生突然性的跳跃,嵌入式系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。
嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8-10年的时间。一个体系结构及其相关的片上外设、开发工具、库函数、嵌入式应用产品是一套复杂的知识系统,用户和半导体厂商都不会轻易地放弃一种处理器。
3.3 嵌入式系统软件的特征
嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同。
(1) 软件要求固态化存储
为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
(2) 软件代码高质量、高可靠性
尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。
(3) 系统软件(OS)的高实时性是基本要求
在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。
(4) 多任务操作系统是知识集成的平台和走向工业标准化道路的基础
3.4 嵌入式系统开发需要开发工具和环境
通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环境即可进行对自身的开发。而嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。
3.5 嵌入式系统软件需要RTOS开发平台
通用计算机具有完善的操作系统和应用程序接口(API),是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在OS平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
3.6 嵌入式系统开发人员以应用专家为主
通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式系统则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识,其开发人员往往是各个应用领域的专家。因此开发工具的易学、易用、可靠、高效是基本要求。
结 语
中国的单片机应用和嵌入式系统开发走过了15年的历程,有超过10万名从事单片机开发应用的工程师,但95%以上是3~5个人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。今天面对的是嵌入式系统工业化的潮流,如果我们不能认清嵌入式软件必须以工业化的方式生产开发,不理解在短时间内装配集成“数百人年”嵌入式产品软件库固化于芯片之中的方法,那么我们将失去更多“上游”产品的市场机遇;反之在我国大力推动和建设“嵌入式软件工厂”,使我国的嵌入式软件库(零件)产品化并溶入国际市场,对加速知识创新和建立面向21世纪的知识经济具有战略意义。我们在此希望通过http://www.mcu-world.com中文网址与各位长期探索交流。
[Abstract] The article gives the new definition of embedded computer on basis of computer’s classification according to the application’s fields. It sums up the features of the embedded system industry, generalizes the development and situation of embedded processors. Real Time Operation System (RTOS) has became the hot topic in the field of embedded system. And RTOS and its relationship with embedded development are also discussed in this article. It submits the puzzles and challenges faced by microcontroller application industry of China and how to establish the concepts of embedded application industrialization.
[Key Words] Embedded Software Industry, Embedded System, RTOS