Отчётный период: с 26 октября 2026 г. (понедельник) по 30 октября 2026 г. (пятница), 5 рабочих дней, 5 выпусков ежедневного отчёта; дополнительно включает проверку потока коммитов основного репозитория, очередей предложений и дефектов, страницы релизов и страницы тегов в день публикации (31 октября), охватывающую завершающие изменения с 30.10 08:00 до 31.10 17:00 Источники материалов: 5 выпусков ежедневного отчёта о динамике RT-Thread данного издания (26.10, 27.10, 28.10, 29.10, 30.10), суммарное эффективное окно мониторинга с 23.10 08:00 до 30.10 08:00 (выпуск понедельника — 72-часовое окно с учётом выходных); проверка дня публикации основана на фактических замерах GitHub API основного репозитория и репозиториев организаций Пояснение к составлению: охватывает пять измерений — ядро и версии, безопасность и стабильность, экосистема и адаптация производителей, официальные и общественные мероприятия, отраслевые применения; факты и даты в основном тексте постатейно взяты из оригинальных текстов ежедневных отчётов соответствующего периода; записи, дополнительно внесённые в день публикации, отмечены отдельно со способом проверки


1. Главные новости недели

  • RT-Thread Smart после десятидневной очереди был внедрён централизованно в один день, а через семь с половиной часов снова убран из конфигурации по умолчанию (29.10): предложение #11896, созданное 18 октября, было влито в 09:29, включив RT-Thread Smart для qemu-virt64-riscv и qemu-virt64-aarch64: 14 файлов, +1263/-1075, 14 коммитов; добавлен файл applications/mnt.c, монтирующий virtio-blk0 как корневой каталог и монтирующий ptyfs и procfs; в 14:48 и 14:50 последовательно внедрены предложение о совместимости терминала #11890 и предложение о разделении системных вызовов lwp #11894; в 16:59 предложение #11942 вновь полностью восстановило конфигурацию по умолчанию обоих BSP до стандартного ядра (7 файлов, +51/-220), и Smart перешёл на отдельный запуск через конфигурационный слой переопределения utest. В один и тот же день выполнены «включение — проверка — отзыв», что по сути является определением места Smart со стороны сопровождающих: конфигурация по умолчанию остаётся предсказуемой, а Smart идёт через отдельный слой переопределения.

  • Границы пользовательских указателей ioctl в RT-Smart дали четыре сообщения подряд, от терминала до блочных устройств, каналов и почтовых ящиков (28.10 ~ 31.10): #11937 от 28.10 указал, что при портировании подсистемы терминала была утрачена предпосылка copyin из FreeBSD, и непривилегированный процесс с помощью open и ioctl может читать и записывать произвольную память ядра; #11952 от 29.10 повторил ту же форму на стороне блочных устройств: 24-байтовая таблица разделов записывается по указанному вызывающим адресу в ядре; #11958 от 30.10 затрагивает POSIX-каналы, где FIONREAD и FIONWRITE напрямую записывают длину кольцевого буфера в непроверенный пользовательский указатель; #11960 от 31.10 поднимается до почтовых ящиков: sys_mb_send() принимает указатель, заданный пользователем, за объект ядра и напрямую его пересылает, что может составить произвольное чтение и запись в ядре. Общая причина всех четырёх — адаптационный слой ioctl в RT-Smart по умолчанию считает, что «параметр уже является адресом ядра», тогда как точка входа пользовательского режима не выполняет это преобразование. Предложение об исправлении на стороне терминала #11941 было подано вечером 28.10 (6 файлов, +577/-52), для остальных трёх мест соответствующих исправлений пока нет.

  • В основной ветке 21 коммит и 16 предложений, ритм — «сначала остановка, затем централизованная расчистка накопившегося» (25.10 ~ 30.10): за неделю в master всего влито 21 коммит и 16 предложений, распределение: 25.10 — один, 26.10 — ноль, 27.10 — четыре, 28.10 — семь, 29.10 — семь, 30.10 — два. Среди влитых с 27.10 по 29.10 значительная доля — накопившиеся предложения, задержанные более чем на девять дней: у четырёх коммитов 27.10 время автора — 18.10, группа Smart от 29.10 также создана 18.10. Это едино по происхождению с выводом прошлой недели о «трёхдневном молчании и трёхчасовом завершении»: результаты со стороны разработки внедряются разово после прохождения ревью, а не продвигаются равномерно каждый день.

  • Автомобильный TriCore (AURIX) вошёл в Env SDK по принципу «сначала инструментальная цепочка» (26.10): два предложения RT-Thread/sdk были последовательно влиты: tricore-gcc v13.4.1 (GCC 13.4.1, binutils 2.40, newlib, GDB 14.0, охватывает три поколения чипов TC2xx/TC3xx/TC4xx) и qemu-tricore v1.0.0 (QEMU 10.2.94, поддерживает три модели TC277, TC397B и TC4D7), выпущенные соответственно в v1.12 и v1.13 toolchains-ci. Следует различать: это лишь путь компиляции и эмуляции; в существующих 19 архитектурах libcpu основного репозитория нет tricore, в bsp также нет каталога плат AURIX, а те попытки около 2020 года, опиравшиеся на коммерческую инструментальную цепочку TASKING, все закрыты. По сравнению со старым путём этот шаг сначала решил вопросы «можно компилировать, можно запускать, можно отлаживать».

  • Отложенное более чем на три месяца тестовое предложение было слито четырьмя коммитами за один раз, тестовая инфраструктура подверглась массовой доработке (10-28): созданный 9 июля #11601 был слит 10-28 в 14:44, принеся исправление сводной статистики utest (последующие прохождения unit больше не стирают число неудач предыдущих testcase), отвязку тест-кейсов netdev от публичных зависимостей от 8.8.8.8 и Baidu, исключение signal 0 из установки под musl, а также две правки clang-format. Все три класса проблем относятся к обратному риску «тест прошёл неверно, но отчёт говорит, что всё в порядке»; только после исправления вердикт CI становится достоверным. В связке с этим 10-29 #11942 переписал логику выбора конфигурации utest_auto_run, заменив «перезапись целым git checkout» на добавление одной строки в .config для отключения переключателя.

  • Подсистема времени за одну ночь выдала четыре заявки, два исправления переведены в состояние, готовое к слиянию (10-23 ~ 10-26): один и тот же исследователь последовательно сообщил в ctime.c о сужении long-типа в settimeofday() (под ILP32 легитимные временные метки вроде 2040-01-01 усекаются в отрицательные и отвергаются), о выводе недопустимых полей gmtime_r() для отрицательных временных меток (-1 даёт 1970-01-01 00:00:-1), об усечении до 32 бит в timer_gettime(), а также представил исследовательскую заявку по временной базовой линии с шестью рабочими пунктами от A до F. Предложения об исправлении #11928 (+185/-135) и #11929 (+104/-9) 10-26 оба получили отметку «зрелая версия, можно сливать», но на этой неделе слиты не были. 10-29 дополнительно выявлено, что timer_settime() использует 32-битную переменную для результата порядка 1e13, из-за чего 10-секундный таймер фактически взводится примерно на 21 час (#11938, +142/-5).

  • Номер версии поднят до состояния разработки 5.4.0, в тот же день представлены два документа по институционализации управления версиями и процесса релиза (10-29 ~ 10-30): 10-29 #11942 поднял RT_VER_NUM с 0x50301 до 0x50400, основная ветка официально вошла в состояние разработки 5.4.0; однако разделы releases и tags по-прежнему стоят на v5.3.0 от 09-10, без предрелизных тегов и бинарников. 10-30 появились два сопутствующих документа: заявка на дефект #11956 предлагает создать CI управления версиями и процесс релиза (ежемесячный отчёт линии Z с ручным утверждением, линия Y каждые 3–6 месяцев с привязкой к проверке на оборудовании, две группы рабочих пунктов с B01 по B05 и с C01 по C08), предложение #11955 дополняет документацию по версиям основного конвейера и процессу релиза. Это редкий на этой неделе сигнал со стороны «процесса», и стоит в следующем выпуске проверить, воплотился ли он в код.

  • Со стороны вендоров по-прежнему предложения идут впереди: второй этап RA6W1 реализован, крупнообъёмные предложения Allwinner и ESP32-S3 продолжают отлёживаться в очереди (10-26 ~ 10-30): предложение #11934 для Renesas RA6W1 было слито 10-28 в 18:52, добавляет 24 вектора прерываний со стороны Wi-Fi и переименовывает два криптографических входа таблицы символов ROM с префиксом __rom_. Предложения #11877 для Allwinner F101 YuzukiNeko и H616 (172 файла, +35428/-6) и #11844 для ESP32-S3-DevKitM-1 (после обновления 10-28 накоплено +295371/-22825) всё ещё в очереди; последнее с момента создания 9-28 насчитывает уже месяц, и внимание рецензентов сосредоточено на включении вендорского SDK целиком и условиях лицензирования, а не только на работоспособности функций.


