首页 理论教育 实战操作系统简介-物联网实验教程

实战操作系统简介-物联网实验教程

时间:2023-10-21 理论教育 版权反馈
【摘要】:可以说,开源系统已经成为了目前单片机操作系统的主流。这里介绍RTX51、μC/OS-II、eCos源代码公开的实时操作系统,希望给读者在选择时以参考。许多大学将μC/OS作为教材,用于实时系统的教学工作。

实战操作系统简介-物联网实验教程

与传统个人计算机不同,单片机系统在系统实时性、高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点,并且随着硬件功能与软件规模的不断发展,在裸机上直接使用C语言汇编语言开发越来越困难,因此单片机的操作系统应运而生。操作系统可以将应用与硬件隔离开来,让用户可以更多地关注应用的开发。

由于单片机需要管理的资源比较有限,因此其操作系统代码量也比较小,例如最小的µCOS内核只有2KB,并且由于相对Linux、WinCE等嵌入式操作系统而言,这些在单片机上运行的操作系统更强调实时性而非用户界面,因而被广泛称为实时操作系统(Real Time Operating System,RTOS)。

最早的RTOS是VRTX。第一个商业版本的VRTX1.0发表于1981年。在整个20世纪80年代,VRTX在全世界占领了大多数市场,有超过100万用户的产品,包括AT&T、Motorola、Siemens的通信手机产品,以及波音、麦道和空客的飞机控制装置。VRTX是一个真正意义上的RTOS。20世纪80年代,它还只能支持一些16位的微处理器,如68000、8086等,到90年代时,VRTX已经可以支持68000、x86、960、Sparc等16、32位的单片机和嵌入式微处理器,当时的产品除VRTX外,还有IPI公司的MTOS和80年代末ISI公司的PSOS,主要用于军事电信设备。

进入20世纪90年代,现代操作系统的设计思想,如微内核设计技术和模块化设计思想,开始渗入RTOS领域。老牌的RTOS厂家(如Ready System)也推出了新一代的VRTXsa实时内核,新一代的RTOS厂家Windriver推出了Vxwork。另外,在这个时期,各公司都力求摆脱完全依赖第三方工具的制约,而通过自己收购、授权或使用免费工具链等商业方式,组成一套完整的开发环境。例如,ISI公司的Prismt、著名的Tornado(Windriver)和Spectra(VRTX开发系统)等。这些操作系统均属于商品化产品,价格昂贵且由于源代码不公开导致了诸如对设备的支持、应用软件的移植等一系列的问题。从而,开放源码的RTOS凭借其在成本和技术上特有的优势异军突起,在RTOS领域占有越来越重要的地位。可以说,开源系统已经成为了目前单片机操作系统的主流。这里介绍RTX51、μC/OS-II、eCos源代码公开的实时操作系统,希望给读者在选择时以参考。

1.μC/OS-II

μC/OS-II的前身是μC/OS,最早出自于美国嵌入式系统专家JeanLabrosse在《嵌入式系统编程》杂志1992年5月和6月刊上刊登的文章连载,并把μC/OS的源代码发布在该杂志的BBS上。之后世界上数以千计的工程技术人员将μC/OS应用到了各个领域,如照相机业、发动机控制、网络接入设备、高速公路电话系统、ATM机和工业机器人等。许多大学将μC/OS作为教材,用于实时系统的教学工作。

μC/OS和μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的,总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其他的CPU上。用户只要有标准的ANSIC交叉编译器、汇编器、连接器等软件工具,就可以将μC/OS嵌入到开发的产品中。

从技术角度来说,μC/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能好等特点,最小内核可编译至2KB。μC/OS-II是一个抢占式的内核,即已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。因此它的实时性非常好。目前,μC/OS-II已经被移植到了几乎所有知名的CPU上,从使用角度来说,已经非常方便。(www.xing528.com)

2.eCos

eCos(embedded Configurable operating system),即嵌入式可配置操作系统,最初起源于美国的CygnusSolutions公司。Cygnus公司于1998年11月发布了第一个eCos版本eCos 1.1,当时只支持有限的几种处理器结构。1999年11月,RedHat公司收购了Cygnus公司。在此后的几年里,eCos成为单片机及嵌入式领域的关键产品,得到了迅速的发展,2003年5月正式发布了eCos2.0,获得了很大的成功。

虽然eCos是RedHat公司的产品,但是eCos并不是Linux的派生,eCos可以提供实时嵌入式应用所需的基本运行基件,而只占用几十KB或几百KB的内存空间。从eCos的名称可以看出,其最大的特点在于它是一个配置灵活的系统。eCos的核心部分是由不同的组件组成的,包括内核、C语言库和底层运行包等,每个组件都能提供大量的可配置选项。利用eCos提供的配置工具可以很方便地进行配置,通过不同的配置使得eCos能够满足不同的嵌入式应用需求。

3.RTX51

RTX51是美国Keil公司开发的一种小型的应用于MCS51系列单片机的实时多任务操作系统,它可以工作在所有8051单片机以及派生家族中。RTX51有两种模式:RTX51完全模式和最小模式。RTX51最小模式版是RTX51完全版的一个子集,可以很容易地运行在8051系统上而不需要外部RAM。RTX51完全模式有4个任务优先级,可以和中断函数并行处理,各个任务之间可进行信号和消息的传递。

RTX51有两类任务:快速任务和标准任务。相对于标准任务,快速任务有很快的响应速度。每个快速任务使用一个单独的寄存器组,并且有自己的堆栈区域。RTX51支持最大同时有三个快速任务,已经基本满足单片机的应用需求。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