搜索
bottom↓
回复: 61

RT-Thread 1.2.0 正式版本发布

  [复制链接]

出0入0汤圆

发表于 2014-1-6 23:55:17 | 显示全部楼层 |阅读模式
RT-Thread 1.2.0正式版本发布,实现roadmap中提到的大部分内容
1,文档方面已完成《RT-Thread编程手册》,同时还有论坛上jiezhi童鞋的《一起来学RT-Thread系列连载教程》
2,BSP分支方面新增cortext-A8(beaglebone),cortext-R4(rm48x50),UNITY-2(SEP6200),lpc408x的移植
3,组件方面:
- 加入msh(类似linux shell的风格),能够直接执行应用程序
- 新增freemodbus 1.6.0的移植
- 新增开源的嵌入式关系数据库SQLite 3.8.1的移植
- 新增Ymodem协议
- 默认使用lwIP 1.4.1

下面是自RT-Thread 1.2.0 RC版本发布以来具体的变更履历:
内核:
* timer.c - 使用跳跃表(skip list)实现系统定时器链表,并在bsp中的startup.c中重新加入定时器初始化函数rt_system_timer_init()
* rtdebug.h - 新增宏定义RT_DEBUG_IN_THREAD_CONTEXT
* idle.c - 在函数rt_thread_idle_excute()中一次清除所有的死线程
* scheduler.c - 新增API rt_critical_level()返回调度器上锁次数

移植:
* cortex-m0 - 修正 cortex-m0 GCC移植中hardfault的问题点
* cortex-r4 - 在startup后释放IRQ堆栈空间
* cortex-r4 - 按字节长度分配堆栈空间

BSP分支:
* 新增lpc408x移植
* bsp/stm32f0x - 增加USART1,USART2驱动,支持finsh,支持组件初始化
* bsp/simulator - 当RTGUI配置无效时打印错误信息
* bsp/simulator - 默认情况下关闭RTGUI选项
* bsp/simulator - 增加createdef.py文件来生成VS的def文件
* bsp/simulator - 当使用VC++编译时去除_TIME_T_DEFINED的定义
* bsp/xplorer4330 - 重命名文件Retarget.c为retarget.c,否则linux系统中编译会报错
* bsp/xplorer4330 - 修正GCC编译链接时关于ENTRY的警告
* bsp/rm48x50 - 新增GCC的移植
* bsp/K60Fxxxx - 修正一个编译错误

组件:
* dfs - 正确处理mkfs未实现的情况
* dfs - 使用指针代替index变量
* dfs - 在函数dfs_filesystem_lookup()将含义模糊的指针变量名称empty重命名为fs
* dfs - 修正dfs_unmount问题点
* dfs - 在设备打开错误时令挂载失败
* dfs/elmfat - 令elmfatfs每次都检查扇区大小
* net - 新增freemodbus 1.6.0的移植
* finsh - 新增FINSH_USING_MSH_ONLY选项
* finsh - 只有当shell设备为空时调用rt_console_get_device()
* finsh - 修正FINSH_USING_SYMTAB未定义的错误
* finsh - 重构control按键的处理
* msh - 增加文件和路径名称自动补全的功能
* msh - msh内增加执行module的功能
* msh - msh内增加更多的命令
* libc - 修正 _sys_read()/_sys_write()问题点
* external - 增加开源的嵌入式关系数据库SQLite 3.8.1的移植
* pthreads - 避免ESHUTDOWN重复定义
* mtd_nand - 在MTD nand中增加更多的调试措施
* mtd_nand - 修正操作MTD nand时起始块错误的问题
* lwip-1.4.1 - 在lwIP内加入更多的RT-Thread选项设置
* log_trace - 修正函数memmove()参数使用错误的问题
* drivers/pipe - 增加一个control命令来获得pipe剩余的空间
* drivers/serial - 如果读写长度为0,则立即返回

例程:
* examples - 用rt_sem_control()中的RT_IPC_CMD_RESET命令rt_sem_trytake()来清除信号量
* examples - 始终打印输出测试结果
* examples - 在所有的测试结束后打印输出简报
* examples - 在TC线程中清除变量_tc_stat的TC_STAT_RUNNING状态
* examples - 重新实现loop功能,并新增finsh命令tc_loop
* examples - 在tc_stop中增加延时,由原来的延时RT_TICK_PER_SECOND/2调整为10 * RT_TICK_PER_SECOND
* examples - 在SConscript中判断TC如果被使能,在CPPPATH中增加TC路径
* examples - 新增一个in-mem-log的例子
* semaphore_priority.c - 在cleanup时释放信号量
* heap_realloc.c - 检查调用realloc(ptr, 0)是否成功
* thread_delete.c - tc线程的延时应该比tid2的延时长,保证其测试过程中正常运行
* thread_delay.c - 放宽超时判断条件,因为当RT_TICK_PER_SECOND为1000时,容易产生1个tick的误差
* semaphore_static.c - 放宽超时判断条件,因为当RT_TICK_PER_SECOND为1000时,容易产生1个tick的误差
* semaphore_dynamic.c - 放宽超时判断条件,因为当RT_TICK_PER_SECOND为1000时,容易产生1个tick的误差

