ReWorks嵌入式实时操作系统和ReDe嵌入式软件开发环境

更新时间:2024-01-21 13:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ReWorks嵌入式实时操作系统和ReDe嵌入式软件开发环境 1 引言

嵌入式系统与软件是发展先进制造业和现代服务业,满足高端数字化应用对网络自适应、服务个性化、功能综合化以及功能复杂化等需求的重要技术保障。

随着嵌入式微处理器、通信总线、存储器和嵌入式计算机系统结构的技术发展,嵌入式硬件的价格不断降低,计算能力、通信能力和存储能力不断提高,这为嵌入式软件的发展提供了更大的空间。另一方面,嵌入式应用层面的信息化、智能化、网络化需求,促使传统的嵌入式软件向基于嵌入式实时操作系统的、更具功能扩展能力和价值创造能力的嵌入式软件发展。在轨道交通、船舶电子、信息家电等领域,嵌入式技术的应用已经成为提高产品竞争力的重要手段。

ReWorks是华东计算技术研究所自主研制的嵌入式实时操作系统,ReDe是为ReWorks提供的嵌入式软件开发环境,该产品已广泛应用于轨道交通、船舶电子、信息家电、工业控制和国防领域。本文从技术角度对ReWorks/ReDe的结构、功能和特点作简要介绍。

2 ReWorks嵌入式实时操作系统

嵌入式实时操作系统位于嵌入式硬件和嵌入式应用软件之间,为上层应用提供基础服务,是信息家电、信息终端等嵌入式应用产品的核心和灵魂,应用系统的功能实现、实时性能、安全可靠在很大程度上依赖于操作系统的支持。

ReWorks/ReDe采取宿主/目标机的体系结构,如图1所示:

宿主开发环境 ReDe 3 目标监控 核心配臵 代码下载 交叉编译 远程调试 系统仿真 固化工具 编辑器 源代码 图形 开发工 程 ReWorks库 工具 管 理工 C/C++库 具 第三方软件 工具集成 目标代码 Windows/Linux 串口 网络 JTAG BDM 目标运行环境 ReWorks 3.0 目标代理 运行代码 x86/ARM/PPC 共享内存网络 CPCI 目标运行环境 DSP应用 DSP 图1 ReWorks/ReDe的宿主/目标机体系结构

(1)系统结构

ReWorks采用微内核及组件技术,能根据应用需要对操作系统内核进行配臵、裁剪、扩展与定制,具备较强的伸缩能力。其中,微内核提供强实时调度、基本内存管理、时钟管理、中断管理等功能,核心组件提供定时器、区域、分区、信号、事件、信号量、消息等可裁剪功能。这种微内核、层次化组件结构决定了其固有的模块化特性,为提高系统的升级维护能力、目标处理环境适应能力以及系统的扩展能力等提供了基础保障。

(2)ReWorks的强实时性

ReWorks提供实时多任务管理机制,支持基于优先级的可抢占调

度、时间片轮转调度以及速率单调算法等任务调度策略和技术。

对于可抢占调度,高优先级的任务可随时打断低优先级任务的运行,抢占点不仅包括应用程序,也包括大部分内核程序,见图2。同时针对关键任务,允许任务的排他性运行,一旦其进入运行状态,其它优先级更高的任务也不能抢占调度,直至该任务被阻塞或运行完成。这种调度模式可以最大限度地保证关键任务的截止时间得到满足。

高优先级任务 内核服务 内核服务 图2 内核可抢占的优先级调度

对实时系统中周期性任务,ReWorks实现了单调速率调度算法,它具备周期性任务的可调度性分析能力,保证系统即使在短暂的超载情况下,不会超过各实时任务的截止时间,确保系统行为的可预见性。

中断响应时间是系统实时性的关键指标。ReWorks采用了核心可抢占设计,并提供中断处理和任务的关联机制,使主体的中断处理任务可运行于用户空间,提高了系统的可靠性,同时减少中断嵌套层次以及系统的临界区,缩短中断延迟时间。

(3)ReWorks的标准化接口

开放标准是实现软件复用和互操作的一种重要方法。ReWorks提

低优先级任务 低优先级任务 时间

供符合POSIX实时扩展标准的编程接口,从而大大提高了源代码级的软件可移植性。为ReWorks操作系统编写的程序,可以在任何其它的POSIX操作系统上编译执行,反之亦然。

应用程序 POSIX API ReWorks POSIX API 其他POSIX操作系统 图3 ReWorks的源代码级软件可移植性

另一方面,ReWorks通过对市场上应用较多的美国风河公司VxWorks操作系统调用接口及相关宏定义的封装,在应用层上实现了VxWorks源代码级兼容。同时参照VxWorks驱动框架,实现了VxWorks驱动的二进制兼容。

(4)ReWorks的可靠性

ReWorks采取存储域管理技术来提高系统的可靠性。

ReWorks存储域管理建立在硬件MMU基础之上,通过分页技术实现内存的保护映射。同时,通过对MMU的抽象,使接口实现与具体的硬件特性无关,保证ReWorks能够顺利移植到其他硬件平台,包括对不具备MMU能力的硬件平台的支持。

此外,为保障实时性,ReWorks存储域管理采用了存储域物理空间预分配技术,避免缺页中断,并且页表以写保护模式存储在核心域中,从而在页表得到安全保障的情况下,减小了存储域切换延迟。

基于存储域保护,ReWorks通过在栈边界设臵隔离墙,实现了任

务栈的溢出监测,当栈溢出时将该任务隔离,保证域内其他任务的正常运行。

3 ReDe嵌入式软件开发环境

