搜索
bottom↓
回复: 26

RT-Thread 0.4.0 Beta1发布倒计时

 关闭 [复制链接]

出0入0汤圆

发表于 2010-10-30 19:51:55 | 显示全部楼层 |阅读模式
因为关于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周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-10-30 19:59:56 | 显示全部楼层
沙发,顶

出0入0汤圆

发表于 2010-10-30 20:39:40 | 显示全部楼层
支持一下,顶一个。很不错的一个系统。

出0入0汤圆

发表于 2010-10-30 22:11:55 | 显示全部楼层
支持。等这个消息很久了,终于快要发布了。

出0入31汤圆

发表于 2010-10-30 22:23:20 | 显示全部楼层
SEP4020 仅仅是kernel+finsh 有待完善

出0入0汤圆

发表于 2010-10-30 22:23:28 | 显示全部楼层
非常支持,建议文件系统的性能再改进一下

出0入0汤圆

发表于 2010-10-30 22:39:08 | 显示全部楼层
UFFS 适合norflash么?

出0入0汤圆

 楼主| 发表于 2010-10-30 23:43:05 | 显示全部楼层
回复【4楼】zchong  
sep4020 仅仅是kernel+finsh 有待完善
-----------------------------------------------------------------------

努把力,雪夜刀手那边已经有些进展吧,能够稳定下来就好了

出0入0汤圆

发表于 2010-10-31 18:31:21 | 显示全部楼层
支持

出0入0汤圆

发表于 2010-10-31 18:36:50 | 显示全部楼层
我是来顶 雪夜刀手 ~~

出0入0汤圆

发表于 2010-10-31 18:53:56 | 显示全部楼层
RTT真的做得很不错,支持

出0入0汤圆

 楼主| 发表于 2010-10-31 22:02:26 | 显示全部楼层
romfs测试完成,并在romfs目录下有个相应的mkromfs.py文件,如果安装了python 2.5.x(其他版本未试),可以用如下命令行生成相应的只读文件系统:
mkromfs.py romfs romfs.c

第二个参数romfs是目录名,romfs.c是生成的文件名。它会自动生成romfs目录下所有的文件,并保持相应的目录结构。在DFS中使用romfs需要使用如下方式装载:
#ifdef RT_USING_DFS_ROMFS
#include <dfs_romfs.h>
#endif

#if defined(RT_USING_DFS_ROMFS)
    dfs_romfs_init();
    if (dfs_mount(RT_NULL, "/", "rom", 0, &romfs_root) == 0)
    {
        rt_kprintf("Root File System initialized!\n");
    }
    else
        rt_kprintf("Root File System initialzation failed!\n");
#endif

只读文件系统中的文件访问方式和传统的DFS访问文件方式一样,不过只能只读。romfs文件系统同样的,内存占用非常少,几乎无任何RAM占用。

出0入0汤圆

 楼主| 发表于 2010-11-10 19:19:39 | 显示全部楼层
第一个POSIX thread启动并,主线程与它正常结合:
void* thread(void*arg)
{
  if (0) { arg=0; }
  pr("(thread created) ");
  sleep(1);
  pr("(thread exit) ");
  return 0;
}

void test_thread() {
  pthread_t t;
  pr("testing basic thread creation and join... ");
  if ((pthread_create(&t,0,thread,0))!=0) _die_("failed...\n");
  if (pthread_join(t,0) != 0) _die_("failed... joining thread\n");
  pr("OK.\n");
}

void pth_t1()
{
        test_thread();
}
FINSH_FUNCTION_EXPORT(pth_t1, test pthread);

finsh shell命令的输出:
finsh>>pth_t1()
testing basic thread creation and join...
(thread created)
(thread exit)
pthread:pth07 cleanup
OK.

        13, 0x0000000d

出0入0汤圆

发表于 2010-11-11 10:20:13 | 显示全部楼层
支持  !期待新版本!

出0入0汤圆

发表于 2010-11-11 10:46:32 | 显示全部楼层
顶,越来越强大了

出0入0汤圆

发表于 2010-11-11 11:29:17 | 显示全部楼层
期待。。。

出0入0汤圆

发表于 2010-11-11 22:23:43 | 显示全部楼层
期待发布啊

出0入0汤圆

 楼主| 发表于 2010-11-17 23:47:07 | 显示全部楼层
很晕,

POSIX Thread标准终于基本上都支持了,跑了几个uclibc的pthread测试历程,除了gettimeofday调用有些问题外(还没和RTC设备结合在一起),其他的测试历程都OK了。

出0入0汤圆

发表于 2010-11-18 11:18:31 | 显示全部楼层
很激动,很激动

出0入0汤圆

 楼主| 发表于 2010-11-20 23:44:52 | 显示全部楼层
今天把0.4.x分支的scons building script整个翻修了一遍,还需要解决0.4.x中的一些小bug,然后就可以考虑发布了~~

新的scons building script比以前简单很多,也方便很多。

因为RT-Thread在POSIX标准方面的极大提高,也相应的修改了FTK的一些代码,把原来为RT-Thread定制的代码移除了。

出0入0汤圆

发表于 2010-11-21 08:25:36 | 显示全部楼层
顶啊 越来越来强大了啊

出0入0汤圆

发表于 2010-11-21 12:42:32 | 显示全部楼层
因为要用Message, 看过message queue初始化改进了。

另外thread.c  第75行后, 原来有一句:

        thread->flags = 0;

被删除了, 不知是否有影响?

出0入0汤圆

发表于 2010-11-22 08:43:21 | 显示全部楼层
回复【7楼】ffxz  
回复【4楼】zchong  
sep4020 仅仅是kernel+finsh 有待完善
-----------------------------------------------------------------------
努把力,雪夜刀手那边已经有些进展吧,能够稳定下来就好了
-----------------------------------------------------------------------

马上会有新人加入SEP4020的分支维护~~~雪夜已经完成了一部分驱动了

出0入0汤圆

发表于 2010-11-22 08:47:55 | 显示全部楼层
期待。。。。

出0入0汤圆

 楼主| 发表于 2010-11-25 00:12:48 | 显示全部楼层
POSIX thread接口测试全部通过了。

出0入0汤圆

发表于 2010-11-25 08:26:35 | 显示全部楼层
恭喜!

出0入0汤圆

发表于 2010-11-25 20:01:19 | 显示全部楼层
好是,越来越完善了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-19 15:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表