2018年6月1日星期五

RT-Thread 3.0.4 发布,国产 IoT 操作系统


Linuxeden 开源社区 --RT-Thread
RT-Thread

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://ift.tt/2xyMRrO

https://ift.tt/2sBXPHs

没有评论:

发表评论