第一章 绪论—嵌入式操作系统

嵌入式操作系统产生于20世纪80年代,当时国际上一些IT公司开始进行商用嵌入式操作系统和专用操作系统的设计与开发。到目前为止,已出现很多嵌入式操作系统,在嵌入式产品开发中发挥着重要作用。

一、嵌入式实时操作系统

嵌入式实时操作系统指在限定的时间内对输入进行快速处理并作出响应的嵌入式操作系统。实时操作系统具有实时性,必须有相应的硬件支持才能达到实时控制的目的。在嵌入式操作系统中,首先要保证实时性,需要调度一切可利用的硬件和软件资源来完成实时控制,其次要考虑提高计算机系统使用的效率,满足控制任务对时间的限制和要求。

实时操作系统在嵌入式领域应用广泛。嵌入式设备具有多样性,对于完成不同的任务,所构建的嵌入式平台一般都不同。RTOS必须具有很大的可裁剪性,以适应不同嵌入式硬件平台的需求。RTOS的研究与应用是国际上发展的热点,国内外很多高校、组织和公司都组建了相关的研发团队。

嵌入式实时操作系统大体可分为商用型和免费型两种。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价格一般较高。典型的商用型嵌入式操作系统有VxWorks,Windows CE等等。VxWorks被广泛地应用在通信、军事、航空、航天等高精尖技术领域中,例如1997年4月在火星探测器上也用到VxWorks。商用嵌入式实时系统一般都是公司针对自己的特定硬件平台而定制的。免费型的实时操作系统在价格方面具有优势,主要是嵌入式Linux和uCOS-II,目前国内外院校、组织大多数的研究一般都基于这两个操作系统。

1、嵌入式Linux

嵌入式Linux操作系统是针对嵌入式微控制器的特点而量身定做的一种Linux操作系统,包括嵌入式通信协议和常用驱动,支持多种文件系统。使用嵌入式Linux进行产品开发有如下好处:

1)Linux源码开放,每一个技术细节都是透明的,易于裁剪定制。全世界拥有众多Linux爱好者,在开发中遇到问题时,可通过网络向广大的Linux爱好者求助,有助于问题的快速解决。

2)嵌入式Linux已经在多种嵌入式处理器芯片移植成功,有大量且不断增加的开发工具,这些工具为嵌入式系统的开发提供了良好的开发环境。

3)Linux内核小、功能强大、运行稳定、效率高。许多Linux爱好者不断努力与改进,Linux系统的功能已经非常完善,现在Linux不仅支持网络协议,多种文件系统,而且支持很多应用软件。

目前Linux已支持多核技术,Linux是优秀的嵌入式系统开发软件平台,主要有RT_Linux,uCLinux和嵌入式Linux,在嵌入式开发中应用广泛。

2、嵌入式实时操作内核uCOS-II

uCOS源码公开且实时嵌入式系统,uCOS-II是uCOS的升级版本。主要特点如下:

1)源代码公开

源代码全部公开,可从有关书籍及网络上找到详细源代码讲解和注释。这样系统变得透明,容易把操作系统移植到各个不同的硬件平台上。

2)可移植性

uCOS-II绝大部分源码用ANSIC C写的,可移植性较强。而与微处理器(MPU)硬件相关的部分用汇编语言描述的,已经压到最低限度,使得uCOS-II便于移植到其它微处理器上。uCOS-II可以在绝大多数8位、16位、32位,甚至64位微处理器、微控制器、数字信号处理器(DSP)上运行。

3)可固化

uCOS-II是为嵌入式应用而设计的,只要开发者有固化手段(C编译、连接、下载和固化),UCOS-II可以嵌入到所开发的产品中。

4)可裁剪

实际应用中,可以只使用uCOS-II中应用程序需要的那些系统服务,就是说有的产品可以只使用很少几个uCOS-II调用,这样可以减少产品中的uCOS-II所需的存储器空间(RAM和ROM)。这种可裁剪性是靠条件编译实现。

5)占先式

uCOS-II完全是占先式的实时内核,这意味着uCOS-II总是运行就绪条件下优先级最高的任务。

6)多任务

uCOS-II可以管理64个任务,目前系统保留8个,应用程序最多有56个任务,赋予每个任务的优先级必须不同。

7)可确定性

全部的uCOS-II的函数调用与服务执行时间可知。

8)系统服务

uCOS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定内存的申请与释放、时间相关函数等。

uCOS-II自1992年以来已有很多成功的商业应用。2000年7月,uCOS-II在一个航空项目中得到美国联邦航空管理局对商用飞机、符合RTCA DO-178标准的认证。这一结论表明,该操作系统的质量得到认证,在任何应用中可以使用。

uCOS-II是一个实时操作系统内核,只包含任务管理、任务调度、时间管理、内存管理和任务之间的通信与同步等基本功能。没提供文件系统、网络驱动及管理、图形界面等模块。但由于uCOS-II的可移植性和开源性,用户可根据功能需求添加所需的各种服务(这些服务需要自己去定义)。

二、实时操作系统的典型应用

机器人的控制技术代表着信息技术、控制技术的前沿,关注一下嵌入式技术在机器人控制领域的应用情况。

机器人技术的发展,由于其应用的复杂性日益提高,对核心硬件的要求越来越高,速度更快,端口更多,有的甚至采用多核处理器和数字信号处理器(DSP)进行分布式运算,而操作系统方面,除支持底层硬件平台的复杂性外,实时性、可靠性和开放性,都成了机器人领域操作系统的必备特性。只有好的软硬件平台,才能使整个机器人系统有一个好的载体,机器人的整体性能才会提高。近年来,RTOS在机器中的应用已非常广泛,如图1-1所示,图1-1(a)自动运输车采用uCOS-II作为实时内核,图1-1(b)的火星探测器rocky-7使用VxWorks操作系统。

随着微控制器性能的不断提高,嵌入式系统的研究和应用发展,RTOS将会在机器人上有着越来越广泛的应用。如SONY公司的AIBO系列机器人,就是用一个RTOS运行在32位的处理器硬件平台上。机器人系统既是一个典型的智能机器人系统,又为多智能体、多机器人、人工生命等理论提供了生动的研究模型。而机器人本身又是嵌入式系统、机电一体化、无线数字通信等技术的高度集成。机器人小车在有限的空间内融合了移动机器人技术、控制技术、无线通信技术、数字电机控制以及智能协调控制等技术。因此,嵌入式技术的发展必将推动机器人技术的进步。

如果在硬件平台上移植成功了实时操作系统,则后续的软件开发是在嵌入式实时操作系统环境下进行,这使得实时应用程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通常是将所要完成的控制功能划分若干个相对独立的任务,然后再分别对各个任务进行应用程序设计,这就简化了编程过程。

图1-2是对某机器人控制划分成9个任务,在嵌入式实时操作系统下,程序设计写成9个任务或进程,进行相对独立的模块设计。在整个控制功能中,如果某个任务需要其它任务创造条件才能执行,这时可以使用信号量机制。引入嵌入式操作系统后,大大地简化了软件开发的复杂度。

                                                                        图1-2 任务划分过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值