ffxz 发表于 2014-8-1 14:52:55

rt-thread v1.2.2 & v2.0.0beta发布

本帖最后由 ffxz 于 2014-8-1 14:55 编辑

按照原来的发布计划,应该在每个季度结束时发布一个版本的(实际应该两个版本,一个是开发版本,一个是稳定版本),因为时间的关系这个发布推迟了一个月。在这个月中我们也完善了RT-Thread发布方式,改成直接从git上打标签,自动去zip/tar.gz软件包的方式,使得发布更为简化、易维护。也把一些不需要发布的代码(特别是一些芯片的移植),挪到<none-released-porting> git repo中,如果以后维护好了,也可以再转到发布主干上。

这次的发布包括了v1.2.2稳定版本和v2.0.0 beta版本。老规矩,v1.2.2版本是1.2.x系列的bug fix版本,追求稳定,尽量少添加新特性等;v2.0.0版本则是目前的开发版本,包括了开源社区上大家贡献的代码,例如Arda贡献的TM4C129x移植,Romeo贡献的frdm-k64f移植,xiaonong的LPC4300移植等。如果要上新项目,建议使用v2.0.0 beta开发版本来进行,预计这个版本的正式版会在年底发布。欢迎对这个版本进行测试、并反馈问题,能够早日进入到稳定版。

RT-Thread v2.0.0 beta的变更情况
内核

[*]移除rt_device_init_all()函数:在系统启动时不需要再调用这个函数来初始化驱动,而是由上层应用执行rt_device_open时自动进行设备初始化;
[*]修正设备对象引用计数在打开设备失败依然递增的问题;
[*]增加WEAK宏用于定义/声明弱符号;
[*]在执行静态内存块分配前,重置线程的errno;
[*]修正timer未打开调试选项时,无用的静态函数定义(导致编译警告);
[*]启动timer前,对timer进行强制移除;
[*]在执行soft timer超时函数时,打开调度器锁;
[*]新增块设备的自动刷新参数,RT_DEVICE_CTRL_BLK_AUTOREFRESH;


工具

[*]修正scons命令编译时,选择keil mdk (armcc)编译器时,命令行太长编译失败的问题;


移植

[*]移除rt_device_init_all()相关的调用;
[*]根据串口框架调整相关的驱动代码;
[*]新增frdm-k64f移植(FreeScale K64芯片);
[*]移除K60Fxxxx移植;
[*]新增LPC43xx移植(NXP LPC4357芯片);
[*]移除LPC176x中的组件初始化配置;
[*]修正龙芯1B移植(ls1bdev)中链接脚本关于组件初始化部分的配置;
[*]修正STM32F40x中UART3的配置;
[*]修正STM32F40x中GNU GCC连接脚本中ROM/RAM大小的配置;
[*]移除STM32F107中的组件初始化配置;
[*]增强STM32F107 EMAC驱动性能,同时加入自动查找PHY芯片地址功能;
[*]重写xplorer4330(NXP LPC4330芯片)移植(xiaonong完成);
[*]新增Zynq7000 ARM Dual Cortex-A9移植;
[*]新增MB9BF618S移植;
[*]新增tm4c129x移植,并加入相应的EMAC以太网驱动;


组件

[*]DFS: 新增根据设备对象获得其上装载文件系统路径的函数:dfs_filesystem_get_mounted_path(struct rt_device* device);
[*]DFS: 修正readdir在GNU GCC下的编译警告;
[*]DeviceDrivers:新增workqueue实现;
[*]DeviceDrivers: 修正USB Device栈中的一些拼写错误;
[*]DeviceDrivers: 重写serial框架,能够让串口设备驱动同时支持三种模式:poll、interrupt、DMA。模式选择需要在执行rt_device_open时,由open flags指定;
[*]DeviceDrivers: 加入更多的SPI设备驱动,例如RW009的SPI WiFi网口驱动(2.4G 802.11 b/g/n,WEP/WPA/WPA2,SoftAP/Station),SPI NorFlash块设备驱动,ENC28J60以太网网卡驱动;
[*]Finsh: list_device()命令中增加refcount的信息;
[*]Finsh: 修正'0'零常量无法识别的错误;
[*]Finsh: mv命令,实现把一个文件移动到一个目录中;
[*]Finsh: ifconfig命令支持对一个网络接口的基本配置;
[*]Finsh: 新增netstat命令,用于显示当前系统中TCP连接的状态;
[*]Finsh: 修正当命令行太长导致的缓冲区移除的问题;
[*]libc: 修正arm libc中未使用DFS时的编译警告;
[*]libc: 修正newlib中使用DFS时的系统调用编译警告(GNU GCC下);
[*]lwIP 1.4.1: 默认打开LWIP_SO_SNDTIMEO以支持连接发送超时;
[*]lwIP 1.4.1: 修正MEMP_NUM_TCP_SEG定义错误的问题;
[*]lwIP 1.4.1: 加入RT_LWIP_REASSEMBLY_FRAG选项定义以支持IP分组及合并;
[*]lwIP 1.4.1: ethnet网络接口支持定义LWIP_NO_TX_THREAD/LWIP_NO_RX_THREAD,以关闭etx/erx线程;
[*]lwIP 1.4.1: 用户可以重新定义RT_LWIP_ETH_MTU,以修改网络中的MTU值;
[*]lwIP 1.4.1: 修正LWIP_NETIF_LINK_CALLBACK条件编译的问题;
[*]lwIP 1.4.1: 完善移植相关的注释;
[*]log trace: 增加log_session_lvl接口;
[*]log trace: log trace中的session引用更改成常量形式;
[*]ymodem: 增强数据接收的稳定性;


