|
RT-Thread 0.4.0 Beta1发布倒计时
[复制链接]
这个帖子主要记录下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测试失败 -- DFS缺少fstat相应的实现。
* POSIX Thread 此部分按照Open Group IEEE Std 1003.1, 2004 Edition标准实现 * 刚开始进行,需要仔细处理好线程退出清理的问题。 * 需要实现pthread_mutex,mutex在POSIX thread中分成了MUTEX_NORMAL,MUTEX_ERRORCHECK,MUTEX_RECURSIVE三种类型 * 需要实现pthread_rwlock * 需要实现pthread_cond
* 应用模块 * 加载、运行OK * 正在修整模块内存的问题 * rt_module_realloc还未实现 * module申请的page怎么记录下来,使用链表?如果使用链表必须分配内存,此时用rt_malloc,rt_module_malloc都有问题,此问题尚未解。 * 增加NFS v3,能够执行主机上的应用模块 * NFS在加载20K以上的文件时失败
* device file system完善(这里指的是设备虚拟文件系统,不是devfs) * 加入ROMFS,待测试 * 加入UFFS移植,移植还未成功
* external组件 * wyoujtg完成FTK移植
新的分支: -- AVR32 -- SEP4020 -- Renesas M16C -- MIPS分支 * Jz4755 -- 完成基本移植,kernel + finsh * 龙芯SoC3210 -- 完成基本移植,kernel + finsh + RT-Thread/GUI
|
|