|
发表于 2014-1-7 16:39:24
|
显示全部楼层
感谢大家的支持,RT-Thread 1.2.0正式版发布了,不过这个仅仅是1.2.x系列的开始,下面的文字中也提及到了RT-Thread版本的许可证问题:
RT-Thread 1.2.0版本刚刚发布,这个版本是2013年主线程,回顾2013年,1.2.0版本其实还有很多地方做得不足,例如发布包中带的roadmap-1.2.0:
- LPC18xx & LPC43xx
* USB host and device driver;
这部分开始计划在LPC43xx中实施,但是我们缺少相应的资源,一直在拖,拖到年底的时候LPC4088[1]的板子出来,才下定决心,一定在LPC4088上把USB相关驱动给实现了。这方面,QiuYi同学要多多努力!
- device IPC
* implement the work queue[2].
* implement the rwlock[3].
* The APIs are like *BSD, but implement in RT-Thread
这部分完全没有动静,应该不是十分困难的事情,原计划由我来完成,到后面好像是完全搞忘了,有的时候真的需要回过头来看看原来的计划是什么,或者说有的时候定制一年的计划确实也不是什么好事情。
- finsh shell
* implement a UNIX style shell, and this shell can execute application module.
这部分就是1.2.0中的msh,全称是module shell。它是一个比较传统的命令行程序,但是finsh shell中原有的历史记录,自动补全等功能都继承过来了(外加文件或目录名的自动补齐)。不过aozima说不好用,没原来的直接导出函数,自动处理函数参数方便。因为参数部分,例如这么个命令:int cmd(int argc, char** argv),其中的argc、argv参数都需要函数一个个自己去处理。
但是module shell的设计初衷之一就去执行应用模块,那么(int argc, char** argv)的参数形式就是必然的了。并且按照这样的方式,对于*产品*方式无疑是最安全的,当然还有另外一个,ROM/RAM体积占用都比原来的finsh shell小了很多。[msh由RT_USING_MSH宏定义开启,可以与finsh shell共存,也可以单独使用(RT_USING_MSH_ONLY,但RT_USING_FINSH依然需要定义)] 如果是纯粹的调试,还是finsh shell的好。
- lwIP TCP/IP stack
* enable IPv6 feature[5].
一直没有时间去验证,lwIP正式支持IPv6的版本(1.5.0?) 也没有发布。
- device file system
* implement select[4] API for device object in RT-Thread.
木有实现!
- gdb server or stub
木有实现!
其中,select和gdb stub都是交由prife同学来实现,但大家都知道,业余来进行这些都是无法保证的,这也从另外一个侧面反映出开源的现状,Just for fun. prife同学也不要抱有很大的心理压力,That's OK!。
欣喜的地方还是很多,例如:
armink同学提供的freemodbus移植,当然主站部分依然需要多多加强,aozima同学评估下来,这个代码能用吗?
geniusgogo同学提供的sqlite的移植;
grissiom同学提供了多项有力支持,第一个Cortex-R系列移植,Cortex-A移植中的增强,YModem、Log Trace等实用小巧的组件。
armink、geniusgogo同学都是近一年来才有所接触吧,明显的感觉到geniusgogo有成为大牛的潜质,牛头不是盖得!
文档,文档部分依然是一个老大难的问题。前段时间和傻孩子谈起,终于明白一个事实,不要催不要催,特别不要催稿!!水到渠成时,书自然成。另外jiezhi同学,借个肩膀用用啦。
许可证
随着RT-Thread 1.2.0的发布,不知道大家是否注意到github.com上RT-Thread中许可证的更改:
RT-Thread RTOS is free software; you can redistribute it and/or modify it under terms of the GNU General Public License version 2 as published by the Free Software Foundation. RT-Thread RTOS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with RT-Thread; see file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
As a special exception, including RT-Thread RTOS header files in a file, instantiating RT-Thread RTOS generics or templates, or linking other files with RT-Thread RTOS objects to produce an executable application, does not by itself cause the resulting executable application to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.
简而言之,自RT-Thread 1.2.0开始,许可协议进一步宽松了,原来需要的纸质商用许可协议也不需要了(但同时我们承诺,如果企业客户依然需要这份纸质协议,可以向我们索要,邮费自理)。另外使用RT-Thread其实就意味着认可了RT-Thread,把RT-Thread的生态环境做好,对您自身而言也是百利而无一弊,所以强烈推荐向我们反馈您的信息:您们正在产品中使用RT-Thread(后续会在官方网站上给出自助申请表格出来,填写完毕提交即可)。
[1] 前面提到了LPC4088的开发板,这个也是2013年下半年才定下来的,也是与NXP合作的硬件平台。相信有些论坛上活跃的用户已经拿到了这块板子,很漂亮精致的一块板子,而且还是6层的核心板哦。之所以选择了这个芯片,其中与NXP合作是一个重要的因素,另外一个是NXP的MCU系列芯片与RT-Thread本身的特性都蛮相吻合,从LPC17xx系列到现在的LPC40xx系列,以及LPC43xx双核系列,这些芯片都为RT-Thread提供了一个良好的运行环境。
从MCU的发展来看,越来越多的资源,越来越复杂的功能是必然的趋势(还记得PC领域的摩尔定律吗?),MCU需要好的软件来配合,好的软件也需要良好的硬件来承载。RT-Thread需要与时俱进。。。
RT-Thread 1.2.0中已经包括了基本的LPC4088移植,但是更多的例子(从最基本的点灯,内核,到一个个复杂的组件,以及我们设想的组件化结构,模块化结构)都一一在这款RealBoard 4088中体现出来,开源社区更需要的是自由的精神,希望我们的一些理念能够在RealBoard 4088上得到绽放!
从这个角度出发,RealBoard 4088是一款社区型的开发板,相应的例程、文档制作也完全社区方式来进行,都托管在github.com上(以及后续国内的git代码托管)。另外,如2013年开发者会议上提的,希望有一个自动化的测试平台:当RT-Thread有更新时,能够自动下载代码,编译,升级更新,然后运行设定好的一些测试代码,最后把测试结果再提交到网站上来,我们希望能够在RealBoard 4088上得到实现。即,RealBoard 4088会做为一个RT-Thread 1.2.x系列版本的验证平台来使用。
[2] 关于RealBoard 4088的价格,既然是硬件板子那么必然会有价格的问题。我们首批做了50套,前期已经在论坛上预定出去部分。后面正式上架时,因为它是一款面向社区化的Board,正式的价格也比较亲民,基本上是淘宝上类似板子的最低价格了。
Bernard Xiong
2014.01.07 |
|