嵌入式系统体积较小、资源有限,因此需要在通用的宿主平台上建立一个嵌入式软件开发环境,旨在为嵌入式软件的开发提供从设计、编程、调试、仿真运行到测试的全过程支持,保证应用系统的开发效率和软件质量。在开发完成后,目标代码被加载到嵌入式目标环境上进一步调试。最后,才固化到硬件中完成嵌入式产品。由于这样的交叉开发模式,大多数嵌入式操作系统都配有宿主机端的开发环境。

ReDe是为ReWorks提供的嵌入式软件开发环境,其基本功能包括系统配臵、源程序编辑、交叉编译、连接、远程调试、系统仿真、目标代码下载和固化等。

随着嵌入式开发人员对第三方工具的利用越来越普遍,要求嵌入式软件开发环境具有良好的可扩展性。ReDe3以Eclipse开放平台架构为基础,结合嵌入式软件开发的特点,实现了Eclipse的定制改造和工具链扩展,支持与其他商用CASE工具无缝集成,具有开放性、跨平台、一体化等特点。ReDe3的体系结构如图4所示:

领域应用定制与支持船舶电子信息家电工业控制分析与评估工具目标机代理ShellReWorksforReSimReWorksforX86ReWorksforARMReWorksforPPCReWorksforMIPS测试仿真器运行监控嵌入式软件装配与集成部署环境软件开发与运行支持目标机管理团队开发图形开发实时建模通讯管理动态加卸载固化与引导目标机文件管理目标机服务器远程管理协议系统配置与裁剪BSP开发驱动开发软件开发基础设施工程管理编辑器支持库编译器Build管理调试器ReDe运行框架(Build on Eclipse and CDT Framework)Other OSforOther CPU

图4 ReDe3体系结构

(1)基于模型的软件设计

由于嵌入式软件规模和复杂度不断提高,嵌入式软件的开发已进入自动化、模型化阶段。ReDe3集成了第三方CASE工具Rhapsody,可使用UML语言建立软件模型,自动生成C/C++等语言的源代码,提供完整的系统流程图、标准化的软件说明文档,并对系统功能进行模拟仿真。

Rhapsody是一个基于UML支持实时嵌入式系统全过程面向对象开发的CASE工具,它借助内臵的OXF框架实现从系统的分析、模型

设计、代码自动生成到测试用例生成的开发过程自动化。OXF框架是面向对象和跨嵌入式操作系统平台的,ReDe3提供了基于ReWorks操作系统的OXF接口实现,使得ReDe3可以方便地将通过Rhapsody设计的模型转换成ReWorks的应用程序代码,进而为用户设计ReWorks应用提供了实时设计建模手段,并切实提高开发效率和可维护性。

(2)系统配臵

ReDe3针对ReWorks高度可裁剪和可配臵的特性,采用XML对可配臵组件进行可视化描述,支持裁剪配臵关联感知,实现系统配臵与资源管理。用户可根据应用需求对操作系统核心及其组件进行细粒度配臵,使系统达到最优化,适应从深嵌入系统到复杂的高端实时系统的环境特点。

(3)系统仿真

为实现嵌入式系统软硬件并行设计开发,提高开发效率,ReDe3提供了指令级仿真器ReSim,支持目标机的指令、外部设备接口的仿真,确保在宿主机上开发的嵌入式软件能够适应目标机硬件环境。ReSim使开发人员在目标硬件可供使用之前,就能进行应用程序的开发、调试和测试,减轻嵌入式应用软件开发对目标硬件平台的依赖性,从而缩短产品开发周期,降低产品开发成本。

(4)图形应用开发

随着嵌入式技术的发展和应用领域的拓展,可视化的图形界面已成为改善用户使用体验、提高产品易用性的重要手段,ReWorks实现的轻量级、高性能图形系统对数字电视电子节目指南、嵌入式浏览器、嵌入式地理信息系统等复杂图形应用提供了良好的支持。ReDe3/ReUI为应用开发提供了“所见即所得”的快速图形开发工具及定制性强、稳定可靠的图形库。

ReUI提供丰富的中文化图形控件和绘图函数,支持可扩展的窗口管理及对话框、按钮、文本编辑框、滚动条等控件,支持高效的点、线、区域、图形、图像等处理。针对领域应用,ReUI提供复用性强的实用控件,如数字仪表、图表分析、轨迹标绘、导航指示等。

ReUI采用基于FrameBuffer技术的高效图形处理引擎,支持高分辨率图形显示(32位真彩色)。同时,ReUI以共享库方式提供窗口对象控件,具有良好的可裁剪性以及可扩充性,用户可以根据应用需求选择窗口部件或者绘图函数,也可以根据需要自行扩充控件。

在中文处理方面,ReUI提供轻型汉字GUI控件,支持GB2312/Unicode编码显示处理,支持多种点阵、矢量字库。同时,ReUI提供标准的中英文输入模块接口,可挂接拼音、五笔、手写识别等多种中英文输入法。

在开发过程中,ReUI支持GUI控件拖拉操作,并保证GUI元素在开发时与运行时显示风格完全一致,达到了“所见即所得”的效果。同时,ReUI具有良好的兼容性,通过ReUI生成的代码能够方便地移植到不同的目标系统上。

4 结束语

ReWorks操作系统实现了完善的操作系统功能,提供工业标准的POSIX实时扩展接口和市场广泛使用的VxWorks兼容接口。同时,ReWorks完全自主开发,拥有自主核心技术,可以针对应用的特殊需要进行定制和扩展。因此,采用ReWorks操作系统,可以提高相关产业产品的研发效率,增加产品的功能密度,提高应用层面的自主创新能力。

本文来源:https://www.bwwdw.com/article/du8o.html

Top