国产嵌入式实时操作系统Reworks全接触
作者:蒋祥刚
邮编:200233
地址:上海市桂林路418号 华东计算技术研究所操作系统部
Email:[email protected]
Homepage:http://www.ecios.net
1 Reworks介绍
ReWorks/ReDe是中国电子科技集团第32所(华东计算技术研究所)自主研制的嵌入式实时操作系统和集成开发环境(软件著作权登记:软著登字第011682号,软件产品登记测试:软测字第T20030431-DB01号,软件产品登记:沪DGX-2003-0283,上海市计算机软件评测重点实验室进行的软件技术测试:Y20040201-JB01)。
ReWorks/ReDe产品是一个实时嵌入式系统开发与运行平台,含:
? 兼容于VxWorks的嵌入式实时操作系统
? 集设计/开发/调试/仿真于一体的集成开发环境
? 实时中间件
该平台可以适用于多种目标硬件环境(x86、PowerPC),也可以适应不同的系统规模,其最小配置小于100K。
ReWorks的技术特点有:
? 自主研制,具有全面、持续的技术支持能力
ReWorks由32所基于“九五”、“十五”的技术成果自行研制,拥有全部的源代码,没有安全隐患。经过长期研发,32所已经形成了一支操作系统研究与产品开发的技术专家与骨干队伍,对实时嵌入式操作系统内核、集成开发环境、实时中间件、图形用户界面等的核心技术有全面的技术支持能力。
? 实时嵌入式操作系统
实时嵌入式操作系统采用先进的面向对象和微内核技术开发,具有强实时性、可裁剪性和可伸缩性,并特别提供了VxWorks兼容层。具体特点有:
? 微内核、可裁剪、可扩充:最小配置小于100K
? 强实时性:响应时间15微秒
? 与VxWorks兼容:应用源代码级、驱动目标级兼容
? 任务管理:支持优先级抢占和轮转调度算法
? 任务间通信:消息队列、事件、信号量和异步信号
? 支持区域和分区内存管理机制
? 文件系统:兼容MS-DOS文件系统
? 支持微秒级高精度时钟
? 支持速率单调管理机制
? 网络协议:TCP、UDP、IP、ICMP、ARP等
? 符合POSIX 1003.1B 实时扩展标准
? 支持用户扩展管理
? 集成开发环境
集成开发环境提供用户友好的界面,实现了从设计、开发、调试、仿真到下载、运行的完整功能。集成开发环境具有开放性,支持与第三方CASE工具Rhapsody的无缝集成。具体特点有:
? 开发平台:Windows NT/2000/XP
? 支持C/C++ 交叉编译
? 提供可视化系统配置工具、项目管理工具
? 支持源代码级远程调试,可在线显示任务、内存、寄存器、变量等信息
? 支持指令级目标仿真,可在宿主机上直接运行目标代码
? 集成第三方CASE工具,支持UML建模
? 实时嵌入式中间件
实时嵌入式中间件位于应用和操作系统之间,屏蔽了操作系统、网络协议等的不同。基于实时嵌入式中间件,可以针对不同的应用需求提供预先开发的应用支撑服务,供上层的应用开发使用。具体特点有:
? 符合实时和嵌入式CORBA规范
? 支持与通用系统的互连、互通和互操作
? 对用户屏蔽硬件、网络环境、嵌入式操作系统、编程语言的差异
? 支持软件组件的定位、自动发现、自动引导
? 提供实时监控服务接口
? 支持应用组件即插即用与系统重构,保障系统可靠性
? 图形用户界面
随着应用产品的不断发展,嵌入式系统对图形用户界面的要求越来越高,需要有快速、轻量级、高质量的图形用户界面系统。ReWorks实现了一种有特色的图形用户界面系统。具体特点有:
? 提供“所见即所得”的快速图形用户开发工具
? 图形控件可扩充
? 支持高分辨率图形显示(16位增强色)
? 支持多种中文输入法
? 支持中文点阵/矢量字体显示
? 支持基于FrameBuffer 的图形显示加速
? 编程接口符合Windows、X-Window规范
2 Reworks应用开发模式
ReWorks实时嵌入式操作系统提供与VxWorks兼容的接口,在应用层实现源代码级兼容,在驱动层实现目标代码级兼容,便于现有应用系统的移植和二次开发,并可充分利用原有的应用系统,减少用户改用ReWorks操作系统的工作量。原有应用系统移植流程如下图所示:
ReWorks实时嵌入式操作系统不但支持以直接编写代码方式来开发应用系统,还支持与第三方CASE工具的无缝对接。用户可以通过UML模型的建立、分析、仿真、验证来进行系统的顶层设计,确保模型与应用需求的一致,并利用自动生成的代码构建应用系统,提高系统的可靠性。应用开发流程如下图所示:
3 集成开发环境ReDe
☆基于XML的核心配置工具
ReWorks采用微内核技术,具有高度可裁剪性和可配置性。开发者能够根据自己的应用程序需要,而不是根据操作系统的需要,来分配稀少的内存资源,生成从需要几K内存的深嵌入系统到需要更多功能的复杂的高端实时系统。用户能根据应用的需要对系统进行配置或定制,对操作系统的核心及其组件进行配置,使系统达到最优化。例如,如果应用程序不需要某些功能模块,就可以将它移出ANSI C运行库;如果应用程序不需要某些特定的内核同步对象,这些对象也可以忽略。还有,TCP、UDP、套接口和标准Berkeley服务也可以根据需要将之移出或移入网络协议栈。
ReDe采用XML对系统可配置组件进行描述,包括文件系统、任务通信、接口规范(ReWorks、POSIX、VxWorks)、外围设备组件、网络组件、图形组件、开发工具配置项、中间件、第三方软件工具等。
☆工程管理工具
工程管理工具包括文件管理、资源管理、类分析器。其中文件管理采用树状结构,支持c、cpp、idl、java、asm等多种源文件,支持obj、a等多种目标文件。和核心配置工具相结合能够自动生成与设定的工程配置相对应的makefile。这使得开发小组能把精力集中在应用系统的设计上,摆脱了烦琐的源代码控制工作。同时,单独的组件可以各自独立开发,然后由小组的其他成员共享和重用。
资源管理提供图形开发模板,包括单窗口、多窗口、图标等资源,方便用户开发图形应用。
类分析器对工程内包含的全部程序代码进行分析,产生C/C++类成员的列表,用户可通过该列表在源代码中迅速定位类成员的声明、实现。
☆编辑工具
语法敏感的编辑器,支持c、cpp、idl、java、asm等多种源文件,能用不同的颜色和字体标注出不同的语法结构,能即时显示函数模板,实现代码的智能化自动完成,并提供在线帮助。
编辑器中包含了一组辅助工具,如编程助手和书签。专门设计的编程助手能够自动产生C语言结构,从而减少了程序员的编辑工作;当程序量比较大时,还可以在源程序的行上设置书签,以方便查找和定位。
编辑工具还支持错误的自动定位。当编译报错时,在编译器输出的错误信息双击,编辑器能将光标自动定位到源代码错误位置。
☆编译工具
对流行的GNU编译环境进行改造和集成,支持船舶电子、信息家电等应用领域目标板的交叉编译,如XScale、Arm 、PowerPC等。编译环境包括汇编、C、C++、Java交叉编译器,链接器, 库管理器, 目标文件格式转换工具等等其他实用工具。
☆调试工具
中文的图形界面,支持多种源代码(C/C++/汇编/混合),支持源码或汇编程序一级的单步、多步执行,设置断点,查看和修改局部和全局变量、寄存器、内存,任务,查看栈层次关系。支持串口、网络、JTAG、BDM等调试接口。支持远程调试、仿真调试、任务级和系统级调试。
☆目标系统仿真器
允许开发者可以在没有BSP(板级支持包:Board Support Package)、目标机硬件的情况下,使用目标系统仿真器迅速开始开发工作。通过在宿主机上实现目标机的虚拟运行环境,支持指令级仿真,实现包括汉字、各种分辨率下的图形仿真,支持硬盘映像以及软盘映像,支持键盘、鼠标、时钟、网络仿真,支持仿真调试。应用开发完后,可直接移植到目标平台上。
☆诊断分析工具
通过诊断分析工具,开发者能监视独立的目标系统对象,如任务、信号灯、消息队列、内存分区、定时器、模块、变量、堆栈等。这些显示根据开发者的选择进行周期性或条件性更新。
诊断分析工具还提供了事后分析失败原因的手段。开发者能通过分析当时的目标系统对象来分析失败原因,从而迅速找到关键问题所在,并帮助开发者理解程序的特定行为产生的原因,以求找到解决问题的最好方法。
诊断分析工具还能发现系统的运行瓶颈,指导用户改变应用实现结构,提高系统整体性能.
同时,通过系统资源的使用与监控,及早发现应用集成过程中的资源或端口冲突问题.
☆第三方软件工具集成
通过开放的接口,集成第三方实时软件建模工具、软件配置管理工具和测试工具,为实时嵌入式软件开发提供全过程的支持。
实时软件建模工具采用UML语言、Use Case图、状态图、时序图等对应用需求进行建模,通过模型仿真进行验证,并自动生成代码,为实时嵌入式软件开发提供顶层设计手段。
软件配置管理工具为实时嵌入式软件提供版本管理、变更控制等功能,支持团队协同开发。
测试工具通过对代码插桩,动态提取应用程序运行信息,加以分析后找出系统缺陷,测试覆盖率和质量指标,为应用系统的验证、测试、评价提供帮助。
4 广阔的应用前景
我国信息化与全面小康社会建设对嵌入式系统市场提出巨大需求,信息家电产品年需求量几亿台,每一类数字化家电产品都有千万台市场需求量,工业控制用嵌入式系统有百十万台套需求量,商用嵌入式系统需求量几百万台。我国已有集成电路及扳级产品的大批量生产能力,出口的嵌入式应用产品亦将逐步增长,在全球市场也可占有一席之地。
在这样的市场环境下,华东计算技术研究所推出的自主知识产权的嵌入式实时操作系统Reworks一定有着广阔的应用前景。该系统已经成功应用于船舶电子、车载导航等项目。
转自:http://blog.csdn.net/jiangfei/article/details/35405