源代码网盘下载地址:https://pan.baidu.com/s/1mgIAyWo#list/path=%2F (下拉至底部及可见RT-Thread4.0压缩包)

RT-Thread 4.0版本代码Release啦!

因为支持SMP(对称多核处理器)的缘故,RT-Thread v4.0的发布有些延期。

再包括增加对64位处理器的支持,内核的改动也比较大,应该说是自RT-Thread创建以来内核调整最大的一次。但这份改动可以让对称多核处理器运行RT-Thread时,只需要运行一份实例。当有核空闲时,则会把就绪态的任务分配到这些空闲的核上执行起来,真正做到多任务并发执行,提升整体的计算性能。

本次发布主要有以下调整:

内核:加入SMP支持和64位处理器支持;

组件:增加单元测试框架utest、轻型进程实现`components\lwp,并优化部分组件使用体验;

BSP:更新以STM32为基础的新BSP框架,使得BSP达到了对18个STM32开发板的支持;增加多个BSP:LPC54114-lite、Nuvoton-M487、嘉楠K210 、RV32M1 VEGA开发板、华芯微特SWM320、TI TMS320F28379D BSP、Synopsys DesignWare ARC EM Starter Kit等;

工具:RT-Thread ENV工具也发布了v1.1.0正式版;

开发者致谢

在此特别感谢:

HubretXie、gbcwbz、fullhan、thomasonegd、NoeXu、liruncong、Bluebear233、zhouchuanfu、nongxiaoming、WuHan、whj、XXXXzzzz000、SASANOTakayoshi、sundm75、sun_shine、andeyqi、jinsheng、e31207077、HaoZhu、dingo1688、FindYGL、whj4674672、xuzhuoyi、ZhouYanJie等开发者 以及

Synopsys、华芯微特公司对本次版本更新做出的贡献!

由于你们的积极参与,让RT-Thread用户的产品开发变得更简单!期待更多的开发者参与进来,一起建设更好的物联网生态!

以下是详细更新记录

内核

  • 加入SMP支持;

  • 加入对64位处理器支持;

  • 剥离任务RUNNING状态,即任务在CPU上运行时,状态变更为RUNNING状态,而不是延续READY状态。

组件

  • fatfs在格式化文件系统时,加入FM_SFD选项以按照SFD格式创建卷 (HubretXie)

  • struct dfs_fd中显式加入所属的file system句柄;

  • 修正当打开POSIX API时,获取stdio fd出错的问题;(gbcwbz)

  • 修正DFS中,如存在多个mount文件系统,当文件系统内判断相同路径,判断出错的问题;

  • 更改dfs中getcwd()函数以dfs_lock/unlock方式来保持互斥(取代原来以关闭调度方式保持互斥);

  • 重写finsh中listthread/list*等API,以避免在多核场景下出现多核竞争的问题;

  • 修正AIO中aio_read_work返回的aio_result问题;(fullhan)

  • 修正mmap调用中,当传入addr是空的问题;(fullhan)

  • 修正armlibc中_sys_istty函数对STDIN/STDOUT/STDERR的处理;(gbcwbz)

  • 修正newlib中_write_r函数实现对stdout的处理;

  • 增加轻型进程实现components\lwp,并添加对应的一些系统调用;

  • 修正at_socket中,当socket是空指针的bug;(thomasonegd)

  • 修正at_socket中,at_recvfrom()函数实现中select event的问题;

  • SAL中分为sal_socket_ops/sal_proto_ops,sal_proto_ops中加入gethostbyname/getaddrinfo等实现;

  • SAL中加入socket层面对TLS的支持,即上层应用也可以完全不考虑TLS而得到加密传输的支持;

  • 修正ulog_strcpy中不应该超过ULOG_LINE_BUF_SIZE长度的问题;

  • ulog中加入十六进制日志输出的宏定义;(HubretXie)

  • 加入utest组件。utest是RT-Thread上一套单元测试框架,配合外部脚本可以进行硬件终端上的自动化测试;

  • 修正drivers/audio中的一些编译警告及枚举不匹配的问题;

  • 修正drivers/can中当要关闭can设备时can_rx/can_tx未清零的问题;(Noe Xu)

  • 修复drivers/hwtimer,向下计数模式时,时间获取错误的问题;

  • 加入drivers/adc驱动框架

  • 修正tick补偿时,过早打开中断的问题;(geniusgogo)

  • drivers/serial.c中增加RT_SERIAL_USING_DMA选项;

  • drivers/spi框架中增加QSPI的支持;

  • SFUD中增加QSPI的支持(以stm32的QSPI外设为蓝本);SFUD升级到1.1.0版本;

  • 优化spi_msd中的spi take/release调用代码;

  • 修正rt_rbb_blk_alloc中对blk_size的判断;

  • 修正usb stack中,_get_descriptor函数对FS USB的判断;

  • 修正drivers/wlan中,当password是空时启动AP的问题;

  • 修正drivers/wlan中对一些错误异常返回值的处理;

  • 移除open时,dfs底层对文件重复打开的检查;

BSP

  • rt_hw_interrupt_install接口中name参数调整为const char *类型;(liruncong)

  • 提供统一的RISC-V 32/64移植层;

  • 修正BSP中Kconfig定义配置项前$警告的问题;

  • 增加LPC54114-lite开发板BSP,包括GPIO,I2C,SDCard,SPI,SPI Flash,UART等驱动;

  • 增加Nuvoton-M487 BSP,包括UART,EMAC驱动;(Bluebear233)

  • 增加嘉楠K210 BSP,RISC-V64 双核的SMP BSP,包括UART等驱动;

  • 增加RV32M1 VEGA开发板的BSP,包括GPIO,I2C,SDCard,UART等驱动;

  • 修复STM32F4XX-HAL BSP中CAN驱动的问题;(Noe Xu)

  • 修复STM32F10x BSP中UART DMA设置的问题;(zhouchuanfu)

  • 修复STM32F40x BSP中UART DMA设置的问题;(zhouchuanfu)

  • 修正STM32H743-Nucleo BSP中HEAP_BEGIN定义的问题;(nongxiaoming)

  • 修正stm32f10x-HAL中GPIO配置的问题;(Wu Han)

  • 更改stm32f107 BSP为main函数入口的方式;(whj)

  • 修复stm32f10x BSP中对串口中断处理的问题;

  • stm32f10x-HAL BSP中加入PWM、RTC、看门狗驱动;(XXXXzzzz000)

  • 修正stm32f4xx-HAL BSP中看门狗驱动的问题;(XXXXzzzz000)

  • stm32f40x/stm32f107 BSP中增加对lwIP 2.x版本的支持;

  • stm32f4xx-HAL BSP中增加对cmBacktrace软件包的支持;(Noe Xu)

  • stm32f429-apollo BSP中增加对Audio及麦克风的支持;

  • 修正x86 BSP中对dlmodule的支持;(SASANO Takayoshi)

  • 在qemu-vexpress-a9/stm32f429-atk-apollo BSP的链接脚本中增加utest的段,用于自动化测试;

  • 龙芯1C相关BSP,许可协议变更为Apache License v2;(sundm75)

  • 增加以STM32为基础的新BSP框架,在STM32 F0/F1/F4/L4/F7/H7等全系列芯片上重用芯片内外设驱动重用,同步带来整体的STM32开发板BSP大更新,BSP达到了对18个STM32开发板的支持

    • STM32F091-Nucleo 开发板 BSP

    • STM32F411-Nucleo 开发板 BSP

    • STM32L432-Nucleo 开发板 BSP;(sun_shine)

    • STM32F407-Discovery 开发板 BSP

    • STM32F446-Nucleo 开发板 BSP;(andeyqi)

    • STM32F746-Discovery 开发板 BSP;(jinsheng)

    • STM32F767-Nucleo 开发板 BSP;(e31207077)

    • STM32G071-Nucleo 开发板 BSP;

    • 正点原子 STM32F103 NANO 开发板 BSP

    • 正点原子 STM32F407 探索者开发板 BSP

    • 正点原子 STM32F429 阿波罗开发板 BSP

    • 正点原子 STM32F767 阿波罗开发板 BSP

    • 正点原子 STM32L475 潘多拉 IoT 开发板 BSP

    • *火 STM32F103 霸道开发板 BSP

    • *火 STM32F429 挑战者开发板 BSP

    • *火 STM32F767 挑战者开发板 BSP;(Hao Zhu)

    • 安富莱 STM32F429-v6 开发板 BSP

    • 硬石 STM32F103 iBox 开发板 BSP;(dingo1688)

    • 德飞莱 STM32F103 开发板;(FindYGL)

    • STM32F107 μC/Eval 开发板 BSP;(whj4674672)

    • 在这个过程中也得到社区开发者的大力支持,特别是HubretXie,Hao Zhu,e190等对stm32公共驱动的完善;

  • 增加华芯微特 SWM320 BSP,包括GPIO,HW Timer,I2C,看门狗,PWM,RTC,SPI,UART等驱动;(由华芯微特提供BSP并进行维护)

  • 增加TI TMS320F28379D BSP,RT-Thread上支持的第一个DSP芯片;(xuzhuoyi)

  • 修正X1000中USB驱动问题;(ZhouYanJie)

  • 增加Synopsys DesignWare ARC EM Starter Kit BSP,bsp/synopsys/emsk_em9d,EM9D核,包括GPIO、UART等驱动;(由Synopsys提供BSP并进行维护)

工具

  • 当工具链不存在时,给出更好的提示信息;

  • 增加初步的Segger Embedded Studio工程文件生成命令,注意:SES中携带的工具链比较特殊,libc并不是newlib

  • 修正IAR下用scons命令行编译的库链接问题;

  • 修正scons在有些工程转换中,未加入BSP路径的问题;

  • 增加scons --pyconfig-silent命令,用于添加部分配置,从新生成.config及rtconfig.h;

  • 更新scons --dist命令,以更好的适配新的BSP框架;

  • 修正mkromfs.py脚本,当romfs中包含空文件,空文件夹时不生成对应代码;

  • 修正utils.py中工具链版本字符串比较的问题;

  • ENV 更新到v1.1.0版本(下载更新:https://pan.baidu.com/s/1cg28rk)

    • 增加开启提示信息,提高用户体验

    • 优化关键的提示信息

    • 添加 system32 路径环境变量,避免用户出现 cmd 命令找不到的情况

    • 添加 PYTHONHOME 环境变量,避免出现 PYTHON 环境变量的问题

RT-Thread4.0正式发布了,还支持SMP (内附源代码下载地址)相关推荐

  1. WIN7支持的node 14版本下载地址

    最近在学习react的时候,遇到的问题 react支持的node版本是14以上,但是电脑用的win7系统,又不好换系统的,到处巡逻帮助最终解决了这个问题.现将这个方法分享出来 ,让还在使用win7系统 ...

  2. oracle9i 9.2.0.10,Oracle 9i和10G软件及补丁下载地址

    关键字: oracle 9.2.0.4  = 3095277 9.2.0.5  = 3501955 9.2.0.6  = 3948480 9.2.0.7  = 4163445 9.2.0.8  = 4 ...

  3. 前端框架 Angular 11.0.0 正式发布,不再支持 IE 9 、10

    前端框架 Angular 11.0.0 正式发布. Angular 11.0.0 将 TypeScript 升级到 4.0, 对 TypeScript 3.9 不再支持. 放弃了对 IE 9 .10 ...

  4. android 6.0 tv,最强安卓机顶盒Shield TV升级安卓6.0系统,还支持了Vulkan

    拼 命 加 载 中 ... NVIDIA的Shied TV机顶盒使用了Tegra X1处理器,论性能的话应该是安卓TV阵营第一了.今年初的CES展会上,NVIDIA宣布Shield TV将迎来3.0 ...

  5. 择云关键词查询工具2023 v3.0 正式发布了 (支持批量查询百度指数)

    这是一款能够批量挖掘大量关键词的工具,实时挖掘速度业界第一!!! 软件介绍: 择云关键词查询工具2023 V3.0是针对站长,企业营销人员,及SEO人士的一款的关键词快速挖掘工具,能够帮助用户快速查询 ...

  6. matlab7.0下载 win7,matlab7.0安装 win7系统详细使用方法附软件下载

    Win7下MATLAB 7.0下载地址和详细安装(含下载地址) Win7下MATLAB 7.0下载地址和详细安装(含下载地址) MATLAB 7.0下载地址:百度网盘下载地址:?shareid=414 ...

  7. matlab win7安装教程视频,matlab7.0安装 win7系统详细使用方法附软件下载 - 电脑教程...

    MATLAB 7.0下载地址: 百度网盘下载地址:http://pan.baidu.com/share/link?shareid=414204&uk=2769186556 迅雷快传下载地址:h ...

  8. 官方scratch3.0正式发布,全面支持移动设备在线编程!

    Scratch3.0介绍 Scratch融合卡通.动画.音效等多媒体的运用和直观拖拽式的编程方式,生动有趣,可以编写各种类型程序,游戏.动画.互动美术.实物模拟.数学模拟等,想象无限.同时蕴含丰富知识 ...

  9. Flutter 3.0正式发布:稳定支持6大平台,字节跳动是主要用户

    来源:infoq 编译|核子可乐.燕珊 5 月 12 日,Flutter 3.0 在 Google I/O 开发者大会正式亮相,随着 3.0 版本的发布,Flutter 开发框架终于可以支持六大平台, ...

最新文章

  1. 结构化数据和非结构化数据的区别_中国天辰携手爱数AnyShare,共同探索非结构化数据治理...
  2. 每天一个linux命令(15):tail 命令
  3. linux编译mmc驱动,Embeded linux之MMC驱动
  4. Tachyon更名为 Alluxio,并发布1.0版本
  5. flowable实战(四)flowable任务实例管理接口
  6. Mark Cuban投资组合中60%为BTC,30%为ETH
  7. Flex样式工作原理
  8. python函数参数传递切片_将DataFrame切片作为参数传递给函数而不使用“SettingWithCopyWarning”...
  9. 如何禁止chrome浏览器的缓冲图片以及css等资源文件
  10. 如何格式化基于 Intel 的 Mac?
  11. 基于M.2接口的SATA3协议和PCIE协议的SSD接口定义
  12. 从省市级到区县级,Power BI topoJSON 中国行政区划地图都在这了
  13. 区块链相关技术学习总结(1)——区块链以及区块链技术入门详解
  14. 燕东微通过注册:预计年营收超20亿 亦庄国投与京东方是股东
  15. 2017 寒假作业 (一) 随笔
  16. 临床血液学综合练习题库【1】
  17. 数仓存在的意义价值及分层的好处
  18. java 获取叶子节点个数_数据结构编程: 统计二叉树中叶子结点的个数。
  19. 原来Oracle也不喜欢“蜀黍(r6笔记第54天)
  20. Vbox虚拟机开机自启动配置

热门文章

  1. Vue(七)SPA 单页面及应用方式
  2. 基于jquery的秒表倒计时
  3. 【嵌入式中的C】寄存器清零和置位操作
  4. pygame_2D射击小游戏
  5. VS LINK : fatal error LNK1104: 无法打开文件.exe
  6. SAR 101:合成孔径雷达简介
  7. Ubuntu双网卡上网问题
  8. php 卡券营销源代码_PHP生成唯一的促销/优惠/折扣码(附源码)
  9. 【翻译】Kubernetes的未来--以及为什么开发人员在2022年应该超越Kubernetes的目光...
  10. python中 对于java的或和and符号