其他:
* 更新README.md

下载地址:
RT-Thread 1.2.0
《RT-Thread编程手册》http://www.rt-thread.org/download/manual/rtthread_manual.zh.pdf
《一起来学RT-Thread系列连载教程》http://www.rt-thread.org/phpBB3/topic2596.html

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2014-1-6 23:58:04 | 显示全部楼层
居然沙发,支持下,国产系统中的娇子

出0入93汤圆

发表于 2014-1-7 00:00:22 | 显示全部楼层
板凳      

出0入0汤圆

发表于 2014-1-7 00:43:35 | 显示全部楼层
下载看看,希望RT-Thread发展的更好

出0入90汤圆

发表于 2014-1-7 03:56:28 | 显示全部楼层
厉害,真的很不错

出0入0汤圆

发表于 2014-1-7 07:35:12 来自手机 | 显示全部楼层
问一下msh与finsh什么关系?互补还是替代?

出0入0汤圆

发表于 2014-1-7 07:46:42 | 显示全部楼层
有空也来学习下

出0入0汤圆

发表于 2014-1-7 07:57:44 | 显示全部楼层
能像ucos一样支持8位机吗?

出0入0汤圆

发表于 2014-1-7 08:29:59 | 显示全部楼层
热烈欢迎  非常高兴

出0入0汤圆

发表于 2014-1-7 08:45:10 | 显示全部楼层
顶起,挺不错的。。。

出0入0汤圆

发表于 2014-1-7 08:47:43 | 显示全部楼层

出0入0汤圆

发表于 2014-1-7 08:50:28 | 显示全部楼层
下载 果断搜藏

出0入0汤圆

发表于 2014-1-7 08:53:38 | 显示全部楼层
定 Ymodem协议很好。

出0入0汤圆

发表于 2014-1-7 08:55:32 | 显示全部楼层
太好了!

出0入0汤圆

发表于 2014-1-7 09:03:10 | 显示全部楼层
支持

出0入0汤圆

发表于 2014-1-7 09:06:17 | 显示全部楼层
发来贺电

出0入0汤圆

发表于 2014-1-7 09:08:04 | 显示全部楼层
普天同庆!   

出0入0汤圆

发表于 2014-1-7 09:12:47 | 显示全部楼层
发来贺电,嘻嘻……

出0入0汤圆

 楼主| 发表于 2014-1-7 11:23:47 | 显示全部楼层
DevLabs 发表于 2014-1-7 07:35
问一下msh与finsh什么关系?互补还是替代?

是互补,msh是类似于linux shell风格

出0入0汤圆

 楼主| 发表于 2014-1-7 11:29:06 | 显示全部楼层
wangyj173 发表于 2014-1-7 07:57
能像ucos一样支持8位机吗?

支持16位,32位MCU,但不支持8位MCU

出100入101汤圆

发表于 2014-1-7 11:42:59 | 显示全部楼层
不错!

出0入0汤圆

发表于 2014-1-7 12:50:44 | 显示全部楼层
哎,下载不了。

出0入147汤圆

发表于 2014-1-7 13:23:31 | 显示全部楼层
手上的项目越做越复杂了,也准备上RT-Thread,产品无液晶显示只有串口配置界面,是不是启动时输出RT-Thread的Logo即可使用?

出0入0汤圆

 楼主| 发表于 2014-1-7 13:43:34 | 显示全部楼层
dreampet 发表于 2014-1-7 13:23
手上的项目越做越复杂了,也准备上RT-Thread,产品无液晶显示只有串口配置界面,是不是启动时输出RT-Thread ...

应该是产品外壳上打上RT-Thread logo
具体请到RT-Thread官方网站上咨询吧

出0入0汤圆

发表于 2014-1-7 14:00:26 | 显示全部楼层
不错不错啊 ,支持下

出0入0汤圆

发表于 2014-1-7 14:06:05 | 显示全部楼层
- 新增开源的嵌入式关系数据库SQLite 3.8.1的移植

这个给力!

出0入0汤圆

发表于 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

出0入0汤圆

发表于 2014-1-7 16:51:44 | 显示全部楼层
顶支持下

出0入0汤圆

发表于 2014-1-7 17:25:58 | 显示全部楼层

顶支持下

出0入0汤圆

发表于 2014-1-7 17:54:12 | 显示全部楼层

