2018年已过去一半了,让我们先默默回顾下年初的计划和目标实现的怎么样了?
RT-Thread基本上是按着既定的节奏在推进,离上一个版本发布也过去将近一个季度,在年中迎来v3.0.4版本发布,同时越来越多的开发者加入到了RT-Thread的建设中,如来一颗糖,liuguang,zhuangwei,bluebear,孙冬梅等开发者亦做出许多的贡献。
下面们主要分新版本发布和社区两块来做一个介绍。
新版本发布
RT-Thread 3.0.4版本相比RT-Thread 3.0.3版本改动不算大,一部分也是bsp的调整,主体比较大的改动部分包括:
更完善的龙芯1C BSP:在龙芯1C智龙开发板上,RT-Thread可以不再依赖pmon就运行起来了。目前龙芯1C BSP也相对健全,可以购买一套龙芯1C300开发板支持下我们国家的龙芯处理器。
更完善的i.MX RT1052 BSP驱动支持,基本上(除了camera驱动)整套驱动都齐全了;
针对GNU GCC版本以及libc功能特性的侦测,以最大程度避免GCC不同版本而带来的编译问题;
其他主要是一些周边的改动,github上的master主干也在发布v3.0.4后,开始陆续的把v3.1.0开发分支的更改合并过去;而v3.0.4会做为v3.0.x分支继续进行维护。
内核
调整rt_event_send中hook调用位置,可以更好的把事件值反映到 system view中;
修正memheap的rt_realloc问题;
修复应用模块中动态库的vstart_addr问题;
确保signal更为标准化,移除siginfo_t中的si_errno成员;
增加rt_thread_mdelay API,用于任务毫秒级延时;
组件
修正fatfs的dfs mkfs接口(RT-Thread v3.0升级过程中合并错误代码引入的);
修复dfs_net poll接口中,如果已存在接收数据,上层不能唤醒、处理的问题;
修正dfs_net中,如果lwip_socket出错返回fd的问题(Bluebear233);
如果在lwIP 2.0以下版本中使用dfs_net/socket接口将返回编译错误;
修正dfs df接口输出显示信息错误的问题;
修正audio device write出错未正确恢复中断的问题;
修正hardware timer驱动框架中单次超时的问题;
ENC28J60驱动中,增加初始化时打开link change中断;
修正ringbuffer中强制写入数据可能带来的问题;
netstat命令增加UDP信息显示;
修复了USB HS情况下发送1字节数据会造成发送两次的情况;
修改了USB Class Driver的注册机制,可以在package中向协议栈注册Class Driver;
USB Device驱动增加了对HighSpeed的支持;
增强time函数在不同编译器间的适配性;
menuconfig中增加更多针对DHCPD的配置项;
板级支持包
因为错误地使用svc来进行任务切换以及不完善的驱动支持,暂时移除Andes AE210P移植;
在全志ARM9 BSP中增加SD/MMC驱动;
在全志ARM9 BSP中增加SPI及SPI Flash驱动;
增加GD32的gd32303e-eval开发板支持;
gd32450z-eval支持GNU GCC模式编译;
重写risc-v构架的hifive1板级支持包;
针对i.MX RT1052,完成国内各家开发板支持:正点原子,野火,seeed studio;
在i.MX RT1052上,增加针对于cache接口的对接;
在i.MX RT1052上,增加I2S驱动,以及WM8960 codec的驱动支持;
在i.MX RT1052上,完善ETH驱动支持(包括对野火开发板的支持);
在i.MX RT1052上,增加Hardware Timer驱动支持;
在i.MX RT1052上,增加GPIO驱动支持;
在i.MX RT1052上,增加RTC驱动支持;
在i.MX RT1052上,完善SD/MMC驱动支持;
在i.MX RT1052上,增加SPI驱动、SPI Flash驱动(对接到SFUD组件)支持;
在i.MX RT1052上,增加USB Device驱动支持;
在LPC408x BSP中增加README文档以及KConfig文件;
在LPC5460x-LPCXpresso BSP中增加README文档;
龙芯1C BSP中加入显示控制器驱动(Sundm75);
龙芯1C BSP中加入CAN驱动(Sundm75);
龙芯1C BSP中GPIO驱动,增加(外部)中断支持(zhuangwei);
龙芯1C BSP中加入SPI自动初始化功能;
龙芯1C BSP中加入I2C驱动(Sundm75);
龙芯1C BSP中加入电阻触摸屏驱动(Sundm75);
龙芯1C BSP中更改为组件自动初始化,用户入口变为main函数(zhuangwei);
龙芯1C BSP中加入Flash自启动支持(zhuangwei);
龙芯1C BSP中增加README文档及KConfig文件,并做更多显式初始化工作(zhuangwei);
新塘NUC472 BSP中,修正init_rx_desc接收描述符初始化的问题(Bluebear233);
QEMU-VExpress-A9 BSP中增加AC97 Audio驱动;
QEMU-VExpress-A9中增加README说明文件;
stm32f4xx-HAL BSP中增加I2C驱动,增加README说明文件;
stm32f7-disco BSP中增加cache接口操作,添加README说明文件;
stm32f10x-HAL BSP中增加README说明文件;
stm32f40x BSP中增加README说明文件以及KConfig配置文件;
stm32f20x BSP中增加KConfig配置文件;
stm32f411-nucleo BSP中增加README说明文件及增加GNU GCC工具链支持;
stm32f429-apollo BSP中增加GPIO驱动以及README说明文件;
stm32f429-armfly BSP中增加KConfig配置文件;
stm32l476-nucleo BSP中增加README说明文件;
因为V2M-MPS2并不能支持32位机仿真运行,暂时移除这个BSP;
X1000 BSP中增加README说明文件及一些需要用到的固件,例如u-boot.bin等;
工具
增加GNU GCC工具链版本及libc功能特性自动侦测功能;
增加VSCode编辑器辅助的功能,bsp下支持
scons --target=vsc -s
将生成适合于VSCode使用的配置文件;增加IAR版本侦测的功能;
增加ProjectInfo(env)函数,用于获取一次编译的所有文件,所有头文件,所有宏定义,所有头文件搜索路径等;这样也方便针对各种不同的IDE工具提供更贴切的辅助功能;
社区建设
15天入门RT-Thread内核视频教程观看:https://m.weike.fm/channel/185235
RT-Thread env应用视频教程观看:http://study.163.com/course/courseMain.htm?courseId=1005280022&share=2&shareId=400000000471029
RT-Thread 快速入门实例教程
Keil下搭建RT-Thread 最小系统工程
在 RT-Thread 上使用 SystemView 分析工具
RT-Thread MicroPython 开发手册介绍
相关内容可在文档中心查看:https://www.rt-thread.org/document/site/
发布sample例程:https://www.rt-thread.org/document/site/rtthread-development-guide/samples/basic/led/README/
北京和南京沙龙圆满举行
开展了为期四周的LWIP学习营,在社区是可以看到相关的学习帖
这些是远远不够的,我们期待更多的开发者参与进来,一起建设更好的生态!如果你也希望参与RT-Thread的贡献,除了参与代码贡献,文档的贡献也是一样非常重要的工作,期待你的参与。
最后欢迎小伙伴们到RT-Thread在码云或者github仓库上了解更多细节:
https://gitee.com/rtthread/rt-thread
https://github.com/RT-Thread/rt-thread
<上面链接还请为我们点小星星,你们的小星星是我们的动力!>
本文分享自微信公众号 - RTThread物联网操作系统(RTThread)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4428324/blog/4623770