本帖最后由 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月下旬正式发布。
下载地址:更新日志更完善的 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_POSIX_FS
- RT_USING_POSIX_DEVIO --->Enable devices as file descriptors
- RT_USING_POSIX_STDIO --->Enable standard I/O devices, e.g. STDOUT_FILENO
- RT_USING_POSIX_POLL --->Enable I/O Multiplexing poll() <poll.h>
- RT_USING_POSIX_SELECT --->Enable I/O Multiplexing select() <sys/select.h>
- RT_USING_POSIX_TERMIOS --->Enable Terminal I/O <termios.h>
- RT_USING_POSIX_AIO --->Enable Asynchronous I/O
- RT_USING_POSIX_MMAN --->Enable Memory-Mapped I/O <sys/mman.h>
- RT_USING_POSIX_DELAY
- RT_USING_POSIX_CLOCK
- RT_USING_POSIX_TIMER
- 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
|