出0入0汤圆

发表于 2014-1-7 18:03:00 | 显示全部楼层
必须支持国产

出0入0汤圆

发表于 2014-1-7 18:11:41 | 显示全部楼层
功能好多,干脆搞出来一个branch for mobile os

出0入0汤圆

 楼主| 发表于 2014-1-7 18:15:42 | 显示全部楼层
RT-Thread 官网提供RT-Thread 1.2.0下载 RT-Thread 1.2.0(RT-Thread 官网)

出0入0汤圆

发表于 2014-1-8 08:39:25 | 显示全部楼层
下载。谢。

  

出0入0汤圆

发表于 2014-1-8 08:48:41 | 显示全部楼层
支持. 手里活忙完就开始弄.

出0入0汤圆

发表于 2014-1-8 09:55:52 | 显示全部楼层
最近准备学习,发现我这儿官网被墙了。

出0入0汤圆

发表于 2014-1-8 11:37:27 | 显示全部楼层
wangchin1988 发表于 2014-1-8 09:55
最近准备学习,发现我这儿官网被墙了。

服务器爆了,正在维修。

出0入0汤圆

发表于 2014-1-15 19:58:17 | 显示全部楼层
支持。。。

出0入0汤圆

发表于 2014-1-15 21:56:55 | 显示全部楼层
众人拾柴火焰高,真是越来越NB了

出0入0汤圆

发表于 2014-1-15 23:50:39 来自手机 | 显示全部楼层
小菜我想知道rt和ucos的区别在哪

出0入0汤圆

发表于 2014-1-21 21:50:14 | 显示全部楼层
要是能用到手机上就好了。

出0入0汤圆

发表于 2014-1-21 21:56:54 | 显示全部楼层
必须支持!祝福祝愿越做越强越大!

出0入0汤圆

发表于 2014-1-24 01:49:30 来自手机 | 显示全部楼层
能否加入UCGUI,EMWIN支持  很多人对那两个比较熟悉,而且做了很多现成产品

出0入0汤圆

发表于 2014-1-24 13:12:36 | 显示全部楼层
也支持下,不知UCOS和这个哪个更适合些。

出0入0汤圆

发表于 2014-1-24 15:01:17 | 显示全部楼层
我擦,将来有时间再好好研究这个东西。

出0入0汤圆

发表于 2014-1-24 17:03:35 | 显示全部楼层
支持,那是必须的,学习中!

出0入0汤圆

发表于 2014-1-24 19:50:06 | 显示全部楼层
支持一下,发展越来越好了

出0入8汤圆

发表于 2014-1-25 07:26:47 | 显示全部楼层
258963519 发表于 2014-1-24 19:50
支持一下,发展越来越好了

+1        

出0入0汤圆

发表于 2014-1-26 15:26:17 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2014-1-26 16:02:37 | 显示全部楼层
必须支持!

出0入0汤圆

发表于 2014-1-26 21:58:38 | 显示全部楼层
ding!!!!!!!!

出0入0汤圆

发表于 2014-2-20 08:18:02 | 显示全部楼层
mark                        

出0入0汤圆

发表于 2014-4-10 12:25:08 | 显示全部楼层
与RT-Thread 2.0.0 Alpha同时发布的还有1.2.x系列的bug修正版本:RT-Thread 1.2.1 下载链接地址

主要修复的问题是:
* LPC176x、STM32F107中使用了组件初始化而导致系统多次初始化或没有初始化的问题;从入门的角度考虑,组件初始化并不适合于这种BSP发布的方式,所以这次发布中把组件初始化管理器给移除了。
* 内核中,对于suspend thread时,也把这个thread timer给停止了;

出0入0汤圆

发表于 2014-4-10 12:43:17 | 显示全部楼层
关注~~

出0入0汤圆

发表于 2014-4-18 05:51:07 | 显示全部楼层

出0入0汤圆

发表于 2014-6-30 16:27:08 | 显示全部楼层
加入sqllite很给力,支持

出30入0汤圆

发表于 2015-3-12 10:40:45 | 显示全部楼层
非常好,感谢。5年前使用的是RT的系统,写的论文,历历在目!

出0入0汤圆

发表于 2015-6-25 18:54:33 | 显示全部楼层
RTT,刚刚开始摸索中。

出0入0汤圆

发表于 2015-6-26 12:16:06 | 显示全部楼层
最近在看RTT,功能很强大啊,就是代码风格还不习惯,可能是受ucos影响太大了。

出0入0汤圆

发表于 2015-6-26 12:55:02 | 显示全部楼层
支持,国产精品

出0入0汤圆

发表于 2016-3-28 18:35:06 | 显示全部楼层
真的好好的学习一下,谢谢!

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-25 09:07

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

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