|
因为关于0.4.0的分支也有好几个了,这个帖子主要记录下RT-Thread 0.4.0的发布进展。RT-Thread 0.4.0当时提出的两个目标:
- POSIX兼容
- 应用模块加载
现在正渐行渐近。。。
【RT-Thread 0.4.x分支的额外说明】似乎很多人误以为0.4.x分支是面向资源丰富的平台,不太适合类似STM32这样的CM3平台。这里要说的是,0.4.x分支绝大部分是兼容0.3.x分支,并且也非常适合于STM32等面向微控制器的硬件平台。例如POSIX thread部分,它能够运行于STM32平台,如果使用Code Sourcery GCC工具链,同样能够支持其中的newlib C库。这部分同样对内存的需求非常少。0.4.x分支一些特性不适合于微控制器的包括:
- 应用模块加载。
- FTK GUI。
* newlib移植 -- 接近完成,相应的更改包括:
* 增加devfs,增加/dev/console设备
* 修正device file system中struct stat的问题(兼容于newlib、minilibc、Keil MDK)
* 完成printf, fprintf, dprintf, fdopen, puts, putc, fileno, getenv, putenv, rand等测试
* 在非法的参数情况下malloc测试失败,出现ASSERT
* dirname测试失败 -- CodeSourcery GCC lite中的newlib不支持
* glob测试失败 -- CodeSourcery GCC lite中的newlib不支持
* speed测试失败 -- time调用在s3c2440上未实现
* seekdir测试失败
* sscanf, getc测试失败
* fstat测试通过。
* MIPS分支以能够正常支持newlib以及pthreads。
* POSIX Thread 此部分按照Open Group IEEE Std 1003.1, 2004 Edition标准实现
* 具备比较完整的实现;
* uclibc的7个测试例子全部通过。
* cancel point需要在pthread_cond_timedwait()、pthread_cond_wait()、pthread_join()、pthread_testcancel()中实现。
* 实现了POSIX sem
* 实现了POSIX mqueue
* 应用模块
* 加载、运行OK
* 正在修整模块内存的问题
* rt_module_realloc还未实现
* 模块内存的问题基本解决。
* 增加NFS v3,能够执行主机上的应用模块
* device file system完善(这里指的是设备虚拟文件系统,不是devfs)
* 加入设备文件系统devfs,以后能够兼容很多设备操作的应用了。
* 加入了ROMFS,测试完成,好用!
* 加入UFFS移植,移植还未成功
* RT-Thread/GUI完善 (完善部分主要在beta2中进行)
* 加入了Hardware DC,当启用这个DC时,上层应用将极大的直接访问底层硬件,速度同样也会提升。
* 加入了BMP图像格式支持(同样突出了RT-Thread/GUI内存小的概念!)。
* 加入了非等宽字体支持。
* 加入TTF字体支持,但内存空间占用估计比较大,对于unicode的问题还存在些问题。
* 需要修正PNG图像格式,并在STM32上得到支持。
* 需要加入Alpha绘图的支持。
* 需要加入AA绘图算法的支持。
* 需要加入UCDOS中的矢量字体支持。
* 考虑在HDC格式中增加alpha通道支持(HDC格式v2),同时提供相应的转换工具。
* external组件
* wyoujtg完成FTK移植
新的分支:
-- AVR32
-- SEP4020
* 支持kernel + finsh
* 后续更多驱动...
-- Renesas M16C
-- MIPS分支
* Jz4755 -- 完成基本移植,kernel + finsh
* 龙芯SoC3210 -- 完成基本移植,kernel + finsh + RT-Thread/GUI
0.4.0 beta2规划:
* 完善RT-Thread/GUI
* 添加YAFFS2或UFFS之一,并在mini2440和SoC3210上实施;
* 添加完整的Jz4755分支
* 更好的POSIX兼容环境
* ... |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|