新闻  |   论坛  |   博客  |   在线研讨会
uCRTEMS项目
mayer | 2009-06-15 18:29:25    阅读:2858   发布文章

uCRTEMS项目

 

项目起由:RTEMS其文件分布比较杂乱,不利于开发,作为初学者,可能需要花费大量时间才能弄懂它各部分的分布。还有就是要移植到一个开发板上必须要花费很多气力才行,不能象UCOS-II那样简单的移植,加之有关资料少而且不详细,没有熟知RTEMS,进行开发花费时间必须要很多。另外一个原因是其与编译工具链联系的太紧,除了用GCC以后,很难用其它的商业开发工具,光这一点就对开发者的要求比较高,加上没有什么好的开发环境支持,其开发和调试更是难上加难,而现在国内的大部分开发者对GCC不太熟悉,光MAKEFILE和连接脚本就会难倒一大部分人,而且缺乏支持GDB的仿真器,其开发又难上加难。像ARM开发者,多使用ADS1.2,KEIL MDK,IAR等开发环境,它们除了提供效率比较好的工具链外,也提供了一个好用的调试环境。对习惯使用WINDOWS操作系统的用户来说,学习这些开发环境不会太费力。还有一些基于这些开发环境的从高到低的一系列仿真器。最简单的有H-JTAG,好一点的用USB的ULINK2,JLINK等。所以要推广RTEMS,就必须将其对开发者的要求降下来,一个这么好的RTOS却被很少人使用,实在太可惜。

这个项目对我来说并不是一个新的项目,早在两年前就已经开始了,只是断断续续,而且主要工作在内核上面。并且已经成功应用到多个项目中,涉及到工业控制,通信,消费电子,智能家居等领域。随着嵌入式的应该规模增加,感觉自己有必要对现有RTEMS进行改造。故有了这个项目。

项目计划:

1.移植和剪裁内核,修改内核中部分功能,将与CPU有关部分进行剥离,形成BSP。修改与编译器有关部分代码。从而形成一个基本的uCRTEMS 内核。基本内核大小大概>=20k左右。    ---------------已完成(最小内核大小20K左右,全部内核大小50K左右)

2.编写uCRTEMS内核使用和移植手册,以及各种功能测试代码。稳定内核。 -------------进行中

3.设备驱动模型,修改对中断处理部分,实现上下部分策略           -------------计划中

4.内核调试功能                                                                   -------------考虑中

5.对POSIX API支持                                                                  -------------计划中

6.LIBC库(改造newlib,也可能是其它C库)                                 ------------计划中

7.文件系统功能(fat32,yaffs2等)                                           ----------计划中                                                 

8.网络功能(lwip/bsd tcp/ip)                                                ------------计划中

9.各种网络应用协议(web,ftp,ppp)

10.GUI(microwindows)                                                      ------------计划中

后续扩展(应用程序部分):

1.数据库(sqlite)

2.虚拟机(JVM,lua)

3.3D(OpenGL ES)

4.多媒体播放器(支持各种解码)

5.modbus协议

....

如果大家有兴趣,也可以参与进来,请与我联系。我们会根据情况,分配相应的模块。希望每个模块到时都有人来维护。

另外我的想法是做一个自己的调试环境,支持各种流行的工具链产生的调试信息,不过大家不用担心,其实现在所有的调试信息格式都是基于标准的DWARF-2 或者DWARF-3者,该调试环境能够支持uCRTEMS内核级和任务级调试。当然还需要开发一个支持本调试环境的仿真器。最好该调试环境还带有一个 GCC工具链。这样就成了一条龙服务。从开发环境到调试都提供。

这样就形成了两个另外的项目:

A.uCRTEMS调试器

B.uCRTEMS仿真器

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客