RT-Thread开发计划及状态 [20090803更新]

发布于 2009-03-10 17:27:09
发一个贴跟踪RT-Thread的开发情况:
1、0.2.4正式版 这个是0.2.x系列的升级版本,主要修正0.2.x系列的问题
[list=a][li]0.2.4正式版已经发布,0.2.x系列版本基本上将终结,开始进入0.3.0 beta版本的发布周期。[/li]
2、0.3.x 这个是针对后续的发展版本,会添加新的特性。主要包括支持FAT32长文件名的文件系统,GUI等
[list=a][li]
[*:3aiq26xx]20090413 修正STM32中PendSV异常优先级设置过高的问题。[/*:m:3aiq26xx]
[*:3aiq26xx]20090531 加入线程栈溢出检查,通过RT_USING_OVERFLOW_CHECK宏定义使能。[/*:m:3aiq26xx]
[*:3aiq26xx]20090531 LPC2148更新到0.3.0版本的驱动框架,并且加入文件系统,TCP/IP协议栈支持(因为开发板无相应外设,目前只包含驱动框架)[/*:m:3aiq26xx]
[*:3aiq26xx]20090531 AT91SAM7X256更新到0.3.0版本的驱动框架,加入文件系统支持,SD卡驱动还未调试通过。[/*:m:3aiq26xx]
[*:3aiq26xx]20090531 STM32F103ZE加入GoAhead WebServer,还在调试中,需要先稳定。[/*:m:3aiq26xx]
[*:3aiq26xx]20090607 修正STM32中任务切换可能会被中断打断的问题。[/*:m:3aiq26xx]
[*:3aiq26xx]20090614 修正LwIP中lwip_select如果不是lwip thread时定时器的问题。[/*:m:3aiq26xx]
[*:3aiq26xx]20090614 修正LwIP中小型内存模式下,TCP PCB分配失败处理的问题。[/*:m:3aiq26xx]
[*:3aiq26xx]20090614 修正LwIP时间准确转换到RT-Thread的问题;[/*:m:3aiq26xx]
[*:3aiq26xx]20090614 GoAhead WebServer在STM32F103ZE中跑得已经非常稳定了,优化其内存占用到原始版本的一半左右。[/*:m:3aiq26xx]
[*:3aiq26xx]20090614 修正调度器开锁时中断未打开的问题;[/*:m:3aiq26xx][/li]
20090803 修正内存管理器中rt_realloc的问题,惭愧当时第一次修正的时候似乎没修正到位。
3、RT-Thread实时操作系统编程指南 (RT-Thread最重要的一份文档)
[list=a][li]
[*:3aiq26xx]20090329 全部初稿完成,准备进行整体统一修订。[/*:m:3aiq26xx]
[*:3aiq26xx]20090415 终于头大的sphinx搞定了,能够生成中文PDF文档啦!接下去就是熟悉rst文档的语法,不过先的试试如何添加图形。[/*:m:3aiq26xx]
[*:3aiq26xx]20090427 基本上把原来的word文档都转换成sphinx的文档,并添加了device章节中关于如何创建一个驱动的文档;对象模型单独分列一章讨论,还需要附上更多的例子。[/*:m:3aiq26xx]
[*:3aiq26xx]20090518 在补上快速入门章节,同时包含相配套的代码。[/*:m:3aiq26xx]
[*:3aiq26xx]20090529 给出第一整合版,虽然还有些章节未完善,不过大体框架都已经定型。[/*:m:3aiq26xx][/li]
4、RTGUI,实际开发板上用得比较少,需要在实际使用过程中做完善(刷新速度、代码占用体积、控件细节完善、面板特性完善)
[list=a][li]
[*:3aiq26xx]20090325 正在做STM32F103ZE的移植(armcc),以单独工程编译成库的方式移植[/*:m:3aiq26xx]
[*:3aiq26xx]20090329 RTGUI已经运行起来,但还无输入[/*:m:3aiq26xx]
[*:3aiq26xx]20090413 新的STM32F103ZE开发板拿到了,还在测试板子中。把电路图用A3的纸打印了一份,希望没什么硬件错误。[/*:m:3aiq26xx]
[*:3aiq26xx]20090414 新的Device框架都差不多了,不过STM32上串口的DMA传送失败,晚上继续调。[/*:m:3aiq26xx]
[*:3aiq26xx]20090419 新的STM32F103ZE开发板真是不错,网口也是通的,就差触摸屏没验证了。RTGUI开始报内存不够,很是郁闷。
[/*:m:3aiq26xx]
[*:3aiq26xx]20090803 更多的RTGUI例子可以运行成功了,已经同时把LCD和外扩的SRAM用起来了,可用的动态内存立马多了512K,确实很爽。[/*:m:3aiq26xx][/li]
5、文件系统,已经在s3c2410开发板上配合SD卡做了一些测试,但需要做一些大的压力测试以检测它的稳定性
[list=a][li]
[*:3aiq26xx]20090325 STM32F103ZE的SD卡还不知道如何用,Keil的例子跑不成功,老是报timeout。[/*:m:3aiq26xx]
[*:3aiq26xx]20090419 STM32F103ZE新的开发板上的SD卡已经能够用了,这次是千真万确的SDIO接口的。希望到时能有个文件系统读写文件速度的测试。[/*:m:3aiq26xx]
[*:3aiq26xx]20090426 DFS/EFSL已经全部跑起来了,打算重写其中cache层,希望能够做到更加高效。另外,也在准备更新STM32F103VB的代码,需要添加DFS及SPI SD Card的驱动。[/*:m:3aiq26xx][/li]
6、动态模块载入,已经有一些思路,打算在STM32/s3c2410上完整实现
动态模块加载的三个难点:
[list=a][li]
[*:3aiq26xx]一般模块二进制文件需要采用重定位方式编译,在加载的时候做符号的重定位,让代码中的引用指向正确的位置。[/*:m:3aiq26xx]
[*:3aiq26xx]在卸载时(如果支持,或需要支持当模块中创建的任务出错时进行动态删除这个模块),需要把模块中创建的对象,分配的内存块,打开的文件等正确释放、关闭。[/*:m:3aiq26xx]
[*:3aiq26xx]在调试模块时,能够让一些调试器能够支持,因为加载到内存的文件地址已经和初始的地址不一样了。[/*:m:3aiq26xx]
[*:3aiq26xx]Module添加内存保护相关的信息。 [/*:m:3aiq26xx]
[*:3aiq26xx]20090427 提交一份代码到服务器上,这个主要面向于资源丰富的设备系统,先考虑s3c2410吧。[/*:m:3aiq26xx]
[*:3aiq26xx]20090518 动态模块这部分会先在PXA9xx上实现,目前PXA9xx的测试代码实现得差不多了,可以开始RT-Thread的移植。文件系统则比较麻烦,好像是个micro SD卡,或者可以考虑上YAFFS2了,不过又是一项任务。。。[/*:m:3aiq26xx][/li]
7、Target Insight,用于运行过程中检测系统信息的模块,串口、USB、网口输出信息
[list=a][li][*:3aiq26xx]调试方便,添加粗略的任务信息检测[/*:m:3aiq26xx][/li]
8、USB Device Stack,包含serial port和mass storage的driver,还没啥想法
9、VM的实现,这个理论、实现都已经比较成熟了,目前没计划在RT-Thread中实现
10、异构多核中IPC的实现,可能会考虑如何与Linux进行一个密切配合:把semaphore、mailbox、message queue映射到Linux中去

查看更多

关注者
0
被浏览
9.9k
14 个回答
aozima
aozima 2009-03-10
拒绝白嫖,拒绝键盘侠!
期待做出一个可供实验研究的稳定版本...
并编写一些入门指导...
开源的最缺乏的是入门指导..
bernard
bernard 2009-03-11
是的,稳定版本最重要了,发现有什么不稳定的现象请指出来,这样可以一起解决。

入门指导,文档中的附录A、B应该比较详细了吧,你的看法呢。
aozima
aozima 2009-03-11
拒绝白嫖,拒绝键盘侠!
在对您提供的LPC2148下面移植好了的程序进行抽丝剥茧!
企图慢慢理解OS是怎么一回事...

不过你上面提到的文档就只有你原来mail发给我那份(1-5 11 12章)
但在本站下载不到...
只有其它的文档..

可能是您太忙了..
所以要快快上手...

再个就是对各种版本的BSP及LIBCPU的一点想法:
就是BSP和LIBCPU下面的文件太多了...

我以为一个OS只要核心就OK了...
BSP应该是外置的..

比方说你发给我的这个LPC2148的BSP就是针对KEIL MDK的
而且里面与OS无关的程序太多(串口等) SHELL也算吧

这样子刚上手的不知道从如下手...
而且真的哪天要用上也未必要用上这些..

我觉得是不是可以只提供一个最简单的让OS跑起来的启动程序就OK了
然后再把这些相关的完善的程序如加入SHELL等额外提供
这些工作非核心开发人员也可完成(我当然是暂时不行了..努力中..)
这样子可以让核心开发人员更省力...
因为发行出来的程序在使用的时候可能使用的是GCC MDK IAR 等等
这些都不通用,而且每个主板的CPU类型,型号,配置都不一样...
想直接在发行的源代码里面提供BSP太难了..
开发人员手上也不可能有这么多板...

如果分开来,这些BSP也可以由使用这个板的用户来提供BSP了...

呵呵... 个人想法..
bernard
bernard 2009-03-11
这个确实是的,我在移植的过程中也感到文件过多,而实际上文件中的内容并不多,可以考虑把其中一些合并成一个文件。

至于BSP,原来的意思是通过公共的libcpu从而能够复用一些代码。而bsp目前的代码也比较少,是可以自由加一些代码等的。关于整个系统的裁剪,因为realview mdk是刚开始支持,原来的gcc则是可以透过一个工具很方便的进行拆分。

文档这方面等其他几章完成后再重新调节一下,你的建议非常重要!对于如何入手可能需要在文档的开始就要开始介入了。

aozima,能否根据你的理解对lpc2148做一个初步的整合?呵呵,能有文档描述就更棒了。
aozima
aozima 2009-03-12
拒绝白嫖,拒绝键盘侠!
引用:aozima,能否根据你的理解对lpc2148做一个初步的整合?呵呵,能有文档描述就更棒了。

有这个想法,
打算整个OS后把自己从启动代码第一条指令开始研究的经历写下来...
arm-elf-gcc的,MDK这几周才开始用的...
这个过程比较痛苦,也没人交流,可能用得人少..
所以有必要把这个过程写下来,让更多的人一起来交流
不过可能还要些时间...
因为有些虽然是自己的经验,但也要拿不出不被人笑话才行呀..更重要的是不要误导别人
bernard
bernard 2009-03-15
引用:aozima,能否根据你的理解对lpc2148做一个初步的整合?呵呵,能有文档描述就更棒了。

有这个想法,
打算整个OS后把自己从启动代码第一条指令开始研究的经历写下来...
arm-elf-gcc的,MDK这几周才开始用的...
这个过程比较痛苦,也没人交流,可能用得人少..
所以有必要把这个过程写下来,让更多的人一起来交流
不过可能还要些时间...
因为有些虽然是自己的经验,但也要拿不出不被人笑话才行呀..更重要的是不要误导别人


呵呵,关系不大的,有交流才会有收获。发出来,也让我学习学习,不同的角度不同的视点啊。
pupist
pupist 2009-04-04
论坛上 所有的pdf文档 我用acrobat 7 专业版都打不开 麻烦检查检查阿 我喜欢这个内核 因为有两种内存管理方式和互斥锁^_^
bernard
bernard 2009-04-04
论坛上 所有的pdf文档 我用acrobat 7 专业版都打不开 麻烦检查检查阿 我喜欢这个内核 因为有两种内存管理方式和互斥锁^_^


请确认下面这个帖子里的PDF文件是否能打开:
viewtopic.php?f=2&t=195
aozima
aozima 2009-04-04
拒绝白嫖,拒绝键盘侠!
Adobe Acrobat 9 Pro

能正常浏览...
pupist
pupist 2009-04-05
新连接都正常 另外editminus的连接也都是失效了 麻烦补上咯 试用一下 我经常要看3 500M的文本文档 希望能好用
pupist
pupist 2009-06-05
建议加一个usb虚拟成以太网设备的固件 这样就多了个高速数据接口了...
bernard
bernard 2009-06-05
USB栈目前还啥计划,没人力资源
bernard
bernard 2009-08-30
现在lwip 1.3.1正式版本也发布了,打算在近两周内完成1.3.1的升级,并把STM32分支的ST固件库升级到3.x去。

下周一应该会拿到 智峰 提供的LPC2478开发板,在添加必要的元器件后将对LPC的芯片做进一步的支持。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览