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
另外,还有个RT-Thread GUI及RealBoard 4088(NXP LPC4088)相关的软件包。这个会在这个月内提供出完整、配套的软件包发布。 恭喜!话说RealBoard 4088的板子有现货没有?
rt-thread v1.2.2 & v2.0.0beta发布
y574924080 发表于 2014-8-1 15:05恭喜!话说RealBoard 4088的板子有现货没有?
很快就有,应该是下周初就有了。 支持!另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库) icevel 发表于 2014-8-1 15:43
支持!另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)
这个取决于这个分支维护人的情况,是否有这么多精力来做这个切换。大家也可以自己切换,然后发pull request到github上造福后来者 本帖最后由 aozima 于 2014-8-1 18:32 编辑
icevel 发表于 2014-8-1 15:43
支持!另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)
感觉还是原来的固件库要好用一些! 2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个我简单的跑个led_blinker,一阵子后就不动了,之前的版本没有问题 关注Rtthread 终于跨入2.0的时代了~ 龙芯都有支持。。。强大! good。。。 不错不错,支持一下
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中,进一步的完善? liurangzhou 发表于 2014-8-1 18:44
2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个我简单的跑个led_blinker,一阵子后 ...
你的blink代码写成什么样的?以及你的rtconfig.h配置? fengyunyu 发表于 2014-8-1 21:45
lwIP 1.4.1: 默认打开LWIP_SO_SNDTIMEO以支持连接发送超时;
lwIP 1.4.1: 修正MEMP_NUM_TCP_SEG定义错误的 ...
lwIP要用好还是需要一定的经验,目前这些修改 & 修正主要是和RT-Thread上移植相关的。选项方面,会根据我们的经验默认打开一些。 liurangzhou 发表于 2014-8-1 18:44
2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个我简单的跑个led_blinker,一阵子后 ...
估计没有执行 /* init timer system */
rt_system_timer_init();
论坛贴过通知的! RW009 模块什么地方能买得? 不错,越来越好了 ffxz 发表于 2014-8-1 23:35
你的blink代码写成什么样的?以及你的rtconfig.h配置?
可以跑一段时间;
for(;;)
{
led_toggle();
rt_thread_delay(300);
}
tick设置成1ms;我回到之前一天的版本没有一点问题 感谢ffddybz移植了lwIP的最新版本(git head),支持IPv4/v6双栈,物联网,RT-Thread来啦
https://github.com/RT-Thread/rt-thread/tree/master/components/net/lwip-head
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这块代码才是 ffxz 发表于 2014-8-27 21:11
RW009已经上架,见realthread.taobao.com
国内许多玩Wi-Fi四轴都是用原来开源的一套88W8686 Wi-Fi驱动(W ...
RV009用的是什么芯片?直接用这个芯片而不用买模块不是更好?99块的一个模块也太贵了点。 good,了解一下! 恭喜,太赞了
学习rt-thread 一直想看看,是该静下心来看看了 顶起一下,RT-tread真的好厉害,刚刚试了下1768+udp的例程 顶起~{:smile:}{:smile:} zenith1032 发表于 2014-10-17 11:45
顶起一下,RT-tread真的好厉害,刚刚试了下1768+udp的例程
试过netio测速么,我这1768的默认配置发送速度好慢啊 最近测试了一下1.03版本,发现用rt_printf输出浮点数会原样输出%f。比如rt_printf("float_val=%f\n",float_val);
打印float_val=%f 大神去哪里了?正想请教。
页:
[1]