2. Ядро и динамика версий

Версии и основная ветка

Дата: 2026-10-26 ~ 2026-10-31 Источник: страница releases основного репозитория

  • Официальные версии: на этой неделе по-прежнему нет новых Release и тегов, последний опубликованный артефакт — v5.3.0 от 09-10. С 10-17 у v5.4.0 есть только макрос версии; 10-29 #11942 поднял RT_VER_NUM до 0x50400, после чего по-прежнему нет ни описания релиза, ни бинарников, ни предрелизных тегов. Весь текст излагается в формулировке «номер версии уже вошёл в состояние разработки 5.4.0, релиз ещё не состоялся».
  • Коммиты основной ветки: на этой неделе в master всего 21 коммит, слито 16 предложений; на уровне организации дополнительно два коммита в RT-Thread/sdk (инструментальная цепочка TriCore и эмулятор QEMU), один в RT-Thread-packages (конфигурация ai/Agent), один в pkgs-test (блокировка параллелизма тестов пакетов STM32).
  • Характер ритма: в понедельник ноль коммитов, во вторник четыре, в среду более пяти, в четверг семь, в пятницу два — типичное массовое закрытие накопившихся предложений; слияния сосредоточены в вечерние часы (19:20–19:26, 14:44, 09:29–16:59) и обрабатывались одним и тем же мейнтейнером.
  • Проверка дня релиза (10-30 – 10-31): в основной репозиторий легли ещё два коммита (#11915 исправление глобальных переменных dlmodule, #11936 фиксация clang-format 22.1.8 и полное форматирование), конечное состояние releases и tags совпадает с ежедневным отчётом пятницы, новых версий нет.

Список слияний на этой неделе (21 коммит / 16 предложений)

Дата: 2026-10-25 ~ 2026-10-30 Источник: поток коммитов master основного репозитория

Дата Коммиты Содержание
10-25 1 коммит lwIP loopback netdev (#11893, 3 файла, +54/-0, добавлен переключатель loopback-интерфейса)
10-26 0 коммитов За 24 часа коммитов нет, 13 предложений в очереди
10-27 4 коммита UTIME_OMIT в dfs (#11885), белый список протоколов RAW socket в SAL (#11888), poll переведён на получение fops из dfs_file (#11887), 8250 earlycon читает reg-io-width (#11889)
10-28 7 коммитов Четыре коммита utest (#11601), удаление записи FAL из MAINTAINERS (#11939), таблица векторов RA6W1 (#11934), границы опций DHCP raw (#11940)
10-29 7 коммитов Включение Smart в qemu-virt64 (#11896), статистика ping (#11900), TIOCLINUX и окно по умолчанию (#11890, два коммита), разделение lwp (#11894, два коммита), восстановление стандартной конфигурации ядра по умолчанию (#11942)
10-30 2 коммита Неинициализированные глобальные переменные в dlmodule (#11915), фиксация версии clang-format 22.1.8 и полное форматирование (#11936, 75 файлов)
  • lwIP loopback (10-25): Ранее loopback-интерфейс lwIP не регистрировался как netdev, инструменты, работающие через 127.0.0.1, не запускались, а сетевым пространствам имён без физического канала не хватало интерфейса по умолчанию. Изменение добавляет переключатель loopback-интерфейса, регистрирует lo/lo0 как netdev и устанавливает link up, а при неуказанном интерфейсе выбирает loopback в качестве интерфейса по умолчанию. Этот коммит является предварительной зависимостью для последующего включения Smart в qemu-virt64.
  • Четыре пограничных исправления 10-27: Условие ветки UTIME_OMIT было инвертировано, и метка времени, которую вызывающая сторона явно требовала не трогать, перезаписывалась; RAW socket ранее пропускал только IPPROTO_RAW, из-за чего сценарии нативных сокетов, таких как ICMP, не работали, теперь используется проверка по белому списку; poll в DFSv2 получал из vnode другую структуру fops, теперь разрешение идёт через dfs_file с сохранением совместимого пути DFSv1; earlycon не учитывал разрядность из дерева устройств, и для платформ с широкими регистрами появилось единое решение проблемы смещения и искажения ранних логов. Всего четыре коммита добавляют 46 строк и удаляют 6, время author у трёх коммитов — 10-18.
  • Группа Smart 10-29: См. «Наблюдение за очередью ревью» этой главы и первый пункт первой главы.
  • Два коммита 10-30: Исправление неинициализированных глобальных переменных в dlmodule находилось в очереди с 10-24 (#11915) и было влито утром в пятницу на этой неделе; фиксация версии clang-format 22.1.8 и форматирование всего исходного кода ядра (#11936) — завершающий шаг по применению уточнённых правил, влитых 10-23, ко всему коду, затрагивает 75 файлов.

Безопасность и дефекты

Дата: 2026-10-23 ~ 2026-10-31 Источник: Issue #11960

  • На этой неделе открыто 16 новых заявок, более десяти из них — по безопасности. По семействам выделяются три линии: семантика времени и libc (#11922 сужение settimeofday, #11923 отрицательная временная метка в gmtime_r, #11924 усечение timer_gettime, #11925 переполнение счётчика sys_poll, #11927 исследование базовой линии времени), границы RT-Smart (#11932 использование после освобождения в связном списке потоков musl, #11933 выход за границы глобального счётчика signalfd, #11937 ioctl терминала, #11952 ioctl блочного устройства, #11958 ioctl канала, #11960 указатель объекта почтового ящика), проверка параметров драйверов (#11948 Bluetrum AB32, #11949 Bouffalo, #11951 выход за границы канала АЦП у трёх производителей HPM, а также #11950 деление на ноль в DM365 SPI). Кроме того, #11956 — функциональная заявка по процессу управления версиями.
  • Линия границ RT-Smart — самая тяжёлая: терминал, блочное устройство, канал и почтовый ящик имеют совершенно одинаковую форму — слой адаптации использует пользовательский указатель как адрес ядра. Заявка по почтовому ящику — самая серьёзная: sys_mb_send() пересылает без какой-либо проверки, злоумышленник может сконструировать поддельный объект, и диапазон чтения-записи больше не ограничен значениями. Затронутые версии всех четырёх заявок восходят к синхронизирующему коммиту RT-Smart ecf2d821 от 2022-12-03, первая затронутая версия — v5.0.0, в список входят v5.3.0 и текущий master, воспроизводится на QEMU.
  • Закрыто в течение недели: выход за границы чтения raw-опций DHCP в #11913 исправлен влитым 10-28 #11940 (+23/-5, 12 регрессионных тестов ASAN на стороне хоста); неинициализированная глобальная переменная dlmodule в #11915 влита 10-30 в 10:54; для выхода за границы signalfd в #11933 на следующий день после открытия заявки получено предложение об исправлении #11935 (+41 строка, переход к поиску слота с верхней границей по контексту, в пути закрытия добавлена отвязка слушателя); первая половина #11925 отправлена в #11954 (+28 строк) 10-30, sys_poll() на 32-битной платформе напрямую отклоняет счётчик «переполнения числа байт».
  • Всё ещё в очереди или без исполнителя: #11878 (бесконечный цикл при исчерпании пула аренды lwip-dhcpd), #11905 (выход за границы имени каталога cromfs), #11917 (выход за границы записи NFS), #11919 (утечка кучи NVMe, предложение об исправлении #11920 не влито), #11902 и #11910 (использование после усечения tmpfs, исправление в #11910), #11918 (сходимость длины 9PFS), #11901 (ограничение глубины FDT), #11931 (ошибочная очистка rx_indicate последовательного порта), #11932 (связный список потоков musl), а также четыре новые заявки #11937, #11952, #11958, #11960 (для #11937 есть предложение #11941, #11938 исправляет вызванное им усечение таймера).

Наблюдение за очередью ревью

Дата: 2026-10-26 ~ 2026-10-31 Источник: список предложений основного репозитория

  • Пакет Smart продвигается двумя частями: из шести коммитов, созданных 10-18, #11890, #11894, #11896 и #11900 уже приняты 10-29; #11892 (MMU и обработка страничных ошибок в пользовательском режиме на стороне RISC-V, 4 файла +105/-8) и #11897 (добавление поддержки K230D для K230) всё ещё в очереди. Содержание первого — выбор архитектуры XuanTie и опция SVPBMT, преобразование раннего указателя таблицы страниц по физическому смещению ядра, при необработанной пользовательской страничной ошибке завершается только текущий LWP без обрушения ядра; второй касается реальной платы и ожидает подтверждения со стороны оборудования. Закономерность: «сначала сливается то, что можно проверить в QEMU, потом то, что зависит от реального железа».
  • Крупная поддержка нового оборудования на рассмотрении: #11944 драйвер Ethernet Realtek RTL8125 (добавлено 1934 строки, охватывает нативный PCI, DMA кольца дескрипторов, автосогласование 10/100/1000/2500M, программную контрольную сумму lwIP, опциональные PTP и PPS); #11943 дисплей и аудио для RK3588 и RK3528 (36 файлов, +5483/-391, включая контроллер HDMI и HDPTX PHY, маршрутизацию VOP2, SAI и тактирование аудиокодека); #11959 скрипт компоновки промышленного Ethernet для NXP RT1180 (20 файлов, +7499/-18, CM33 работает на внутричиповой RAM, CM7 — XIP из Flash). Все три относятся к «массовому входу крупного класса оборудования», цикл ревью обычно измеряется неделями.
  • Инструменты и документация: #11930 поднимает __RT_KERNEL_SOURCE__ в глобальные CPPDEFINES группы Kernel, устраняя 24 предупреждения о неявном объявлении rt_sched_* в экспортируемых проектах Studio; #11953 исправляет проблему, когда rt_sprintf() при включённом libc vsnprintf передаёт (size_t)-1 в libc, из-за чего не записывается ни один байт (+11 строк, переход на vsprintf()); #11961 инициализирует статический TLS для нативных потоков (6 файлов, +189/-3, AArch64 восстанавливает TPIDR_EL0 при каждом переключении контекста, RISC-V включает только в S-режиме с MMU).
  • Долго висящие элементы: #11844 (BSP ESP32-S3) после обновления достиг объёма +295371/-22825, с момента создания 9-28 прошёл месяц, фокус ревью — целостный SDK и лицензия; #10096 (компиляция по требованию) рекомендовано сначала перебазировать; #11860 (подтверждение прерываний aarch64), #11864 (неявные объявления IAR) всё ещё дополняют записи тестов. Кроме того, #11947 (неограниченный цикл при исчерпании пула raw-адресов DHCP) небольшой по изменениям (+17/-4), но приложены сравнительные тесты 3586 комбинаций размера пула и битовой карты занятости и результаты ASAN — интенсивность проверки наивысшая в очереди этой недели.

3. Экосистема и адаптация производителей

BSP и драйверы производителей

Дата: 2026-10-26 ~ 2026-10-30 Источник: PR #11896

  • Infineon TriCore (AURIX): в Env SDK добавлены два пакета — tricore-gcc 13.4.1 и qemu-tricore 1.0.0, охватывающие TC2xx/TC3xx/TC4xx. В upstream инструментальной цепочки используется NoMore201/tricore-gcc-toolchain (downstream от EEESlab 11.3.0); в Windows-пакет добавлена libwinpthread-1.dll, пропущенная upstream; эмулятор реализует только последовательный порт ASCLIN0, STM, маршрутизацию IR-прерываний, SCU и тактирование, мост SFR и отображение RAM/Flash; CAN, Ethernet, ADC, GPIO, DMA отсутствуют — этого достаточно для запуска ядра и последовательной оболочки, но недостаточно для проверки драйверов периферии.
  • Renesas: в таблицу векторов rafw_gen для RA6W1-EK добавлены 24 точки входа прерываний со стороны Wi-Fi (KDMA, TDES CBC, PSK SHA1, захват SYSPLL и FPLL, полная группа интерфейсов RTC, MRM и D-cache MRM, CryptoCell-312, HSU, MAC-таймеры/приём/передача/протокол/общий/beacon, radio controller); все объявлены как weak-обработчики и подключены к таблице векторов, одновременно два crypto-входа в таблице ROM-символов переименованы с префиксом __rom_ во избежание конфликта имён с RAM-стороной.
  • Allwinner: предложения BSP для F101 YuzukiNeko и H616 (#11877, 172 файла, +35428/-6) всё ещё в очереди; на стороне F101 добавлены набор драйверов модели устройств Sun252i и бэкенды дисплея Sunxi DE0/TCON0 (RGB, LVDS, MIPI-DSI), на стороне H616 — другой набор драйверов и новая поддержка регулятора напряжения AXP313A; скрипт запуска QEMU для D1s (#11903, 4 файла, +145) также на рассмотрении, рецензенты предлагают перейти к единому подкаталогу целевой машины.
  • Espressif: завершение адаптации ESP-IDF v6.1 пришлось на сторону пакетов — предложение в основном репозитории #11926 закрыто 10-26 в 11:37, предложение в репозитории пакетов #19 (fix(scons): prioritize RT-Thread FreeRTOS headers) влито в тот же день в 09:15, приоритет заголовочных файлов решён на уровне SCons-скрипта; поддержка платы ESP32-S3-DevKitM-1 (#11844) всё ещё ожидает рецензии. Нужно различать ядра: ESP32-S3 — это Xtensa, а C3/C6 — только RISC-V.
  • STMicroelectronics: предложение OSPI и OctaFlash (#11912, 32 файла) на уровне компонентов добавляет определения шины OSPI, устройств и сообщений, подключается к SFUD и охватывает чтение, запись, стирание и запрос состояния, дополнительно вводит универсальный драйвер STM32 OctoSPI и конфигурацию платы stm32l4r9-st-eval, что позволяет SFUD работать в режимах 1-1-1 и 8-8-8; #11819 единовременно добавляет набор callback-функций ops Ethernet для STM32, поддержку PHY SR8201F и снижает уровень логирования ADC по умолчанию с засорения вывода до DBG_WARNING.
  • NXP: предложение по скрипту компоновки промышленного Ethernet для RT1180 (#11959) добавляет для CM33 и CM7 конфигурации распределённой загрузки Keil (.scf) и конфигурационные файлы IAR (.icf), а также соответствующие target в Kconfig, rtconfig.py и шаблонах.

Пакеты и промежуточное ПО

Дата: 2026-10-23 ~ 2026-10-26 Источник: RT-Thread-packages/esp-idf PR #19

  • Пакет ai/Agent: одна правка Kconfig +32/-4, модель по умолчанию изменена с DeepSeek-V4-Pro на deepseek-flash, конечная точка сервиса по умолчанию изменена с сторонней агрегирующей платформы на официальный API DeepSeek; добавлены переключатель распознавания речи (STT) и адрес файлового сервера, описание мультимодальности расширено с «изображения/файлы» до «изображения/файлы/аудио». В работах конкурса сообщества той же недели пакет agent регистрирует подписку MQTT, отписку и запрос истории как инструменты для планирования ядром — обе вещи указывают на один и тот же способ применения: использование RTOS как среды выполнения agent.
  • Пакет esp-idf: проблема порядка заголовочных файлов после полного обновления до v6.1 исправлена на уровне SCons, #include_next больше не разрешается в поставляемые ESP-IDF заголовки FreeRTOS V11, значения по умолчанию, предоставляемые Wrapper, такие как configNUMBER_OF_CORES, configMINIMAL_STACK_SIZE, больше не теряются.
  • pkgs-test: блокировка параллелизма тестирования пакетов STM32 поднята в __build(), обновление зависимостей и компиляция попадают в одну критическую секцию, что предотвращает прерывание Git при одновременном git pull нескольких задач в один каталог HAL и ошибочную регистрацию как compile failure.

Инструментальная цепочка и среда разработки

Дата: 2026-10-26 ~ 2026-10-30 Источник: vscode-rt-smart PR #38

  • vscode-rt-smart 0.4.14 (объединён 26.10 в 22:35): 49 файлов, +883/-4826 — за один раз удалено почти пять тысяч строк. Четыре функциональных блока — представление Kconfig, менеджер SDK, настройки инструментальной цепочки и анализ символов — удалены целиком; парсеры ELF и DWARF (в сумме около 887 строк) и 291 строка документации по настройкам также убраны; представление RT-Thread Setting сужено до установки, обновления и отображения состояния Env, добавлены встроенный браузер редактора и обработка URI через code --open-url. По позиционированию — отход от роли «замены IDE» обратно к «точке входа Env плюс встроенный браузер».
  • Генератор проектов Eclipse (#11930): LOCAL_CPPDEFINES не попадают в сгенерированный rtconfig_preinc.h, из-за чего сборка в Studio выдаёт 24 предупреждения о неявных объявлениях; исправление заключается в переносе макросов в глобальные CPPDEFINES — затронут только скрипт генерации проекта, исходный код ядра не меняется.
  • klibc (#11953): после включения vsnprintf с делегированием libc функция rt_sprintf() передаёт (size_t)-1 как size в libc, на 64-битной платформе происходит переполнение buf + size, вызов завершается неудачей и не записывается ни одного байта; после перехода на vsprintf() работа восстановлена.
  • Документация Env: сообщество на этой неделе выпустило подряд две большие статьи с разбором Env v2.0.3 — единая точка входа команд rt-env, новые подкоманды sdk/plugin/webui/system, зависимости работают в виртуальном окружении Python, добавлены система плагинов и браузерный WebUI; красная линия совместимости — v2.0 полностью поддерживает версии выше 5.1.0 и master, для 5.1.0 и более ранних по-прежнему требуется v1.5.x.

Пояснения к проверке

  • На странице релизов и в тегах основного репозитория на этой неделе новых версий нет; страница списка новостей на официальном сайте рендерится динамически на клиенте, при сканировании получена только пустая оболочка загрузки, данные о новостях приведены по официальному интерфейсу.
  • Поиск по экосистеме topic:rt-thread на этой неделе дал единичные попадания в несколько личных репозиториев и универсальных GUI (zlgopen/awtk), все без специальной связи с RT-Thread; два проекта сообщества — обнаружение пламени на K230 и распознавание рукописных символов на CH32H417 — включены по линии экосистемы, см. главу 5.
  • Сборка под Windows для двух пакетов TriCore проверена только по таблице импорта PE, на реальной машине с Windows запуск не выполнялся; автор в предложении рекомендует перед объединением дополнительно прогнать компиляцию; выводы, относящиеся к этому отчёту, изложены в соответствии с исходными формулировками источников и не экстраполируются.

4. Официальные и общественные мероприятия

Официальные каналы

Дата: 2026-10-26 ~ 2026-10-30 Источник: официальный новостной интерфейс RT-Thread

  • Новостной интерфейс молчит пятый месяц подряд: последняя архивная публикация в категории организации по-прежнему датирована 2026-06-17, с июня по октябрь новых записей нет; число возвращаемых записей при проверках в разные периоды колеблется около 5 — это расхождение пагинации интерфейса. На странице списка новостей официального сайта новых материалов нет; внешние новости компании также не обнаружены в запросах Google News на китайском и английском, запросы по Ruiqing и Ruiqing Pai за семь дней пусты.
  • Изменения в мейнтейнерах: объединённый 28.10 в 18:48 #11939 удаляет из MAINTAINERS запись components_fal;原作者 поясняет, что больше не имеет времени и сил участвовать. FAL (уровень абстракции Flash) долгое время поддерживался одним человеком; после удаления записи у этого компонента временно нет зарегистрированного мейнтейнера, и стоит отслеживать, найдётся ли замена — проблемы таких базовых компонентов обычно проявляются только тогда, когда производитель присылает BSP.
  • Каналы первичного распространения информации: информация о продуктах и мероприятиях по-прежнему впервые появляется в аккаунте WeChat, на форуме сообщества и в GitHub; отсутствие собственных официальных каналов сохраняется и на этой неделе; внешнее освещение в сообществе обеспечивают работы конкурса и отраслевые медиа.

Медиа и обзоры

Дата: 2026-10-24 ~ 2026-10-27 Источник: EE Times China: углублённое сравнение трёх основных RTOS

  • Сравнение трёх основных RTOS (27.10): сравнение FreeRTOS, RT-Thread и Zephyr по шести параметрам:实时отзывчивость, потребление памяти, экосистема, сообщество, поддержка AI и стоимость миграции. В статье RT-Thread позиционируется как лёгкий универсальный набор под Apache 2.0: ядро занимает 3 КБ Flash и 1,2 КБ RAM, включает POSIX, GUI, файловую систему и пакет AI; компонент энергосбережения в режиме Stop экономит на 15–20 % энергии по сравнению с двумя другими; в таблице выбора RT-Thread отнесён к проектам с экстремально низкой стоимостью при RAM ниже 64 КБ, а также к потребительской электронике и носимым устройствам. Статья также признаёт, что Zephyr сильнее в сценариях с множеством протоколов, множеством плат и долгосрочным сопровождением; вывод — разделение на три, а не односторонняя оценка.
  • Заметки с саммита RISC-V (24.10): колонка RT-Thread в EE Times China опубликовала репортаж с шестого Китайского саммита RISC-V с точки зрения системного ПО; масштаб — 1 главный форум, 7 параллельных секций и техническая сессия Member Day. Есть два фрагмента, напрямую связанных с RT-Thread: в ходе саммита состоялся обмен мнениями с рядом поставщиков RISC-V IP и чипов по адаптации ядра, сквозной интеграции инструментальных цепочек и совместным решениям; отрасль считает, что RISC-V в embedded и IoT уже具备условия для масштабирования, а узкое место смещается с «ядра» к системному ПО, и участие операционной системы восполняет реальное время, функциональную безопасность и промышленную поставку.
  • Семинар WTCC 2026 Arm Technology (мероприятие 23.10 / репортаж 27.10): Arm Technology провела в Шанхае в рамках West Bund International Tech Carnival небольшой семинар по решениям для воплощённого интеллекта; Rockchip, Radxa и RT-Thread участвовали как партнёры альянса Open Source AIOS. Старший инженер RT-Thread AI Чжэн Вэй представил три типа агентных решений — для роботов-собак, HyperCar и оркестрации Codex — и рассказал, как интеллектуальные агенты переходят от диалога к исполнению, а также明确обозначил приоритет на проекты воплощённого интеллекта в дальнейшем; Rockchip отметила, что инференс больших моделей смещается от вычислительной интенсивности к интенсивности памяти, и пропускная способность становится узким местом на стороне устройства. Arm Technology на том же мероприятии представила два практических результата — JishuFriends и JishuBuddy.

Работы сообщества и конкурсы

Дата: 2026-10-24 ~ 2026-10-30 Источник: API статей сообщества

  • Работы конкурса embedded 2026 выходят на пик подачи: в окне мониторинга этой недели опубликовано как минимум семь работ — 24–25.10 мультисенсорный мониторинг слиянием для端侧 Agent, диагностический анализатор перечисления USB на ART-Pi2, отслеживание пешеходов по протоколу OpenMV; 28.10 промышленный мобильный робот на CAN с NS800RT7P65 от NOVOSENSE, многослэйвный мониторинг на XuanTie D121, FOC с нейросетевым усилением на NXP MCXA346; 30.10 «Little Watcher» от Infineon Edgi Talk. Общее — все прилагают открытый репозиторий или полную запись воспроизведения, публикуя инженерные детали вместе с кодом, а не только отчёт.
  • Инструмент отладки GDR (25.10): редкая长статья сообщества, где отладочные строительные леса оформлены как полноценный проект. Инструмент закрепляет просмотр объектов ядра RT-Thread в виде Python-команд GDB и предоставляет три уровня возможностей: агрегированные команды (threads/timers/system/semaphores/objects, таблица потоков с пиковым уровнем воды на основе шаблона заполнения стека), удобные функции и pretty-printer; принципиальное отличие от FinSH — полная неинвазивность, чтение символов и памяти цели только через GDB, что подходит для сценариев Nano без shell и постмортем-анализа после HardFault. CI запускает реальную прошивку в QEMU и выполняет断言pytest, матрица покрывает Cortex-A9 (3.1.0–3.1.5, 4.x) и RV64 (4.0.4–4.1.1); автор указывает, что проверка на реальных платах ещё не проводилась.
  • Три长статьи о ядре и инструментальной цепочке: статья от 26.10 «Анализ цепочки запуска rtthread» разбирает путь от Reset_Handler до main на три этапа — ассемблер, инициализация на C, запуск планировщика — и указывает распространённое заблуждение, что SystemInit не настраивает тактовую частоту до 72 МГц; статья от 29.10 о распределении объектов ядра на примере object.c и rtdef.h версии 4.0.3 объясняет, как принципы «управление по типу, поиск по имени, обход, подсчёт» реализуются через rt_object_information, интрузивный список и container_of; две статьи — о Env v2.0.3 и о 24 предупреждениях неявного объявления в Studio — относятся к заметкам о подводных камнях инструментальной цепочки.
  • Прямой эфир: 26.10 с 20:00 до 21:00 разработчик сообщества Цуй Цзюньшо представит проект экзоскелета для реабилитации кисти, ориентированный на людей после инсульта, травм кисти и периферических нервных повреждений; ключевые моменты — цепочка распознавания от сигналов ЭМГ до двигательного намерения и разделение работы двух ядер на одной плате разработки.

5. Отраслевые применения и коммерческие тенденции

Промышленное управление и промышленная связность

Дата: 2026-10-28 ~ 2026-10-29 Источник: Статья сообщества: малый автономный мобильный робот

  • Промышленный распределённый мобильный робот на CAN: главный контроллер NS800RT7P65 от Naxinwei (Cortex-M7, 600 МГц), работает под RT-Thread 4.x, один чип отвечает за FOC двухосевого подвеса, главный CAN-контроллер и 40 онлайн-диагностических команд MSH; шасси построено по пятиузловой архитектуре CAN (главный контроллер, FOC подвеса, сбор сенсорных данных, привод шасси, визуальный AI), каждый подчинённый узел замыкает контур локально. На стороне восприятия ультразвуковое вращательное сканирование формирует двумерное облако точек, а инерциальный блок и одометрия выполняют оценку позы; мониторинг идёт через локальную сеть по MQTT, весь тракт не зависит от публичной сети, код открыт под GPL-3.0.
  • Главная станция Xuantie D121 с подчинённой станцией Loongson LS2K0300: главная станция работает под RT-Thread с сенсорным экраном LVGL и опрашивает две подчинённые станции по RS485 и Modbus RTU — Xinghuo STM32F407 собирает данные о температуре, влажности и шестиосевые данные, а Loongson LS2K0300 передаёт системные показатели, такие как CPU, память и время работы. Собранные данные сохраняются на TF-карту с поддержкой локального воспроизведения; обрыв связи, восстановление и превышение порога вибрации попадают в персистентную очередь, после передачи через ESP8266 в облако данные удалённо просматриваются через мини-программу WeChat; при потере сети сначала сохраняются локально, после восстановления досылаются. Размещение подчинённых станций двух классов, ARM и LoongArch, на одной шине Modbus даёт непосредственную справочную ценность для подключения гетерогенных устройств.
  • AI-мониторинг дефектов двигателя BLDC: на плате Renesas Titan Board (RA8P1, 1 ГГц Cortex-M85 плюс 250 МГц Cortex-M33, со встроенным NPU Ethos-U55, 256 GOPS на одном чипе) собираются фазные токи, напряжение шины и температура инвертора; ядро M85 выполняет предобработку и передаёт данные в лёгкую CNN на NPU для распознавания дефектов в реальном времени; на программной стороне RT-Thread запускает три потока — интерфейса, связи и инференса, модель через RUHMI конвертируется из TFLite в C-код и интегрируется. Решение делает акцент на отсутствии дополнительных датчиков и на малозатратном маршруте предиктивного обслуживания.

Управление двигателями и периферийный AI

Дата: 2026-10-27 ~ 2026-10-30 Источник: Статья сообщества: бесколлекторный контроллер двигателя с усилением лёгкой нейросетью

  • FOC с нейросетевым усилением на NXP MCXA346: аппаратная часть — FRDM-MCXA346 плюс двигатель 2804, магнитный энкодер AS5600 и драйвер SimpleFOC Mini. На стороне управления сначала выполняется контур скорости и контур положения с прямой связью и PI, затем на выход накладывается сеть динамической компенсации с 3 входами, 8 скрытыми элементами и 1 выходом; веса экспортируются в C-код и вычисляются непосредственно на MCU, прошивка не вводит фреймворк инференса, компенсация может включаться и отключаться отдельно для сопоставления при одинаковых параметрах. Тестирование на реальной плате из 90 сегментов (10 типов переключений в пределах ±15 RPM по три прогона каждого) показало, что RMSE хвостового участка установившегося режима в окне 100 мс снизилась с 2.187 до 2.094 RPM (около 4.26%), RMSE всего сегмента — с 3.327 до 3.291 (около 1.07%); после добавления сглаживания 25 мс к целевой точке P средняя ошибка скорости по всему сегменту в тесте из 60 сегментов снизилась примерно на 5.83%.
  • Обнаружение пламени на кухне на K230: на базе K230 и RT-Thread Smart опубликован исходный код, включающий мультисенсорное слияние, адаптивную стратегию совместного реагирования, записи воспроизведения и оценку модели; в репозитории также размещены справочные материалы, что позволяет третьим сторонам повторить запуск по записям; сам проект позиционируется как исследовательский прототип, а не продукт. Это редкий на текущей неделе публичный проект, применяющий Smart в реальном контуре восприятия.
  • Распознавание рукописных символов на CH32H417: двуядерная платформа RISC-V от WCH, технологический стек — RT-Thread плюс LVGL плюс TFLM, тракт включает захват с OV5640, предобработку изображения с фиксированной точкой, инференс с INT8-квантованием и отображение интерфейса; на стороне обучения дополнительно прилагается инструментальная цепочка. Проект только создан и пока не имеет внимания; его ценность в том, что полный тракт лёгкого зрения на RISC-V изложен подробно и ясно.
  • Infineon Edgi Talk «Little Watcher»: одной фразой на китайском задаётся появление или исчезновение видимой цели, при обнаружении изменения выдаётся напоминание и сохраняются кадры до и после. На стороне платы M55 выполняются запись и загрузка голоса, захват и загрузка изображений с камеры и воспроизведение напоминаний, визуальное суждение выполняется на готовой модели на стороне компьютера; лимит одной сессии — 300 секунд, 60 загрузок изображений, веб-страница хранит последние 100 событий, после перезапуска по умолчанию пауза. Ключевой момент в том, что процесс «участия AI в разработке» также рассматривается как результат — разбиение требований, интеграция кода, устранение неполадок, тестовая проверка и документация фиксируют способы участия AI на каждом этапе.

Зарубежная экосистема и коммерческие тренды

Дата: 2026-10-28 ~ 2026-10-30 Источник: Проект на Hackster: Smart Water Bottle Reminder

  • Зарубежный проект на плате RT-Spark: на Hackster появился проект офлайн-периферийного AI на аппаратной платформе RT-Spark, использующий шестиосевой IMU для определения четырёх состояний — лежит, переносится, питьё, тряска; если в течение 30 секунд не обнаружено питьё, на LCD появляется красный текст и раздаётся звуковой сигнал; дерево решений глубиной 5, обученное на Python, экспортировано в чистый C, одно умозаключение на STM32F407 занимает около 154 микросекунд, точность на отложенной выборке 95%, базовая линия пороговых правил на тех же данных — 97,5%, автор честно указывает этот разрыв. Нужно различать: проект использует отладочную плату RT-Spark от RT-Thread, но прошивка работает на FreeRTOS — это повторное использование экосистемы на уровне платы, а не пример внедрения ядра.
  • Коммерческие тенденции: на этой неделе нет новых сообщений о коммерческом внедрении, финансировании или заказах. Действия производителей сосредоточены на подготовке инструментальных цепочек и пакетов — TriCore дополнен компиляцией и симуляцией, RA6W1 — таблицей векторов, ai/Agent — сменой бэкенда по умолчанию; по ритму это скорее подготовка почвы для последующих решений, чем точечные коммиты.

6. Наблюдения за тенденциями

  • Позиционирование Smart на этой неделе было явно определено как «слой покрытия тестами», а не «конфигурация по умолчанию»: 29.10 в течение одного дня сначала включили Smart, затем откатили конфигурацию по умолчанию — выглядит как метания, но на деле мейнтейнеры проводили разграничение границ: конфигурация по умолчанию должна оставаться предсказуемой, чтобы обычная регрессия без Smart была стабильной; Smart запускается отдельно через слой переопределения конфигурации utest, оба пути используют один BSP. Так удалось получить покрытие пользовательских тестов на QEMU, не нарушив существующую матрицу сборки BSP. Следующие точки наблюдения — #11892 и #11897: сначала сливается то, что можно проверить на QEMU, позже — то, что требует подтверждения на реальной плате; эта закономерность планирования на этой неделе подтвердилась дважды.
  • Граница user space/kernel space в RT-Smart стала главной линией безопасности недели и уже приобрела семейный характер: терминал, блочное устройство, pipe, mailbox — все четыре формы полностью идентичны: параметры адаптера по умолчанию уже являются адресами ядра, а вход в user space не имеет copyin/copyout. Затронутые версии всех четырёх заявок восходят к одному и тому же синхронизационному коммиту RT-Smart 2022 года, что говорит о том, что это не новый дефект, а структурный пробел, привнесённый целиком при портировании. Путь исправления также ясен (#11941: временное сохранение на стеке ядра плюс copy_from_user/copy_to_user плюс проверка границ lwp_in_user_space()); дальнейший вопрос — можно ли вынести этот подход в общий слой, а не исправлять отдельно в каждой подсистеме.
  • Ритм основной линии определяется «массовой расчисткой накопившихся предложений», а не новой разработкой дня: из слияний 27.10 (четыре) и 29.10 (семь) время author большинства предложений более чем на неделю предшествует времени слияния, а партия 29.10 была создана 18.10 и простояла в очереди одиннадцать дней. Эта картина влияет на оценку здоровья проекта: по одному лишь числу коммитов можно переоценить интенсивность разработки за неделю, а по дням с нулём коммитов — недооценить активность ревью. Действительно стабильный показатель — «время оборота очереди предложений»; на этой неделе оно сократилось с десяти дней до одного (после слияния #11896 на следующий день подтянулся #11942), что является положительным изменением.
  • Достоверность тестов чинится как инфраструктура, а не как тесты: три исправления на этой неделе — не «добавить кейсов», а сделать само суждение достоверным: последующий unit-проход больше не стирает провалы предыдущих testcase (#11601), CI больше не зависит от публичной сети и недопустимых IP-строк (#11601), под musl больше не предполагается, что signal 0 можно установить (#11601), плюс #11942 меняет способ переопределения конфигурации CI с «полного checkout» на «добавления одной строки с выключенным переключателем». Это та же линия, что и исправление конкурентной блокировки pkgs-test на прошлой неделе: сначала сделать реальной предпосылку «тесты проходят», потом говорить о покрытии.
  • Выпуск версий переходит от «ожидания» к «институционализации», но релизное действие всё ещё не открыто: номер версии v5.4.0 был поднят ещё 17.10, 29.10 поднят до 0x50400, а releases и tags застряли на v5.3.0 от 10.09 уже семь недель. Два материала, появившиеся 30.10 (#11956 — CI управления версиями и процесс релиза, #11955 — документация по версиям и процессу релиза), показывают, что сообщество само разбирается с этим разрывом — ежемесячный отчёт линии Z плюс ручное утверждение, линия Y каждые 3–6 месяцев с привязкой к аппаратной верификации, а также внесение в нецели пункта «выводы QEMU не расширяются до выводов на реальном железе». В следующем выпуске следует сверяться со страницей release и ChangeLog, действительно ли релиз открыт, а не ориентироваться на макрос версии.
  • Формы адаптации производителей меняются: с одной стороны, инструментальные цепочки и симуляция идут впереди, с другой — целые классы аппаратуры входят партиями: TriCore входит в Env SDK, а не в основной репозиторий, сначала с открытым GCC и QEMU решается «компилируется, запускается, отлаживается», BSP и драйверы оставлены на потом; в то же время три крупных предложения — RTL8125, RK3588, RT1180 — рассматриваются одновременно, что показывает смещение центра адаптации с «зажечь одну отладочную плату» на «целые классы платформ и стек периферии». Стоимость ревью двух путей сильно различается: первый — низкорисковый инкремент на уровне индекса пакетов, второй — зачастую тысячи строк и требует подтверждения со стороны платы; поэтому в очереди BSP постоянно висят предложения объёмом 172 файла и порядка 290 тысяч строк.

Приложение: материалы и проверка

Список материалов

Выпуск Дата Действительное окно Включённых записей (по подзаголовкам)
Выпуск 1 2026-10-26 (понедельник) 10-23 08:00 – 10-26 08:00 (72 часа) 16
Выпуск 2 2026-10-27 (вторник) 10-26 08:00 – 10-27 08:00 (24 часа) 13
Выпуск 3 2026-10-28 (среда) 10-27 08:00 – 10-28 08:00 (24 часа) 18
Выпуск 4 2026-10-29 (четверг) 10-28 08:00 – 10-29 08:00 (24 часа) 16
Выпуск 5 2026-10-30 (пятница) 10-29 08:00 – 10-30 08:00 (24 часа) 13
  • Все пять ежедневных отчётов на месте, пропущенных дат нет; выпуск понедельника охватывает 72-часовое окно за выходные, начальная точка — отсечка предыдущего выпуска, уточнение правил clang-format, влитое 10-23 17:09 (#11859), уже было зафиксировано при проверке дня релиза в предыдущем еженедельном отчёте, в этом выпуске не повторяется.
  • Текст еженедельного отчёта объединяет записи на одну тему на основе пяти ежедневных отчётов; количество записей не совпадает с таблицей выше, что является нормальным результатом слияния; заявки на дефекты безопасности объединены по семействам, без раскрытия каждой заявки отдельно.

Пояснения к проверке

  • Проверка дня релиза: 2026-10-31 проведена фактическая проверка потока коммитов master основного репозитория, releases и tags, влитых и находящихся на рассмотрении предложений, новых заявок на дефекты, по состоянию до 10-31 17:00. В ходе проверки обнаружены два влития, попавшие после отсечки пятничного ежедневного отчёта (10-30 08:00): #11915 влит 10-30 10:54, #11936 влит 10-30 18:20, они включены в список влитий главы 2 с пометкой; одновременно обнаружены три новые заявки на дефекты (#11956 процесс управления версиями, #11958 ioctl канала, #11960 указатель объекта почтового ящика) и шесть новых предложений (#11953, #11954, #11955, #11957, #11959, #11961), все отмечены отдельно согласно способу проверки.
  • Трактовка версии: для v5.4.0 имеется только фактическое значение RT_VER_NUM (0x50400), официальный Release, теги и ChangeLog не обновлены, по всему тексту используется формулировка «вступила в стадию разработки 5.4.0, ещё не выпущена».
  • Невключённые пункты: регулярные коммиты zlgopen/awtk (универсальный GUI, не имеет специальной связи с RT-Thread), несколько личных новых репозиториев с единичными звёздами, проект RT-Spark от Hackster рассматривается как справка по экосистеме плат (прошивка на FreeRTOS, не учитывается как принятие ядра), коммерческие выводы зарубежных материалов (в окне нет сообщений о коммерческом внедрении и финансировании).
  • Ограничения каналов: множественные запросы на китайском и английском в Google News и HN Algolia на этой неделе не дали действительных новых материалов об RT-Thread, кандидаты в HN в основном являются буквальными ошибочными совпадениями со словами threads и Threads; страница списка новостей официального сайта рендерится на стороне клиента, данные новостей берутся из официального API; лимит анонимного API GitHub в некоторых выпусках приближался к пределу в середине сбора, проверка на уровне организации выполнена одним запросом sort=pushed, коммиты основного репозитория учитываются по первым 100 записям API commits.

Полный список источников

1923 (gmtime_r, отрицательная временная метка) — https://github.com/RT-Thread/rt-thread/issues/11923

ater Bottle Reminder (RT-Spark) — https://www.hackster.io/monxx-ie/smart-water-bottle-reminder-edge-ai-on-rt-spark-462a9b

Источник данных: ежедневный отчёт о событиях RT-Thread (пять выпусков с 2026-10-26 по 2026-10-30) и проверка в день публикации за данный период; отчётный период — с 2026-10-26 по 2026-10-30. Рекомендуемый период следующего еженедельного отчёта: 2026-11-02 ~ 2026-11-06.