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工具提供更贴切的辅助功能;
详情见发布公告。
下载地址:
转自 https://www.oschina.net/news/96661/rt-thread-3-0-4-released