RT-Thread 每日动态报告(2026-10-21)
调研窗口:2026-10-20 08:00 ~ 2026-10-21 08:00(北京时间,24 小时)
信源:RT-Thread 官方新闻 API、社区论坛文章接口、GitHub(org: RT-Thread 主仓库 commits / PR / Issue / Releases / tags、env 工具仓库、packages 软件包索引、rtthread-skills、smart-build、rtthread-specification、RT-Thread Studio SDK 索引、topic:rt-thread 生态检索)、Google News 聚合(中英文多组查询,走代理)、HN Algolia、行业媒体与厂商渠道核验(详见附录信源清单)
本期索引
- 一、内核与版本动态
- RISC-V 票号自旋锁改用原子加:多核争用下的活锁路径被移除(10-20)
- 同优先级线程就绪顺序修复提案:IPC 唤醒与新启动改为追加队尾(10-21)
- 串口 V1 补上接收超时事件:超时并入 RX_IND 回调(10-21)
- 二、安全与稳定性跟进
- cromfs 目录名长度未约束:ls/getdents 越界并劫持内核 PC(10-20)
- OFW 深度预检改为调试门控:维护者建议后作者加编译开关(10-20)
- tmpfs 截断缺陷在 RT-Smart 的 aarch64 上复现并被认领(10-20)
- 其余在审进展:中断应答修复待复测、IAR 隐式声明讨论继续(10-20)
- 三、官方与社区活动
- 官方新闻接口仍无新增,v5.4.0 仍无标签与发布物(10-21)
- 社区论坛新增 2 篇嵌入式大赛作品(10-20)
- 睿擎 1.8.4 发布直播定于今晚 20:00(10-21)
- 四、生态与厂商适配
- K1 BSP 支持矩阵入册:默认 8 核、SPI 与 QSPI 状态转正(10-20)
- 中文 Windows 下 scons –attach 崩溃:表情符号换 ASCII 的修复提案(10-20)
- 全志 D1s 增加 QEMU 运行脚本,维护者建议改为 target-qemu 目录(10-20)
- 组织内其余仓库本期静默,软件包与 Studio 索引无新提交(10-21)
- 五、行业应用
- 双板协同智能终端:M7 显示端跑 RT-Thread 与 LVGL,C3 作联网桥(10-20)
- Edgi-Talk 人形检测报警系统:M55 加 NPU,检测与报警本地闭环(10-20)
- 农田害虫声纹识别:AIoT 大赛获奖作品登上电子工程专辑(10-20)
- 六、总结与趋势观察
- 本期趋势
- 局限性与去重说明
一、内核与版本动态
1.1 RISC-V 票号自旋锁改用原子加:多核争用下的活锁路径被移除(10-20)
日期:2026-10-20 16:04(创建时间) 来源:PR #11904、cpuport.c
维护者 GuEe-GUI 提交 RISC-V 公共层的票号自旋锁改造(6 文件 +33/-37,两笔提交)。原实现取号与释放都在同一个 32 位字上走「加载保留加条件存储」的循环:高 16 位是待发票号、低 16 位是当前持有号;一旦解锁方在同一字上重试条件存储,取号方的保留会被反复冲掉,多核高争用下可陷入活锁。新实现把取号换成一条原子加指令,向高半字加一即完成取号,不可能与解锁争用同一保留;解锁改为只由持有者写低半字,一次半字存储完成、不再读改写整字,因此在取号并发进行时也不会覆盖新票。拿到锁后另补一次内存屏障,保证临界区访问排在观察到释放之后。提案标为成熟版本,分派给 RISC-V 内核评审。
1.2 同优先级线程就绪顺序修复提案:IPC 唤醒与新启动改为追加队尾(10-21)
日期:2026-10-21 00:06(创建时间) 来源:PR #11907、Issue #8459
社区成员 Yunlk 就就绪队列插入顺序问题开出修复(4 文件 +255/-22,含新增 utest)。原逻辑对任何没有「已让出」标志的线程都插到队首,而线程被切走时该标志会被清掉,于是从信号量等 IPC 挂起队列恢复的线程、以及新启动的线程全都插队首,同优先级线程的实际执行顺序与就绪顺序相反。提案先保存原始状态再覆盖,只有「仍在运行、且时间片未用尽被抢占」这一种情况保留队首插入,其余一律追加队尾;单核与多核两处插入分支做一致修改,并新增一个覆盖信号量唤醒与启动两条路径的用例。作者在 qemu-vexpress-a9 实测:修复前信号量唤醒顺序为乙甲、启动顺序为丁丙,修复后分别为甲乙与丙丁。提案仍在审,两个工作流待维护者批准。
1.3 串口 V1 补上接收超时事件:超时并入 RX_IND 回调(10-21)
日期:2026-10-21 00:15(创建时间) 来源:PR #11909、Issue #8143
接收超时事件(编码 0x05)在头文件里早有定义,但 V1 框架的中断处理只覆盖前四个事件且没有兜底分支,驱动发出该事件时框架什么都不做,通知被静默丢弃。仓库里恰有两个驱动依赖它切分数据帧:沁恒 CH579M 与华芯微特 SWM341 都用芯片的接收超时中断判定「一帧收完」,两者都在 V1 框架上,结果是帧边界实际丢失,只能退化成按硬件水位上报。提案把该事件并入接收指示回调:先排空硬件 FIFO,再按软件 FIFO 已缓存长度回调上层。改动仅一行分支(含注释共 5 行),未动 V2,因为 V2 头文件根本没有这个宏。作者只做到编译级验证,缺少带空闲超时中断的硬件,另提出可在伪串口设备上补用例进 CI。
二、安全与稳定性跟进
2.1 cromfs 目录名长度未约束:ls/getdents 越界并劫持内核 PC(10-20)
日期:2026-10-20 19:29(创建时间) 来源:Issue #11905
贡献者 XueDugu 新开 cromfs 缺陷单。读取目录项时对目录名长度不做任何上界检查,超长名字会把内容拷进固定大小的目录项缓冲、越过其尾部,溢出量足够改写相邻数据,ls 或读取目录即可触发,作者称可将内核程序计数器导向可控位置。缺陷由 2022-12-14 的一笔 cromfs 同步提交引入,v4.1.1 尚无此问题,自 v5.0.0 起至 v5.3.0 与当前主线全部受影响;DFS 的两份实现同源,v1 与 v2 各有一份未加约束的拷贝。作者在 QEMU vexpress-a9 上复现,单子目前未被认领。
2.2 OFW 深度预检改为调试门控:维护者建议后作者加编译开关(10-20)
日期:2026-10-20 09:11 ~ 16:03(评论时间) 来源:PR #11901、Issue #11879
上期收录的设备树深度预检提案在本窗口走完一轮评审。评审先质疑预遍历的开销,建议改用运行期检查、超限即退出并释放内存;作者回应称不完整树的释放要沿指针递归遍历,分配点零散、易漏或重复释放,而检查函数只读、不分配、不解析属性,相对展开本身开销很小。随后维护者给出方向:OFW 在设计上偏信任固件,64 层远超多数 SoC 的实际需求,建议只在调试模式下启用这段检查。作者接受,把深度检查包进调试开关,并在 qemu-virt64-aarch64 上开启调试模式、用一棵 65 层设备树复测。改动已推送,提案仍在审。
2.3 tmpfs 截断缺陷在 RT-Smart 的 aarch64 上复现并被认领(10-20)
日期:2026-10-20 22:53(复现评论) 来源:Issue #11902
上期收录的 tmpfs 截断缺陷在本窗口补上设备侧证据。社区成员在 RT-Smart 的 qemu-virt64-aarch64 板级上复现:把文件截断到 0 字节时,缓冲区被释放、函数却返回成功,应用随后读写落在已释放的内核堆上,可造成信息泄露与双重释放。复现环境为 QEMU 11.0.0 的 virt 机型加 GICv3、交叉工具链 15.2.1、DFS_V2 配置。该单已于 10-20 由另一位社区成员认领,修复补丁尚未提交。
2.4 其余在审进展:中断应答修复待复测、IAR 隐式声明讨论继续(10-20)
日期:2026-10-20(评论时间) 来源:PR #11860、PR #11864、Issue #9941、PR #10096
四条既有条目的窗口内进展。aarch64 中断控制器应答里去掉冗余挂起清除的提案(#11860)作者表示这两天再测一版陷阱处理改法,暂不合并。IAR 8.40 下日志函数隐式声明导致浮点打印错乱的提案(#11864)补充汇编层面解释:缺少原型时编译器按固定传参推导可变参数,%f 因此取错位置,评审仍要求补齐板级配置与同配置下的前后输出记录。另有两条流程核实:#9941 实测 scons --attach 在主线可用,建议关闭该需求单;#10096 确认按需编译选项仍未进主线,且提案分支严重滞后,建议先变基。
三、官方与社区活动
3.1 官方新闻接口仍无新增,v5.4.0 仍无标签与发布物(10-21)
日期:2026-10-21(核查时间) 来源:RT-Thread 官方新闻接口、releases
官方新闻接口的组织分类返回 25 条存档稿,最新仍为 2026-06-17,窗口内无新增,停更已逾四个月;官网新闻列表页为前端动态渲染,抓取只得到加载空壳,新闻数据以接口为准。版本侧无变化:最新标签与发布物仍是 09-10 的 v5.3.0,v5.4.0 只有版本宏先行,发布说明与二进制尚无踪影。产品与活动信息继续由公众号、社区论坛与 GitHub 首发。
3.2 社区论坛新增 2 篇嵌入式大赛作品(10-20)
日期:2026-10-20 08:31(发布时间) 来源:社区论坛文章接口
社区文章接口前 20 条中,窗口内新增 2 篇,发布时间同为 10-20 08:31,均为 2026 嵌入式大赛作品:一篇是基于纳芯微 NS800RT7P65 与乐鑫 ESP32-C3 的双板协同智能终端,另一篇是基于 Edgi-Talk 开发板的边缘 AI 人形检测报警系统,技术要点分别见 5.1 与 5.2。其余条目为前期作品的编辑更新或更早发布,本期不重复展开。
3.3 睿擎 1.8.4 发布直播定于今晚 20:00(10-21)
日期:2026-10-21 20:00(直播时间) 来源:电子工程专辑:基于 RC-Pi-3506 与轮毂电机的 ROS2 运动控制方案
行业媒体的一篇睿擎平台实战文末给出直播日程:睿擎 1.8.4 版本发布直播定于 10 月 21 日 20:00,将演示 EG1200 工业网关的虚拟网口与网络文件系统、旋转编码器外设、MIPI 接口的 RGB666 适配、MIPI 上电时机控制、GPIO 上下拉配置与 AMP 调试命令,均称在 RC-Pi-3506 实机验证。1.8.4 的功能清单此前已报道,本条只作日程提示。
四、生态与厂商适配
4.1 K1 BSP 支持矩阵入册:默认 8 核、SPI 与 QSPI 状态转正(10-20)
日期:2026-10-20 16:04(创建时间) 来源:PR #11904、K1 BSP 说明
与自旋锁改造同批,进迭时空 K1 的默认核数从 4 改为 8,中英文说明同步更新。仓库根目录的板级支持表新增该厂商分区,K1 一行在 GPIO、串口、ADC、I2C、SPI、看门狗、定时器、PWM、RTC、SDIO、PCI、DMA、以太网、音频、显示、加解密各列均标为支持;SPI 与 QSPI 从「已移植、验证中」改为「支持」,此前挂着的 SPI NOR 读 ID 问题随之关闭。上一期 K1 首版合入时留下了这两处待办,本窗口一并收口。
4.2 中文 Windows 下 scons –attach 崩溃:表情符号换 ASCII 的修复提案(10-20)
日期:2026-10-20 23:42(缺陷单创建) 来源:Issue #11906、PR #11908
中文 Windows(代码页 936)下执行 scons --attach 会直接抛编码异常、整条命令中止:提示语里用了两个表情符号,GBK 无法编码。该命令的三种用法都走同一个函数,等于在中文环境完全不可用;设环境变量强制 UTF-8 可绕过,但普通用户不会知道。缺陷单当天提交,同日给出修复提案,把 4 处符号换成 ASCII 标记并保留原有 ANSI 颜色,作者称与仓库其他脚本的彩色输出惯例一致。另有一条评论说明该提案的内存报告检查失败源于上游第三方 action 自身损坏,与本改动无关。
4.3 全志 D1s 增加 QEMU 运行脚本,维护者建议改为 target-qemu 目录(10-20)
日期:2026-10-20 13:45(创建时间) 来源:PR #11903
全志 D1s 的板级支持此前只能上实板。提案新增启动脚本,调用一个独立仓库里的 D1s 模拟机型(单核、64 MB 内存、两路串口、中断与定时器、两路存储控制器),复用本目录的引导固件与设备树,串口作控制台,按默认配置可完成存储初始化并进入命令行。评审未直接接受脚本形态,而是建议在板级或芯片厂商目录下建统一的目标机子目录,放启动脚本与一份面向 AI 的构建说明,使其成为可复现的验证环境;作者尚未回复。
4.4 组织内其余仓库本期静默,软件包与 Studio 索引无新提交(10-21)
日期:2026-10-21(核查时间) 来源:RT-Thread 组织仓库、packages、Studio sdk-index
组织级按推送时间核查:主仓库最近推送为 10-19,rtthread-skills 与 smart-build 停在 10-18,env 与规格仓库停在 10-17,软件包索引最近提交为 10-14(一枚芯片厂商 SDK 的索引更新),Studio 的 SDK 索引停在 10-10。工具链、软件包与 Studio 三条线本期均无新内容,与主仓库连续两日无合入的节奏一致。
五、行业应用
5.1 双板协同智能终端:M7 显示端跑 RT-Thread 与 LVGL,C3 作联网桥(10-20)
日期:2026-10-20 08:31(发布时间) 来源:社区文章:基于 NS800RT7P65 与 ESP32-C3 的双板协同智能终端
2026 嵌入式大赛作品,用两颗微控制器分工。纳芯微 NS800RT7P65(Cortex-M7,带硬件浮点)跑 RT-Thread 5.3.0 与 LVGL 9.1.0,做 3×3 桌面与 14 个应用,屏为 240×320 的驱动芯片方案,作者实测 SPI 上限 50 MHz,曾试 70 MHz 整屏花屏;16 MB 外部 NOR 挂载小文件系统,背光、调色、游戏最高分与闹钟断电不丢;旋钮接正交解码器,按键直读加软件消抖。乐鑫 ESP32-C3 作联网端,负责无线连接、时间同步、上报与本机网页升级,网页可改配置、传固件。两板只走一路串口,作者据此测算串口带宽不足以传整屏像素,故未做视频播放。
5.2 Edgi-Talk 人形检测报警系统:M55 加 NPU,检测与报警本地闭环(10-20)
日期:2026-10-20 08:31(发布时间) 来源:社区文章:基于 Edgi-Talk 的边缘 AI 人形检测报警系统
另一件大赛作品以英飞凌 PSoC E84 为平台:M55 核跑 RT-Thread 承担视频、调度与业务,M33 核管安全启动,NPU 做定点推理。摄像头经 USB 主机输出 YUYV 格式 424×240,屏幕显示 320×240,每 5 帧推理一次,输入 320×320 的八位定点,候选框最多 8 个,置信度阈值 0.45、重叠抑制 0.45;报警按连续 3 次命中确认、连续 5 次未命中解除,避免单帧误检抖动。存储写入、网络上报与音频播放各自排队,不占用视频线程,断网不影响本地检测与声光报警;系统节拍 1000 Hz,异常时降级为核心预览。
5.3 农田害虫声纹识别:AIoT 大赛获奖作品登上电子工程专辑(10-20)
日期:2026-10-20 17:30(发布时间) 来源:电子工程专辑:离线也能听虫辨害,基于 Edge Impulse 的端侧声纹识别实战
行业媒体刊出一件 RT-Thread AIoT 大赛优秀奖作品:用 Edgi-Talk 板载麦克风采集田间虫鸣,在 Edge Impulse 上做四分类(蝉、蟋蟀、噪声、未知),特征取梅尔滤波器组能量,窗口 1 秒、步长 200 毫秒、采样 16 kHz,累计样本约 2 分 15 秒,按 82 比 18 划分训练与测试,训练 100 轮后导出定点模型到端侧推理。判定为害虫即触发外接喷药,识别为噪声或未知则不动作,全程离线、不依赖云端。作者公开文档与代码。
六、总结与趋势观察
6.1 本期趋势
- 内核两条底层路径同时被修:调度器把同优先级就绪顺序拉回先来先服务,RISC-V 票号锁把取号改为单指令原子加、释放改为半字存储。前者影响执行顺序的可预期性,后者影响多核争用下的活性,两处都属长期被默认行为掩盖的问题。
- 外设事件语义开始补齐:串口 V1 终于把「接收超时等于一帧结束」接进框架,受影响的恰是两个靠空闲中断切帧的国产板级支持,说明框架层的历史缺口仍在被逐个发现。
- 缺陷发现继续由外部研究者驱动:本期 cromfs 越界单把影响面回溯到 v5.0.0,并指出 DFS 两份实现同源,这类带版本区间的报告比单点补丁更有价值,也提示 v1 与 v2 并行维护带来的重复风险。
- 厂商平台从能启动走向可交付:K1 默认开到 8 核、SPI 与 QSPI 状态转正并进入支持矩阵;D1s 补上模拟器运行路径,评审把「可复现环境」提升为目录规范与面向 AI 的说明文档,属平台化思路。
- 工具链的本地化细节进入视野:中文 Windows 下表情符号导致构建命令中止,问题小但影响面大,反映跨平台可用性测试仍是短板。
- 官方渠道继续静默:新闻接口停更逾四个月,版本发布仍停在九月,对外信息主要靠 GitHub 与社区作品,这一格局已连续两周未变。
6.2 局限性与去重说明
- 本期为 24 小时窗口(10-20 08:00 ~ 10-21 08:00),非周一,不做多日合并。
- 主仓库窗口内无合入,全部条目来自提案、缺陷单与社区侧,故「内核与版本动态」中的三节均为在审提案而非已落地改动,各条已注明状态。
- 与上期去重:设备树深度预检(#11901)与 tmpfs 截断单(#11902)本身在上期已收录,本期只写窗口内新增的评审结论与设备侧复现;中断应答(#11860)、IAR 隐式声明(#11864)、按需编译(#10096)与 attach 配置(#9941)均为更早条目,本期只记进展。
- 两件大赛作品的主控均非 RISC-V:纳芯微 NS800RT7P65 是 Cortex-M7,联网侧的乐鑫 ESP32-C3 才是 RISC-V;Edgi-Talk 为 Cortex-M55 加 M33。收录原因是 RT-Thread 应用案例与工具链实践,不作 RISC-V 适配解读。
- 组织级全量推送未能通过接口核查(匿名限额耗尽),改用仓库提交流与组织页交叉验证;Studio 的 SDK 索引经提交流确认停在 10-10。
- 论坛文章接口只取前 20 条,超出部分未核;官方新闻列表页为前端渲染,抓取只得空壳,新闻以接口为准。
- 谷歌新闻英文窗口零命中,中文三天的 2 条中 1 条为已收录稿、1 条为 10-18 旧稿;睿擎查询仍被同名汽车稿件淹没,均未产生额外条目。
附录:信源核查表
| 信源 | 核查结果 |
|---|---|
| RT-Thread 官方新闻接口(组织分类) | 无新增,25 条存档稿最新仍为 06-17,停更逾四个月 |
| 官网新闻列表页 | 前端动态渲染,抓取只得加载空壳 |
| 社区论坛文章接口 | 窗口内新增 2 篇(10-20 08:31 两篇大赛作品),已收录 |
| GitHub 主仓库 commits | 窗口内 0 笔合入,最新仍为 10-19 10:49 的 K1 首版 |
| GitHub 主仓库 PR | 窗口内 9 笔更新,其中新开 5 笔(#11903、#11904、#11907、#11908、#11909),无合入 |
| GitHub 主仓库 Issue | 新开 2 笔(#11905、#11906),另有 4 笔既有单获得评论 |
| GitHub 主仓库 releases / tags | 无新发布,最新仍为 09-10 的 v5.3.0,v5.4.0 无标签 |
| GitHub RT-Thread/packages | 窗口内无推送(最近 10-14) |
| GitHub RT-Thread Studio sdk-index | 无推送(提交流确认最近 10-10) |
| GitHub 其他组织仓库 | rtthread-skills、smart-build 停 10-18,env 与规格仓库停 10-17 |
| GitHub topic:rt-thread 生态检索 | 近一周 5 项,窗口内仅 1 项为通用图形库,非专项,未收录 |
| Google News 聚合(中文,走代理) | 三天窗口 2 条,1 条已收录、1 条为 10-18 旧稿;睿擎查询噪音为主 |
| Google News 聚合(英文) | 三天窗口零命中 |
| HN Algolia | 5 条候选均为 threads 误匹配,无相关讨论 |
| 行业媒体与厂商渠道 | 害虫声纹稿已收录;睿擎直播日程作提示 |
完整信源清单
- [1] PR #11904(RISC-V 票号锁与 K1 八核) — https://github.com/RT-Thread/rt-thread/pull/11904
- [2] libcpu/risc-v/common/cpuport.c — https://github.com/RT-Thread/rt-thread/blob/master/libcpu/risc-v/common/cpuport.c
- [3] bsp/spacemit/k1 说明 — https://github.com/RT-Thread/rt-thread/blob/master/bsp/spacemit/k1/README.md
- [4] bsp/README.md(板级支持矩阵) — https://github.com/RT-Thread/rt-thread/blob/master/bsp/README.md
- [5] PR #11907(同优先级就绪顺序) — https://github.com/RT-Thread/rt-thread/pull/11907
- [6] Issue #8459(就绪队列插入顺序) — https://github.com/RT-Thread/rt-thread/issues/8459
- [7] PR #11909(串口接收超时事件) — https://github.com/RT-Thread/rt-thread/pull/11909
- [8] Issue #8143(接收超时事件未实现) — https://github.com/RT-Thread/rt-thread/issues/8143
- [9] Issue #11905(cromfs 目录名越界) — https://github.com/RT-Thread/rt-thread/issues/11905
- [10] PR #11901(设备树深度预检) — https://github.com/RT-Thread/rt-thread/pull/11901
- [11] Issue #11879(设备树嵌套溢出) — https://github.com/RT-Thread/rt-thread/issues/11879
- [12] Issue #11902(tmpfs 截断悬空指针) — https://github.com/RT-Thread/rt-thread/issues/11902
- [13] PR #11860(aarch64 中断应答) — https://github.com/RT-Thread/rt-thread/pull/11860
- [14] PR #11864(日志函数隐式声明) — https://github.com/RT-Thread/rt-thread/pull/11864
- [15] Issue #9941(按需编译配置与构建结合) — https://github.com/RT-Thread/rt-thread/issues/9941
- [16] PR #10096(按需编译选项自动生成) — https://github.com/RT-Thread/rt-thread/pull/10096
- [17] Issue #11906(GBK 控制台编码异常) — https://github.com/RT-Thread/rt-thread/issues/11906
- [18] PR #11908(表情符号换 ASCII) — https://github.com/RT-Thread/rt-thread/pull/11908
- [19] PR #11903(全志 D1s 模拟器脚本) — https://github.com/RT-Thread/rt-thread/pull/11903
- [20] RT-Thread 官方新闻接口 — https://club.rt-thread.org/api/index/getList?type=rt_org
- [21] 社区论坛文章接口 — https://club.rt-thread.org/api/index/getList?type=article
- [22] 社区文章:双板协同智能终端 — https://club.rt-thread.org/api/index/getContent?id=ed284fe924639b32
- [23] 社区文章:Edgi-Talk 人形检测报警系统 — https://club.rt-thread.org/api/index/getContent?id=7066e68a89ad6ac5
- [24] 电子工程专辑:害虫声纹识别实战 — https://www.eet-china.com/mp/a532461.html
- [25] 电子工程专辑:轮毂电机 ROS2 方案与直播日程 — https://www.eet-china.com/mp/a531071.html
- [26] RT-Thread 主仓库 releases — https://github.com/RT-Thread/rt-thread/releases
- [27] RT-Thread 主仓库 tags — https://github.com/RT-Thread/rt-thread/tags
- [28] RT-Thread/packages 软件包索引 — https://github.com/RT-Thread/packages
- [29] RT-Thread/rtthread-skills — https://github.com/RT-Thread/rtthread-skills
- [30] RT-Thread/smart-build — https://github.com/RT-Thread/smart-build
- [31] RT-Thread/rtthread-specification — https://github.com/RT-Thread/rtthread-specification
- [32] RT-Thread/env 工具仓库 — https://github.com/RT-Thread/env
- [33] RT-Thread Studio SDK 索引 — https://github.com/RT-Thread-Studio/sdk-index
- [34] RT-Thread 组织仓库列表 — https://github.com/orgs/RT-Thread/repositories