RT-Thread v1.2.2 的更改记录
内核

[*]修正设备对象引用计数在打开设备失败依然递增的问题;
[*]在执行静态内存块分配前,重置线程的errno;
[*]修正timer未打开调试选项时,无用的静态函数定义(导致编译警告);
[*]启动timer前,对timer进行强制移除;


工具

[*]修正scons命令编译时,选择keil mdk (armcc)编译器时,命令行太长编译失败的问题;


组件

[*]Finsh: 修正当命令行太长导致的缓冲区移除的问题;
[*]libc: 修正arm libc中未使用DFS时的编译警告;
[*]lwIP 1.4.1: 默认打开LWIP_SO_SNDTIMEO以支持连接发送超时;
[*]lwIP 1.4.1: 修正MEMP_NUM_TCP_SEG定义错误的问题;
[*]lwIP 1.4.1: 加入RT_LWIP_REASSEMBLY_FRAG选项定义以支持IP分组及合并;
[*]lwIP 1.4.1: 用户可以重新定义RT_LWIP_ETH_MTU,以修改网络中的MTU值;
[*]lwIP 1.4.1: 修正LWIP_NETIF_LINK_CALLBACK条件编译的问题;
[*]log trace: 增加log_session_lvl接口;
[*]log trace: log trace中的session引用更改成常量形式;
[*]ymodem: 增强数据接收的稳定性;


移植

[*]修正龙芯1B移植(ls1bdev)中链接脚本关于组件初始化部分的配置;
[*]修正STM32F40x中UART3的配置问题;


下载链接(网盘):
http://pan.baidu.com/s/1mgIAyWo

ffxz 发表于 2014-8-1 14:55:10

另外,还有个RT-Thread GUI及RealBoard 4088(NXP LPC4088)相关的软件包。这个会在这个月内提供出完整、配套的软件包发布。

y574924080 发表于 2014-8-1 15:05:48

恭喜!话说RealBoard 4088的板子有现货没有?

ffxz 发表于 2014-8-1 15:10:11

rt-thread v1.2.2 & v2.0.0beta发布

y574924080 发表于 2014-8-1 15:05
恭喜!话说RealBoard 4088的板子有现货没有?

很快就有,应该是下周初就有了。

icevel 发表于 2014-8-1 15:43:26

支持!另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)

ffxz 发表于 2014-8-1 16:21:05

icevel 发表于 2014-8-1 15:43
支持!另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)

这个取决于这个分支维护人的情况,是否有这么多精力来做这个切换。大家也可以自己切换,然后发pull request到github上造福后来者

aozima 发表于 2014-8-1 18:14:01

本帖最后由 aozima 于 2014-8-1 18:32 编辑

icevel 发表于 2014-8-1 15:43
支持!另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)

感觉还是原来的固件库要好用一些!

liurangzhou 发表于 2014-8-1 18:44:56

2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个我简单的跑个led_blinker,一阵子后就不动了,之前的版本没有问题

spy2008 发表于 2014-8-1 21:04:11

关注Rtthread

nongxiaoming 发表于 2014-8-1 21:10:55

终于跨入2.0的时代了~

SNOOKER 发表于 2014-8-1 21:19:52

龙芯都有支持。。。强大!

lixun00 发表于 2014-8-1 21:27:22

good。。。

guxingganyue 发表于 2014-8-1 21:43:49

不错不错,支持一下

fengyunyu 发表于 2014-8-1 21:45:05


