RTOS标准缩短嵌入式系统开发时间
操作系统(os)技术规范差别之大及实用微控制器品种之繁多,使rtos(实时操作系统)的标准化成了一个大问题。另外,低档微控制器硬件资源的欠缺,也使软件开发成为难题。设在东京的industrial tron(the rtos nucleus,实时操作系统中心)或叫itron(工业实时操作系统中心),组织制订嵌入式系统rtos的标准。该组织于1987年发布了第一个 itron规范,即itron1。其后,又着手开发针对8位和16位μc、有较小的功能集的μitron规范和用于32位处理器的itron2规范,并于 1989年发布了μitron和itron2两个技术规范。
μitron规范是itron规范高度深缩后的一种版本。设计师们不仅在8位μc上而且也在16位和32位μc上实现了μitron规范os。itron 的创始人是想把嵌入式系统的rtos规范标准化,他们不得不在优化硬件系统和提高软件效率之间权衡。
简单地说,用μc构置的系统,由于硬件资源有限,只有在能从可利用的硬件中获得最大收益时,才会使用rtos。同时,使用rtos也只是提高了软件的效率。但是,如果想在rtos提供的更高的抽象服务层上工作,你会发现内务操作的运行时间是硬件功能的大障碍。
当然,探讨嵌入式系统中如何在硬件优化与软件效率之间折衷考虑,是一个至关重要的课题。例如,在一个8位的微控制器系统里,一些高级功能,例如存储器库管理功能,几乎都用不上,但却要增加系统软件的开销,并使系统功能降低。在一个以32位微控制器为基础的系统里,这些高级功能通过rtos就会提高软件效率。
itron在设计其os规范时,就考虑到要最大限度地发挥微控制器内所含硬件的功能。尤其突出的是,itron规范对应该通过微控制器硬件层次结构标准化的那些特征标志,和应该根据硬件及其功能性质优化判定的那些成份,都做了明确的区分。
此外,μitron规范也提到,嵌入式系统对目标代码的兼容性并没有多大需要。另一方面,从学习的角度看,当命名系统调用或其功能时,兼容性却是必不可少的。与其他的rtos不同,itron对各种特征标志都进行了标准化,如任务调度规则、系统调用名称和功能、参数名称(它们的阶级及意义),以及代码(名称及意义)。影响实时功能的问题,如中处理和参数的长度,并未标准化。
根据itron规范,把由内核程序提供的那些功能尽可能地相互独立,使每个应用程序只选择它需要的那些功能。针对这个目标,大多数μitron规范的内核都是以程序库格式提供的。你先选择内核功能,运行时再把它们链接到应用程序上。这样,系统就只纳入那些需要的功能。此外,每次系统调用只提供一个单一的功能,以便于只纳入那些需要的功能。
μitron规范包括许多特性,其中包括处理器的层次结构不是虚拟的。虽然itron规范的os运行在不同的处理器上,但是标准并没有把不需要的运行条件虚拟化,因此,可以使处理功能更高。
μitron规范也规定了高速响应问题。影响实时应用中响应时间的那些因素,一般都与作业转换功能和中断处理例行程序有关。itron规范规定,在规定的高速作业转换时间上,可以将寄存器换出。也可以在发生外部中断时,旁路rtos以启动运行一个中断处理程序。
据nec公司v800系列工具高级技术应用工程师david easler所说,μitron处理内核程序调用的方式有利于加快响应时间。他还认为,μitron与其他rtos之间的基本差别在于,其他rtos用软件中断来自内核程序库的调用功能;μitron则是规定使用标准的c-格式调用。
把层次结构与执行过程分开,μitron所提供的方法就优于其他的rtos;如果用户要改变既定层以下的执行过程,你可以继续使用既定层以上的规范而不用改动。同样,μirton也把自己限定为层次结构式的规范。作为开发者,你有充分的自由去运行你选定的应用程序。这样,μitron标准就为公平的技术竞争提供了一个层次施展的空间。
为了使itron规范易于学习和消化,开发者作了大量艰苦的努力。例如,itron委员会系统地定义了itron规范的系统调用名称和功能,使它们便于记忆。所有的itron系统调用都是七个或八个字符长,形式分别为xxx-yyy和zxxx-yyy。xxx部分代表运算方法,yyy则代表运算目标(图 1)。在八个字符的系统调用指令中,z代表从无z的七个字符系统调用指令中导出的系统调用指令。表1示出某些缩写及其代表的全称。
easler说,学习μitron和学习c语言一样并不复杂,因为开发者用不着变换处理器,或学习其他rtos厂家调用各种信箱序列,或其他rtos如何处理缓冲器。
根据itron技术规范,"任务(task)"这个术语是指并行处理的一个单元。在单一任务内的诸多程序是按顺序执行的;多任务的诸多程序则是并行执行的。itron规范采用优先权调度方式。每项任务都被指定一个优先级;优先数值越小,优先级别越高。itron规范采用一个叫做任务身份证(id)的号码指定作业。任务控制块(tcb)含有用以管理作业的信息。itron os规范通过系统调用指令按tcb的数值来处理设定和修改。
μitron,各种资源是执行一项任务所需要的不同要素。所谓资源包括硬件(如处理器、存储器和i/o器件)和软件(如各种文档和程序)。itron规范提供专门用于指定资源的同步和通信功能。
根据μitron规范包括五种作业状态:运行、准备、等待、静止和非存在(虚拟)状态。为了便于程序的开发,itron规范对任务用以控制其本身的系统调用指令与作业用以控制其他任务的系统调用指令,作了明确的区分。这种方法阐明了作业状态的过渡,并使系统调用简明易懂。
根据itron规范,一个目标就是系统调用指令要加以处理,也是你用id号作出识别的任何项目,例如一项任务。除各种任务外,目标还包括同步和通信机制,如存储器库、事件标记和信箱。os对每种目标提供目标管理表(例如,对各种任务提供tcb)。
μitron 3.0规范把系统调用分为三级:r级(level r),即要求级;s级(level s),即标准级和e级(level e),即扩展级。除这三个级别外,还有c级(level c),用于处理与cpu相关的系统调用。r级涉及的是实施μitron 3.0规范所需要的各种功能。s级覆盖实现实时、多任务os的各项基本功能。e级包括各种附加的和扩展的功能。这个级包括目标生成和删除功能、各种聚集功能、存储器库和定时器处理程序。与cpu相关的c级在cpu的基础上,提供要关硬件的各种功能。
μitron规范的内核在低档微控制器中,尤其能够发挥作用。这些器件以前受存储器和执行速度的限制,不能使用rtos。μitron处理进程提供了相当大的优势,而且在8位和16位微控制器中,正日益变成首屈一指的标准内核规范。
对μitron的支持也来美国的厂家。例如,cygnus公司除了本机内核应用编程接口(api)外,还提供该公司带μitron 3.0兼容api的嵌入式cygnus os(ecos)。有了μitron兼容的api,ecos就能植入并反复使用μitron应用程序。请注意,ecos是一个开放式的源os,而且 cygnus公司还将提供ecos的源代码、gnu编译程序及排障调试程序(www.sourceware.cygnus.com)。工业界的许多专家认为,cygnus公司的这一举措会造成μitron标准的迅速扩展。
nec公司提供与μitron兼容的rx850 rtos,与该公司的nec v850/e系列微处理器一块儿工作。rx850rtos工具组包括一个rtos任务识别调试程序,可显示状态的过渡。用rx850 rtos工具组,通过验证事件状态的过渡和观察中断事件定时及功能线索持续时间,对系统的功能进行分析并画出轮廓曲线。利用rd850任务调试程序,还可以观察各种os资源,如各种任务和信号量,以及系统缓冲器和队列。当你将其用于运行在25mhz的nec v851微处理器上时,rtos内核的二进制代码占用3k~8k字节。其作业转换时间最快为1-3μs,最慢为5μs。rx850是许可证经营的 rtos,所以你要装多少器件,就付多少相应的费用。rx850的起价为800美元。
accelerated technology inc(ati)将其实时内核程序、nucleus plus,纳入μitron接口标准,使其用户能自由地将其传统的应用程序转给任务数号的cpu,还有免费提供专利源代码的好处。该公司计划将其内核程序植入日立公司sh系列的处理器。
许多迹象表明,μitron有潜力变成嵌入式rtos的世界标准。据cygnus solutions公司工程部主任paul beeskens说,itron应摆脱其仅瞄向日本的做法,更国际化一些,以便有机会真的成为世界标准。
beeskens还说,"应当提供可广泛选择的英文文件和技术信息"。μitron委员会必须扩展以纳入更广泛的国际支持者,例如,标准用英文开发,而且在开发时就应该能提供。
椐nec公司的easler说,美国的嵌入式市场对高功能、存储器覆盖区小的os,没有通用的标准。对较大覆盖区的os有一个标准,如posix需要大量使用存储器的许多相符数据和api。(μitron rtos适合16k字节的存储器)。同时,这个标准也定义了调用各种功能的方式,以及内核程序运行作业的方式。
easler说,"虽然这种标准化是宽松的,但μitron的定时是决定性的,而posix却并不严格"。椐grape systems公司销售工程师koji mugita说,通过平台可快速移植和使用方便,是μitron的最大优点。由于嵌入式软件行业非常分散,在全世界有50多个软件厂家,有一个像 μitron这样的标准,就会使嵌入式软件产品的开发者,稍加修改就可以把软件用于以后的应用中,而无须考虑他们使用的是什么样的微处理器。不过 beeskens又补充说,μitron还必须克服某些效率欠佳的缺憾。beeskens还说,"μitron 3.0标准结构完善、直接明了,而且简单。它欠缺的地方是可植入的中断和器件处理能力,这限制了μitron应用程序在实施和层次结构间的可移植应用。在 μitron 4.0标准中,必须对这些问题有一定程度的解决,但是由于目前还没有日文的英译本,他的评论也就到此打住。
作者:NS Manju Nath 更新日期:2004-11-02
来源:http://www.polybridge.com
浏览次数:
相关文章
相关评论 发表评论
- No Comments