虽然距离上次发布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 来判断添加某些头文件,则需要将这两个宏删除并细化:
1RT_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> 9RT_USING_POSIX_DELAY 10RT_USING_POSIX_CLOCK 11RT_USING_POSIX_TIMER 12RT_USING_PTHREADS 13
若代码中有 #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>
如何给RT-Thread贡献代码这里有视频教程
https://www.bilibili.com/video/BV1gr4y1w7yX
评论删除后,数据将无法恢复
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 来判断添加某些头文件,则需要将这两个宏删除并细化:
若代码中有 #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