搜索
bottom↓
回复: 30

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

[复制链接]

出0入0汤圆

发表于 2014-8-1 14:52:55 | 显示全部楼层 |阅读模式
本帖最后由 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

出0入0汤圆

 楼主| 发表于 2014-8-1 14:55:10 | 显示全部楼层
另外,还有个RT-Thread GUI及RealBoard 4088(NXP LPC4088)相关的软件包。这个会在这个月内提供出完整、配套的软件包发布。

出0入0汤圆

发表于 2014-8-1 15:05:48 来自手机 | 显示全部楼层
恭喜!话说RealBoard 4088的板子有现货没有?

出0入0汤圆

 楼主| 发表于 2014-8-1 15:10:11 | 显示全部楼层
y574924080 发表于 2014-8-1 15:05
恭喜!话说RealBoard 4088的板子有现货没有?

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

出0入0汤圆

发表于 2014-8-1 15:43:26 | 显示全部楼层
支持!  另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)

出0入0汤圆

 楼主| 发表于 2014-8-1 16:21:05 | 显示全部楼层
icevel 发表于 2014-8-1 15:43
支持!  另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)

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

出0入0汤圆

发表于 2014-8-1 18:14:01 | 显示全部楼层
本帖最后由 aozima 于 2014-8-1 18:32 编辑
icevel 发表于 2014-8-1 15:43
支持!  另外有没有把STM32的库函数更新为HAL库的打算?(CUBE库)


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

出0入0汤圆

发表于 2014-8-1 18:44:56 | 显示全部楼层
2013-10-19日提交的版本开始有问题,就是把定时改成啥O n(logn)的那个  我简单的跑个led_blinker,一阵子后就不动了,之前的版本没有问题

出0入0汤圆

发表于 2014-8-1 21:04:11 来自手机 | 显示全部楼层
关注Rtthread

出0入0汤圆

发表于 2014-8-1 21:10:55 | 显示全部楼层
终于跨入2.0的时代了~

出0入0汤圆

发表于 2014-8-1 21:19:52 | 显示全部楼层
龙芯都有支持。。。强大!

出0入0汤圆

发表于 2014-8-1 21:27:22 来自手机 | 显示全部楼层
good。。。

出0入0汤圆

发表于 2014-8-1 21:43:49 | 显示全部楼层
不错不错,支持一下

出100入101汤圆

发表于 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中,进一步的完善?

出0入0汤圆

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

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

出0入0汤圆

 楼主| 发表于 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上移植相关的。选项方面,会根据我们的经验默认打开一些。

出0入0汤圆

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

估计没有执行
  1.         /* init timer system */
  2.         rt_system_timer_init();
复制代码

论坛贴过通知的!

出0入0汤圆

发表于 2014-8-2 14:57:06 来自手机 | 显示全部楼层
RW009 模块什么地方能买得?

出0入0汤圆

发表于 2014-8-2 18:09:38 | 显示全部楼层
不错,越来越好了

出0入0汤圆

发表于 2014-8-4 19:08:11 | 显示全部楼层
ffxz 发表于 2014-8-1 23:35
你的blink代码写成什么样的?以及你的rtconfig.h配置?

可以跑一段时间;

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

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

出0入0汤圆

 楼主| 发表于 2014-8-27 21:08:41 | 显示全部楼层
感谢ffddybz移植了lwIP的最新版本(git head),支持IPv4/v6双栈,物联网,RT-Thread来啦
https://github.com/RT-Thread/rt- ... nents/net/lwip-head

出0入0汤圆

 楼主| 发表于 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这块代码才是

出0入0汤圆

发表于 2014-9-15 21:16:55 | 显示全部楼层
ffxz 发表于 2014-8-27 21:11
RW009已经上架,见realthread.taobao.com

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

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

出0入0汤圆

发表于 2014-9-19 14:04:17 | 显示全部楼层
good,了解一下!

出0入0汤圆

发表于 2014-9-27 23:53:27 | 显示全部楼层
恭喜,太赞了
学习rt-thread

出0入0汤圆

发表于 2014-9-28 06:31:41 来自手机 | 显示全部楼层
一直想看看,是该静下心来看看了

出0入0汤圆

发表于 2014-10-17 11:45:38 | 显示全部楼层
顶起一下,RT-tread真的好厉害,刚刚试了下1768+udp的例程

出0入4汤圆

发表于 2014-10-17 13:41:25 | 显示全部楼层
顶起~

出0入0汤圆

发表于 2014-11-26 13:14:49 来自手机 | 显示全部楼层
zenith1032 发表于 2014-10-17 11:45
顶起一下,RT-tread真的好厉害,刚刚试了下1768+udp的例程

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

出0入0汤圆

发表于 2014-12-12 18:19:59 | 显示全部楼层
最近测试了一下1.03版本,发现用rt_printf输出浮点数会原样输出%f。比如rt_printf("float_val=%f\n",float_val);
打印float_val=%f

出75入8汤圆

发表于 2021-12-14 18:47:19 | 显示全部楼层
大神去哪里了?正想请教。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-7-6 18:06

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

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