谷动谷力

 找回密码
 立即注册
查看: 1191|回复: 0
打印 上一主题 下一主题
收起左侧

RT-Thread v4.1.0 Beta 发布啦

[复制链接]
跳转到指定楼层
楼主
发表于 2022-2-8 22:51:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunsili 于 2022-2-8 22:55 编辑

RT-Thread v4.1.0 Beta 发布啦!!




前言
虽然距离上次发布v4.0.5的更新才刚刚过去一个月的时间,但是经过我们紧锣密鼓的准备,我们终于在农历新年第一天为大家带来了全新的 v4.1.0 Beta 版本。这是一个体验尝鲜版并非4.1.0正式发布版,包含一些重大的更新,目前处于公测阶段,欢迎大家下载体验。预计收集完反馈之后稳定的版本 v4.1.0 将会在今年3月下旬正式发布。

下载地址:
  • gitee:
    https://gitee.com/rtthread/rt-thread/repository/archive/v4.1.0-beta (国内用户推荐)
  • github:
    https://github.com/RT-Thread/rt-thread/archive/refs/tags/v4.1.0-beta.zip

更新日志
  • 更完善的 POSIX 支持(PSE51 以及 其他常用的POSIX API 支持)
  • 更完善的跨多编译器平台的支持
  • 更加稳定精简的系统内核
  • 更完善的CPP11支持(gcc、armclang 双平台支持)
  • 更完善的64位架构支持
  • 更完善的驱动框架(PM、sensor、sdio、cputime、usb)
  • 更多的原厂BSP(瑞萨、新唐、先楫、沁恒、小华半导体、东软载波...)

详细日志

https://github.com/RT-Thread/rt-thread/releases/tag/v4.1.0-beta

迁移指南
在 RT-Thread 的 v4.1.0 版本及后续的版本,移除了 dfs_poll.h, dfs_posix.h, dfs_select.h三个之前常用的头文件。并且移除了 RT_USING_LIBC,RT_USING_POSIX 两个范围较大的宏。

修改原因
该项改动的原因,是因为我们推动了 POSIX 编程接口标准化工作,方便 POSIX(例如类UNIX) 程序向 RT-Thread 迁移而无需大规模改动头文件。因此我们移除了dfs_poll.h, dfs_posix.h, dfs_select.h 这些被大量使用但带有 RT-Thread 特点的头文件;移除了模糊且开启范围过大的宏开关 RT_USING_POSIX 和 RT_USING_LIBC;细化了裁剪宏开关,使得裁剪更加精细化,在丰富功能的同时,不会导致代码体积的膨胀。用户可根据自己实际需求,精细化配置POSIX相关的功能。

产生的问题

由于历史原因,在部分软件包中,仍然有对RT_USING_LIBC,RT_USING_POSIX, dfs_poll.h, dfs_posix.h, dfs_select.h 的使用,在 RT-Thread 的 v4.1.0 版本及后续的版本中可能会出现编译失败的问题。
如果发现类似问题,请到社区论坛发帖报告,我们将及时处理

解决方案
  • 若代码中仍有 RT_USING_LIBC 与 RT_USING_POSIX 来判断添加某些头文件,则需要将这两个宏删除并细化:

  1. RT_USING_POSIX_FS
  2. RT_USING_POSIX_DEVIO     --->Enable devices as file descriptors
  3. RT_USING_POSIX_STDIO     --->Enable standard I/O devices, e.g. STDOUT_FILENO
  4. RT_USING_POSIX_POLL      --->Enable I/O Multiplexing poll() <poll.h>
  5. RT_USING_POSIX_SELECT    --->Enable I/O Multiplexing select() <sys/select.h>
  6. RT_USING_POSIX_TERMIOS   --->Enable Terminal I/O <termios.h>
  7. RT_USING_POSIX_AIO       --->Enable Asynchronous I/O
  8. RT_USING_POSIX_MMAN      --->Enable Memory-Mapped I/O <sys/mman.h>
  9. RT_USING_POSIX_DELAY
  10. RT_USING_POSIX_CLOCK
  11. RT_USING_POSIX_TIMER
  12. RT_USING_PTHREADS
复制代码

  • 若代码中有 #include <dfs_posix.h>,按照代码中,对接口的需要,视情况分别引用 dfs_file.h,unistd.h,stdio.h,sys/stat.h, sys/statfs.h。
  • 若代码中有 #include <dfs_select.h> 修改为引用 sys/select.h
  • 若代码中有 #include <dfs_poll.h> 修改为引用 poll.h

需要特殊注意的头文件

为保证跨不同编译器、不同工具链的兼容性,建议用户应用层代码:
  • 使用 <sys/time.h> 代替 <time.h>
  • 使用 <sys/errno.h> 代替 <errno.h>
  • 使用 <sys/signal.h> 代替 <signal.h>

欢迎小伙伴至论坛评论区留言!欢迎大家多多贡献代码(PR)
如何给RT-Thread贡献代码这里有视频教程
https://www.bilibili.com/video/BV1gr4y1w7yX



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-4-23 17:47 , Processed in 0.091169 second(s), 35 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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