lwIP 1.4.1: 默认打开LWIP_SO_SNDTIMEO以支持连接发送超时;
lwIP 1.4.1: 修正MEMP_NUM_TCP_SEG定义错误的问题;
lwIP 1.4.1: 加入RT_LWIP_REASSEMBLY_FRAG选项定义以支持IP分组及合并;
lwIP 1.4.1: ethnet网络接口支持定义LWIP_NO_TX_THREAD/LWIP_NO_RX_THREAD,以关闭etx/erx线程;
lwIP 1.4.1: 用户可以重新定义RT_LWIP_ETH_MTU,以修改网络中的MTU值;
lwIP 1.4.1: 修正LWIP_NETIF_LINK_CALLBACK条件编译的问题;
lwIP 1.4.1: 完善移植相关的注释;


请问lwip 1.4.1相关的这些改进,是lwip本身的问题?还是lwip用到rt-thread中,进一步的完善?

ffxz 发表于 2014-8-1 23:35:57

liurangzhou 发表于 2014-8-1 18:44
2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个我简单的跑个led_blinker,一阵子后 ...

你的blink代码写成什么样的?以及你的rtconfig.h配置?

ffxz 发表于 2014-8-1 23:37:00

fengyunyu 发表于 2014-8-1 21:45
lwIP 1.4.1: 默认打开LWIP_SO_SNDTIMEO以支持连接发送超时;
lwIP 1.4.1: 修正MEMP_NUM_TCP_SEG定义错误的 ...

lwIP要用好还是需要一定的经验,目前这些修改 & 修正主要是和RT-Thread上移植相关的。选项方面,会根据我们的经验默认打开一些。

aozima 发表于 2014-8-2 13:54:10

liurangzhou 发表于 2014-8-1 18:44
2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个我简单的跑个led_blinker,一阵子后 ...

估计没有执行        /* init timer system */
        rt_system_timer_init();

论坛贴过通知的!

AppTurtle 发表于 2014-8-2 14:57:06

RW009 模块什么地方能买得?

migrant 发表于 2014-8-2 18:09:38

不错,越来越好了

liurangzhou 发表于 2014-8-4 19:08:11

ffxz 发表于 2014-8-1 23:35
你的blink代码写成什么样的?以及你的rtconfig.h配置?

可以跑一段时间;

for(;;)
{
      led_toggle();
   rt_thread_delay(300);
}

tick设置成1ms;我回到之前一天的版本没有一点问题

ffxz 发表于 2014-8-27 21:08:41

感谢ffddybz移植了lwIP的最新版本(git head),支持IPv4/v6双栈,物联网,RT-Thread来啦
https://github.com/RT-Thread/rt-thread/tree/master/components/net/lwip-head

ffxz 发表于 2014-8-27 21:11:22

AppTurtle 发表于 2014-8-2 14:57
RW009 模块什么地方能买得?

RW009已经上架,见realthread.taobao.com

国内许多玩Wi-Fi四轴都是用原来开源的一套88W8686 Wi-Fi驱动(WPA2/SoftAP搓,发热大),现在可以升级了,可以用这个RW009来玩,后续将提供开源的Wi-Fi四轴飞行器!希望能够和RT-Thread的sensor框架结合起来,我也得继续贡献sensor这块代码才是

leibwell 发表于 2014-9-15 21:16:55

ffxz 发表于 2014-8-27 21:11
RW009已经上架,见realthread.taobao.com

国内许多玩Wi-Fi四轴都是用原来开源的一套88W8686 Wi-Fi驱动(W ...

RV009用的是什么芯片?直接用这个芯片而不用买模块不是更好?99块的一个模块也太贵了点。

ggchao 发表于 2014-9-19 14:04:17

good,了解一下!

zhexuejia 发表于 2014-9-27 23:53:27

恭喜,太赞了
学习rt-thread

fugeone_copy 发表于 2014-9-28 06:31:41

一直想看看,是该静下心来看看了

zenith1032 发表于 2014-10-17 11:45:38

顶起一下,RT-tread真的好厉害,刚刚试了下1768+udp的例程

蓝蓝的恋 发表于 2014-10-17 13:41:25

顶起~{:smile:}{:smile:}

tomyqg 发表于 2014-11-26 13:14:49

zenith1032 发表于 2014-10-17 11:45
顶起一下,RT-tread真的好厉害,刚刚试了下1768+udp的例程

试过netio测速么,我这1768的默认配置发送速度好慢啊

PZLPDY 发表于 2014-12-12 18:19:59

最近测试了一下1.03版本,发现用rt_printf输出浮点数会原样输出%f。比如rt_printf("float_val=%f\n",float_val);
打印float_val=%f

ZHAOBAO511 发表于 2021-12-14 18:47:19

大神去哪里了?正想请教。
页: [1]
查看完整版本: rt-thread v1.2.2 & v2.0.0beta发布