Окно мониторинга: 2026-10-30 08:00 ~ 2026-11-02 08:00 (пекинское время, 72 часа, охватывает субботу и воскресенье)

Источники: официальный новостной интерфейс RT-Thread и канал статей сообщества, GitHub (коммиты / PR / Issue / releases / tags основного репозитория, все 35 репозиториев организации RT-Thread проверены по времени push, packages / vscode-rt-smart / sdk / pkgs-test выделены отдельно), поиск по репозиториям GitHub (ключевое слово rt-thread, фильтрация по времени создания), шесть групп запросов Google News на китайском и английском (через прокси), HN Algolia, официальная колонка RT-Thread в EE Times China, форум club.rt-thread.org (в этом выпуске из-за ограничений WAF сайта списки и текст сообщений недоступны для непосредственной проверки)


Индекс выпуска

    1. Ядро и динамика версий
      • clang-format зафиксирован на 22.1.8, 73 исходных файла ядра в src/ единовременно переформатированы (10-30)
      • dlmodule закрывает #5705, зарегистрированный в 2022 году: исправлены все четыре корневые причины неинициализированных глобальных переменных (10-30)
      • CI управления версиями и процесс релиза переходят в план: ежемесячный отчёт Z, ревизия Y каждые 3–6 месяцев (10-30)
    1. Безопасность и очередь на слияние
      • RT-Smart mailbox не проверяет указатели на объекты ядра, поддельный объект позволяет читать и писать память ядра (10-31)
      • FIONREAD в pipe напрямую пишет по указателю, переданному пользователем, — однотипный дефект возникает третий раз подряд (10-30)
      • Переполнение умножения счётчиков в poll и epoll: проверка проходит по 8 байтам, а обход идёт по 530 миллионам элементов (10-30)
      • RISC-V AIA: EOI уровня APLIC безусловно пишет setipnum, в старой версии QEMU отложенный поток не возобновляется (11-01)
    1. Официальные и общественные мероприятия
      • Турнирное обучение в Ухане состоялось 10-31: двухъядерный Edgi-Talk, четыре больших эксперимента, код проекта забирают с места (10-31)
      • Прямой эфир 4 ноября: оставить большую модель на ПК и воспроизвести настольного питомца DeepSeek Blue Whale на Ruiqing 3576 (10-30)
      • Официальный новостной интерфейс по-прежнему стоит на 17 июня, публикационную сторону взяла на себя колонка СМИ (11-02)
    1. Экосистема и адаптация производителей
      • Скрипт компоновки промышленного Ethernet для NXP RT1180 поступил в очередь на рассмотрение (10-30)
      • Два дефекта драйверов, о которых сообщалось в прошлом выпуске, уже имеют патчи: деление на ноль в DM365 SPI, канал ADC в Bluetrum AB32 (10-30 ~ 10-31)
    1. Отраслевые применения
      • Работы конкурса массово открываются после соревнований: четыре проекта edge AI зрения умещаются на двух платах (10-30 ~ 11-01)
      • От конкурсной платы к производственной линии: бездатчиковый FOC 20 кГц на двух Cortex-M7 и позиционирование с обратной связью по энкодеру (10-31)
    1. Тенденции выпуска и итоги
      • Тенденция: на стороне слияния тихо, на стороне патчей плотно, границы RT-Smart системно приводятся в порядок
      • Ограничения и пояснение по дедупликации

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

1.1 clang-format зафиксирован на 22.1.8, 73 исходных файла ядра в src/ единовременно переформатированы (10-30)

Дата: 2026-10-30 18:20 (время слияния) Источник: предложение #11936

75 файлов, добавлено 3852 строки, удалено 3023 строки, автор CYFS3, связано с предыдущим #11653 и уже слитым #11859. Проблема не в самом форматировании: CI проверки формата устанавливает clang-format через pip, рабочий процесс ручного форматирования устанавливает его через apt, версия ни там, ни там не зафиксирована, один и тот же код в разное время может давать разные результаты, поэтому проверка формата невоспроизводима.

Изменения разбиты на три независимых коммита. Во-первых, добавлен tools/ci/requirements-format.txt, версия зафиксирована на 22.1.8, оба рабочих процесса переведены на установку из этого файла, в ручной рабочий процесс добавлен actions/setup-python для предоставления окружения Python; во-вторых, в .clang-format включён AllowShortLoopsOnASingleLine, отключён BraceWrapping.BeforeWhile, пустые циклы остаются в одну строку, do-while единообразно пишется как } while (...); в-третьих, той же версией рекурсивно отформатированы 73 файла C и заголовков в src/, включая подкаталоги klibc, utest, perf, smp, 69 файлов изменены, 4 уже соответствовали требованиям. В китайские и английские правила кодирования одновременно добавлены три раздела: установка, подтверждение версии и настройка редактора.

Kconfig, SConscript и другие каталоги в этот раз не входят, что говорит о том, что это приведение формата, продвигаемое по каталогам, а не переформатирование всего репозитория.

1.2 dlmodule закрывает #5705, зарегистрированный в 2022 году (10-30)

Дата: 2026-10-30 10:54 (время слияния) Источник: предложение #11915, дефект #5705

2 файла, добавлено 215 строк, удалено 45 строк, изменения затрагивают dlelf.c и dlelf.h. Исправляется дефект #5705, о котором сообщили в марте 2022 года и который висел более четырёх лет: при доступе к неинициализированной глобальной переменной в динамическом модуле адреса перекрываются или перемещение невозможно. После воспроизведения на последней master автор разложил корневую причину на четыре пункта.

Во-первых, после загрузки секции BSS (SHT_NOBITS) указатель выделения не продвигается, и несколько секций NOBITS перекрываются в одной и той же области памяти; во-вторых, исходная реализация использовала общие базовые адреса для трёх категорий rodata, bss и data по имени секции и не вычисляла адрес перемещения по фактическому адресу загрузки секции, к которой принадлежит символ, из-за чего в сценариях с несколькими секциями указывалось неверное расположение; в-третьих, перемещение символов SHN_COMMON (неинициализированных глобальных переменных с tentative-определением) молча пропускалось — код читал shdr[0xfff2], получал мусорное имя секции, которое не совпадало; в-четвёртых, этот путь никогда не строил module->symtab, из-за чего dlsym() для модулей ET_REL всегда завершался неудачей.

Исправление соответствует четырём пунктам: после завершения загрузки секции BSS продвигается указатель выделения; символы секций rodata, bss и data единообразно вычисляются как «адрес загрузки секции плюс смещение внутри секции»; для SHN_COMMON отдельно выделяется общий блок, расчёт размера и перемещение используют один и тот же алгоритм выравнивания, а обработка этой ветви перенесена до сопоставления имён секций, чтобы избежать чтения за границами; из .symtab собираются символы GLOBAL FUNC для построения module->symtab, что согласуется с подходом пути ET_DYN, строящего из .dynsym.

Проверка выполнена на qemu-vexpress-a9 с включённым RT_USING_MODULE, запущены три тестовых модуля, покрывающих два пути: стандартный процесс ET_DYN и импорт символов ядра через GOT. Затронуты BSP, использующие путь загрузки ET_REL; в первую очередь это проекты серии Cortex-M с включёнными динамическими модулями.

1.3 CI управления версиями и процесс релиза переходят в планирование (10-30)

Дата: 2026-10-30 16:04 (отчёт) / 15:29 (предложение по документации) Источник: дефект #11956, предложение #11955

#11956 предложен kurisaW, метка enhancement, в тексте указано «планируется, не реализовано», веха ожидает планирования после инвентаризации B01. Суть — перенести стратегию версий в работающие задачи CI, отчётов и релизов: для Z-версий ежемесячно формируется отчёт и предложение о релизе, решение о выпуске принимается вручную; для Y-версий релиз проходит ревью каждые 3–6 месяцев с учётом аппаратной валидации; внешним пользователям в первую очередь рекомендуются базовые линии X и Y. В тексте подчёркивается повторное использование существующих GitHub Actions, QEMU BSP и тестового фреймворка без создания отдельной системы.

#11955, поданный в тот же день в 15:29, — сопутствующая документация, вносящая правила нумерации версий основной линии и процесс релиза в каталог документации, всё ещё на ревью. Оба изменения ещё не слиты, но направление ясно: участок, долго державшийся на ручной организации с легко дрейфующей базовой линией, превращается в проверяемый процесс.


2. Сопровождение безопасности и очередь ожидающих слияния

2.1 RT-Smart mailbox не проверяет указатели объектов ядра, поддельный объект позволяет читать и записывать память ядра (10-31)

Дата: 2026-10-31 14:26 (время отчёта) Источник: дефект #11960

Автор отчёта XueDugu, сверенная базовая линия — master cbc19778 того же дня. Проблема на входе системного вызова mailbox: он напрямую передаёт полученный от пользователя указатель на объект ядра в API mailbox ядра, не проверяя, принадлежит ли объект вызывающему LWP, является ли он mailbox и находится ли в памяти ядра. В результате непривилегированный процесс может сконструировать «поддельный объект», и ядро будет читать и записывать его по своим правилам, что эквивалентно примитиву произвольного чтения и записи в ядре.

Временная шкала в отчёте изложена полно: дефект внесён коммитом ecf2d8215961 (2022-12-03, корректировка границы системных вызовов RT-Smart), первая затронутая версия v5.0.0, v5.3.0 и текущая master (5.4.0-dev) остаются затронутыми. Проверка выполнена на двух уровнях — полносистемный запуск qemu-virt64-aarch64 в QEMU (virt, GICv2, одно ядро, 128 MiB, включены RT_USING_SMART и RT_USING_MAILBOX) доказал путь выхода за границы из пользовательского режима в ядро; Raspberry Pi Pico 2 W (RP2350) на уровне платы подтвердил сам примитив API mailbox ядра, причём последний запускает обычный RT-Thread с единым адресным пространством, что показывает: проблема не ограничивается слоем изоляции Smart.

На момент публикации этот дефект никем не взят, соответствующего предложения об исправлении нет, в комментариях только подсказка /claim от CI-бота.

2.2 FIONREAD в pipe напрямую пишет по указателю пользователя — однотипный дефект появляется третий раз подряд (10-30)

Дата: 2026-10-30 19:13 (время отчёта) Источник: Дефект #11958

Второй случай от того же автора. ioctl канала pipe в ветках FIONREAD и FIONWRITE напрямую выполняет *((int *)args) = ..., записывая длину данных или оставшееся место в кольцевом буфере по адресу, на который указывает args; sys_ioctl() в RT-Smart передаёт исходный пользовательский аргумент по всей цепочке без copyout, и уровень pipe также не проверяет, является ли этот адрес пользовательским. В результате обычный процесс может указать произвольный адрес ядра и заставить ядро записать туда четыре байта, причём записываемое значение ограничено текущим состоянием pipe.

Затронуты версии от v5.0.0 до v5.3.0 и master (5.4.0-dev); проверка выполнена в среде QEMU vexpress-a9, Cortex-A9, 32-битный RT-Smart, с включённым RT_USING_POSIX_PIPE, буфер pipe 512 байт.

Это третий подряд случай однотипного дефекта: сначала подсистема терминала потеряла в ioctl предпосылку copyin из FreeBSD (дефект #11937), затем блочное устройство записало 24-байтовую таблицу разделов по указанному вызывающей стороной указателю ядра (#11952), в этом выпуске — pipe (#11958). Причина во всех трёх одна — уровень fops сохраняет старое предположение «аргумент уже является адресом ядра», а точка входа из пользовательского режима не добавляет слой преобразования. Дефект mailbox из 2.1 относится к тому же семейству, оставленному тем же вводящим коммитом, только способ выхода за границы меняется с «записать внутрь» на «обращаться с пользовательским указателем как с объектом ядра».

2.3 Переполнение при умножении счётчиков в poll и epoll (10-30)

Дата: 2026-10-30 11:59 (время предложения) Источник: Предложение #11954

1 файл, добавлено 28 строк, исправляет первую половину #11925. sys_poll() вычисляет размер буфера ядра из числа, заданного пользователем; на 32-битной платформе умножение переполняется, но затем всё равно выполняется обход с использованием непреобразованного исходного числа: при nfds = 0x20000001 и структуре pollfd размером 8 байт произведение 0x1_00000008 усекается до 8; проверка доступа и kmem_get проходят по 8 байтам, однако poll() обходит 536 870 913 элементов, и в do_pollfd() чтение pollfd->fd и запись revents целиком выходят за пределы выделенного блока. 64-битные сборки не затронуты: произведение повышается до 64 бит, и сверхбольшое выделение сразу возвращает ENOMEM.

sys_epoll_pwait() имеет ту же форму, вдобавок её счётчик имеет тип int, поэтому отрицательные значения также нужно отклонять. Исправление состоит в том, чтобы перед вычислением любого размера из этих чисел сначала проверять: если nfds больше SIZE_MAX / sizeof(*fds), возвращать -EINVAL; на стороне epoll дополнительно добавить проверку счётчика на отрицательность. Написание согласовано с проверкой msg_iovlen в sys_sendmsg и sys_recvmsg.

В том же потоке находятся #11899 (проверка номера сигнала в sys_sigaction) и #11895 (порядок доставки сигналов и защита сегментов ELF); их общая черта — проверять переданные из пользовательского режима номера, длины и указатели до входа в логику ядра.

2.4 RISC-V AIA: безусловная запись setipnum при EOI уровневого прерывания APLIC (11-01)

Дата: 2026-11-01 20:40 (время предложения) Источник: Предложение #11966

8 файлов, добавлено 1367 строк, удалено 10 строк. Симптом: при запуске на QEMU 8.2.2 конфигурации bsp/qemu-virt64-riscv, RV64, четырёхъядерный SMP с AIA (APLIC и IMSIC) счётчиковая программа с rt_thread_mdelay(1000) печатает только RISC-V test: 0 и останавливается, поток задержки больше не возвращается.

Причина локализована в том, что драйвер APLIC при обработке EOI уровневого прерывания безусловно пишет setipnum_le. Старая версия QEMU после того, как устройство уже сняло прерывание, всё ещё может из-за этой записи сгенерировать новое MSI, образуя непрерывные ложные прерывания, которые подавляют обработку системного таймера, и поток задержки поэтому не может восстановиться. Исправление: сначала прочитать соответствующее состояние активного входа в in_clrip (rectified input, с учётом полярности прерывания) и писать setipnum_le только тогда, когда устройство всё ещё удерживает прерывание активным — это сохраняет способность уровневого прерывания к повторному срабатыванию и не добавляет лишнего выстрела уже снятому прерыванию.

Программа воспроизведения также изменена: main.c в BSP вместо «напечатать один раз Hello RISC-V» теперь выполняет счётный цикл от 0 до 9 с задержкой в одну секунду после каждой печати. Среда проверки — QEMU 8.2.2, OpenSBI v1.3, riscv64-unknown-elf-gcc 13.2.0; все три конфигурации с включённым AIA, четырьмя ядрами, отключёнными сетью, NVMe, virtio-console и последовательным портом PCI выводят полный результат.


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

3.1 Турне обучающих семинаров в Ухане состоялось 10-31, Edgi-Talk: два ядра, четыре крупных эксперимента (10-31)

Дата: 2026-10-31 10:00 ~ 17:30 (время мероприятия) Источник: Официальная колонка: практическое занятие в Ухане

Выездное обучение RT-Thread в Ухане прошло в аудитории 801, корпус №2 западного кампуса Китайского геологического университета (Ухань). Аппаратная платформа — двухъядерная отладочная плата Edgi-Talk на базе Infineon PSoC Edge E84. Четыре лабораторные работы связаны в единую цепочку: GUI-дисплей, распознавание рукописного ввода, развёртывание LLM через веб-интерфейс, AI-помощник XiaoZhi. Полные исходные коды проекта и конфигурационные файлы были предоставлены на месте.

Раздел про LLM построен на пакете llmchat и Tongyi Qianwen (по умолчанию qwen-plus), затем включается режим webnet в llmchat, и через браузер по IP-адресу платы можно вести диалог. В статье подробно описаны подводные камни: стек потока webnet нужно увеличить до 8K, максимальную длину фрагмента mbedtls изменить на 6144, иначе рукопожатие TLS завершится ошибкой; стек потока lwIP должен быть 4096; html-файлы нужно передать через ymodem в каталог /flash/webnet.

Раздел про AI-помощника XiaoZhi использует официальный проект Edgi_Talk_M55_XiaoZhi. При первой настройке сети по умолчанию включается режим AP: телефон подключается к точке доступа, которую раздаёт плата, открывает страницу шлюза по умолчанию и выбирает Wi-Fi. Слово активации — «Сяо Жуй, Сяо Жуй», затем произносятся команды вроде «включи свет» или «увеличь яркость экрана», которые через MCP передаются на три периферийных устройства: LED, подсветку и громкость. Эта плата — одна из назначенных платформ текущего конкурса встраиваемых систем, и обучение фактически выполняло роль предконкурсной подготовки.

3.2 Прямой эфир 4 ноября: оставить большую модель на ПК и воспроизвести настольного питомца Blue Whale на RuiQing 3576 (10-30)

Дата: 2026-10-30 11:50 (публикация) Источник: Официальная колонка: прямой эфир о настольном питомце на RuiQing 3576

4 ноября (среда) в 20:00 в техническом прямом эфире RuiQing будет показана живая демонстрация «воспроизведение настольного питомца DeepSeek Blue Whale на RuiQing 3576». Автор уже соединил DeepSeek на ПК с отладочной платой 3576; воспроизводится образ настольного питомца из DeepSeek Harness.

Выбор архитектуры стоит отметить: большая модель не запускается на плате — «мозг» остаётся на ПК, а «тело» передаётся 3576. В прямом эфире будут освещены четыре темы: где размещаются вычислительные ресурсы и как задаётся персонаж; как при нахождении платы и компьютера в разных подсетях выполнить сопряжение через вход мобильного моста DSH — на месте с помощью curl получают кратковременный Token, обменивают его на Cookie для связи и затем отправляют RPC; как интерфейсы session.create, session.prompt отправляют текст и читают ответ; далее с помощью LVGL рисуются три состояния — слушание, размышление, речь, подключаются ASR и TTS, а затем большая модель напрямую управляет периферией.

Эта линия полезна командам, занимающимся торцевым AI: она признаёт границы вычислительных возможностей на стороне устройства, размещая взаимодействие и представление на плате, а вывод оставляя на вышестоящем уровне, — тот же компромисс, что и в конкурсных работах, где «NPU запускает небольшие модели, а сложные решения принимаются в облаке».

3.3 Официальный новостной интерфейс по-прежнему остановился на 17 июня (11-02)

Дата: 2026-11-02 (проверка) Источник: Официальный список новостей RT-Thread

Последняя запись, возвращаемая официальным новостным интерфейсом, — всё та же от 2026-06-17: «RuiSaiDe Technology приглашена на Инвестиционный форум Абу-Даби 2026». В этом выпуске новых записей нет. На первой странице списка новостей официального сайта за тот же период также нет новых материалов.

Фактический канал публикаций уже сместился в медийную колонку: официальная колонка RT-Thread в EE Times China обновилась в окне мониторинга двумя материалами (от 10-30 о мероприятии в Ухане и от 11-04 с анонсом прямого эфира), ещё один материал от 11-01 о промоакции к «Двойной одиннадцати» не включён. Публикации работ и обсуждения сообщества по-прежнему на форуме, но сайт выставляет страницу проверки WAF, и в этом выпуске невозможно напрямую прочитать список; информация о конкурсных работах теперь перекрёстно проверяется по описаниям в репозиториях GitHub и медийной колонке.


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

4.1 Скрипт компоновки промышленного Ethernet для NXP RT1180 поступил в очередь на рассмотрение (10-30)

Дата: 2026-10-30 19:57 (время подачи предложения) Источник: Предложение #11959

Предложение по BSP для NXP i.MX RT1180, дополняющее скрипт компоновки, необходимый для сценариев промышленного Ethernet. RT1180 оснащён несколькими портами гигабитного Ethernet и коммутатором TSN; такие проекты предъявляют более строгие требования к разбиению памяти и раскладке секций, чем универсальные BSP, и скрипт компоновки обычно должен быть реализован первым, чтобы можно было подключать драйверы и прочую периферию. Предложение всё ещё в очереди, срок включения пока не определён.

В том же окне в очереди находятся ещё три аппаратных и низкоуровневых мелких исправления: #11961 инициализирует статический TLS для потоков C++; #11965 запрещает gcc распознавать байтовый цикл в kstring.c из klibc как вызовы memset и memcpy — самостоятельно реализованные строковые функции переписываются компилятором в вызовы библиотечных функций, и такая замена в контексте загрузки ядра требует отдельного пояснения; #11963 и #11964 — два дополнительных теста utest, которые соответственно позволяют повторно запускать тест-кейс mailbox и покрывают случай доставки сигнала потоку, заблокированному в mdelay.

4.2 Два дефекта драйверов, о которых сообщалось в прошлом выпуске, уже имеют патчи (10-30 ~ 10-31)

Дата: 2026-10-30 18:16 / 10-31 21:11 (время предложения) Источник: предложение #11957, предложение #11962

Из четырёх дефектов на стороне драйверов, о которых говорилось в прошлом отчёте, два уже дождались патчей. #11957 относится к делению на ноль в DM365 SPI: на этапе setup отклоняется max_hz равный 0, чтобы расчёт предделителя не использовал его как делитель. #11962 относится к ADC в Bluetrum AB32: перед чтением проверяется номер канала, чтобы после неудачного маппинга не происходил молчаливый откат к 0 с последующей индексацией массива регистров данных исходным номером канала.

Оба ещё не влиты, для двух других (чтение за границами массива в Bouffalo ADC #11949, индекс состояния канала в HPM ADC #11951) в этом выпуске предложений по-прежнему нет. Общая черта таких дефектов не изменилась: уровень rt_adc_read() и rt_spi_configure() не выполняет проверку параметров, перекладывая ответственность на каждый драйвер, а большинство драйверов этого не делает.


5. Отраслевые применения

5.1. Централизованная публикация конкурсных работ после соревнования: четыре проекта в области edge AI компьютерного зрения на двух платах (10-30 ~ 11-01)

Дата: 2026-10-30 ~ 2026-11-01 (время создания репозиториев) Источник: репозиторий: Titan Mini PCB Inspector

В окне мониторинга на GitHub появилось 15 новых репозиториев, связанных с RT-Thread, из которых 7 описаны как конкурсные работы 2026 RT-Thread Embedded Contest; время централизованной публикации приходится на 10-30 – 11-01, что соответствует требованию конкурса «опубликовать работу на форуме и открыть код».

На Renesas Titan Board Mini (RA8P1, Cortex-M85 плюс Ethos-U55) — два проекта. Первый — Titan Mini PCB Inspector: камера осматривает плату, вывод на LCD 800×480, взаимодействие через последовательный HMI, Ethos-U55 выполняет локальный вывод, облачная большая модель пишет рекомендации, при отключении сети происходит откат к табличным экспертным правилам без молчаливого отказа. Второй — Lingxi Zhimou: модель позы с INT8-квантованием обнаруживает до 10 человек на кадр, по 17 ключевых точек на каждого, затем по правилам определяет четыре класса поведения — поднятая рука, лежание на столе, стояние, правильная посадка, — и после взвешивания выдаёт оценку концентрации от 0 до 100; события с временными метками записываются в CSV на SD-карту, исходное изображение не покидает класс.

На Fuhan MC632X (Cortex-A7) — два одноимённых SENTINEL. Один подключается к M5Stack AtomS3R XiaoZhi для голосового оповещения, имеет двухканальный веб-предпросмотр MJPEG 800×480, обнаружение людей и подсчёт пересечений линии, ночью переключается на охрану периметра и запись доказательств; другой делает акцент на автономной работе без ПК — один кабель питания и один сетевой кабель, после подачи питания автоматически выполняются настройка сети, запуск медиаконвейера и веб-службы.

Компромиссы всех четырёх проектов совпадают: модель сжата до NPU на периферии или MCU, сложные решения вынесены в облако или переданы правиловому движку, исходное изображение не покидает устройство. Это та же инженерная логика, что и в стриме из раздела 3.2 — «мозг на ПК, тело на плате».

5.2. От конкурсной платы к производственной линии: бездатчиковый FOC 20 кГц и позиционирование с обратной связью по энкодеру на двойном Cortex-M7 (10-31)

Дата: 2026-10-30 ~ 2026-11-01 (время создания репозиториев) Источник: репозиторий: NS800RT7P65D FOC и CANopen

NanoSilicon NS800RT7P65D — микросхема управления двигателем с двумя Cortex-M7; этот проект разделяет её на два логических CPU: один выполняет ADC-сэмплирование и PWM на 20 кГц, реализует бездатчиковый FOC, скользящий наблюдатель и оценку PLL с аппаратным отключением; другой обслуживает UART и FinSH, CANopenNode v4.1 с мостом CiA 402, приём и передачу CAN. Межъядерное взаимодействие идёт только через асинхронный почтовый ящик команд и согласованный снимок из шести полей размером 24 байта, без произвольного чтения разделяемой памяти. В основе — SMP-конфигурация RT-Thread 5.3.1.

EdgeDoctor-RT на Infineon PSoC Edge E84 идёт другим путём: каждые 20 миллисекунд обрабатывается блок вибрационных данных, в скользящем окне 1 секунда извлекаются 64-мерные полосовые признаки, которые подаются в MLP 64-32-5 для классификации пяти состояний — норма, дефект внутреннего кольца подшипника, дефект внешнего кольца подшипника, несоосность, дисбаланс — с выдачей уверенности и рекомендаций по устранению; за основу взят официальный Edgi_Talk_M55_XiaoZhi v1.4.0, добавлен только прикладной слой, без изменений загрузки, линковки, HAL и ресурсов Wi-Fi.

Два примера работ по управлению движением ещё лучше показывают степень проникновения на конкурсные платы: на NXP FRDM-MCXA346 один проект реализует позиционирование шагового двигателя с обратной связью по энкодеру и верхним ПО на Python и Tkinter, выполняет позиционирование на 10 и 90 градусов, относительный реверс на 45 градусов и возврат к программному нулю; другой — это обнаруживающая машина с ультразвуковым обходом препятствий и детекцией дыма, визуальное распознавание вынесено на сторону ПК.

Распределение по платформам стоит отметить: по две платы Titan Board Mini и MC632X, одна PSoC Edge E84, одна NS800RT7P65D, две FRDM-MCXA346 — всего пять моделей из списка плат конкурса.


6. Тренды и итоги текущего выпуска

6.1 Тренд: тихо на стороне слияний, плотно на стороне патчей — границы RT-Smart системно приводятся в порядок

За 72 часа текущего выпуска в основном репозитории было всего 2 слияния (исправление dlmodule 30.10 в 10:54 и переформатирование clang-format в 18:20), но создано 11 новых предложений и 3 новых дефекта — все в период с 30.10 по 01.11. Для окна выходных «мало слияний, много коммитов» — обычное дело; интерес представляет не количество, а места приложения.

Первая линия — инженерная инфраструктура. Фиксация версии clang-format решает проблему разных результатов форматирования одного и того же кода на разных машинах; CI управления версиями и процесс релизов решают проблему дрейфа базовой линии и нечётких границ релизов Z и Y. Оба вопроса не меняют ни строки логики ядра, но определяют, можно ли будет стабильно рецензировать все последующие патчи — в прошлом выпуске разбиение того единственного файла lwp на 11 тысяч строк на 20 файлов шло тем же путём.

Вторая линия — граница пользовательского режима RT-Smart. ioctl терминала, ioctl блочного устройства, ioctl pipe, указатель объекта mailbox — форма проблемы во всех четырёх местах одинакова: fops и слой системных вызовов исходят из старого предположения, что «аргументы уже являются адресами ядра, а объекты — объектами ядра». Автор отчёта проследил вносящий коммит до ecf2d8215961 от 2022-12-03, что показывает: это не регрессия, внесённая новым кодом, а отсутствие систематической проверки этой границы с момента её установления. Патчи в работе покрывают переполнение счётчиков poll и epoll, номер сигнала sigaction, защиту сегментов ELF и статический TLS — направление верное, но патчи для mailbox и pipe пока никем не взяты.

Третья линия — способ самовыражения экосистемы. Официальный новостной интерфейс стоит на месте с 17 июня — уже шестой месяц; внешние публикации перешли к медийным колонкам; активность сообщества заметно сместилась к «работам» — за одни выходные 7 конкурсных работ было открыто на GitHub, пять из них относятся к крайнему AI-зрению и диагностике, две — к электродвигателям и управлению движением. Для тех, кто следит за практическим применением RT-Thread, эти репозитории говорят о том, что делают производители плат и разработчики, больше, чем официальные пресс-релизы.

6.2 Ограничения и примечания по дедупликации

Форум club.rt-thread.org в текущем выпуске показывал страницу WAF-проверки, поэтому список работ и тексты статей невозможно было прочитать напрямую; информация о конкурсных работах была перекрёстно проверена по самоописаниям репозиториев GitHub (README, структура каталогов, время создания) и официальной колонке EE Times China, построчное сравнение с оригинальными сообщениями форума не проводилось.

5 попаданий в HN Algolia за окно — все являются ложными совпадениями по значению слова thread (Pulling on a Thread, HN Replies, французский налог на загрузки и т.п.), вся выборка отброшена; на англоязычной стороне Google News — ноль попаданий, из 3 попаданий на китайской стороне включены 2 (учебный курс в Ухане, прямая трансляция 04.11), рекламная статья о распродаже 11.11 от 01.11 не включена. Пункты #11897 (K230D), #11892 (RISC-V Smart MMU), #11944 (RTL8125), #11943 (дисплей и аудио RK3588), поставленные в очередь на рассмотрение в прошлом выпуске, по-прежнему в очереди и не слиты, поэтому повторно отдельными записями не оформляются.


Приложение: таблица проверки источников и перечень источников

Таблица проверки источников

Источник Результат проверки
Официальный новостной интерфейс (rt_org) За 72 часа нет новых записей, последняя запись от 2026-06-17
Интерфейс статей сообщества Сайт показывает страницу WAF-проверки, список и тексты в текущем выпуске недоступны для прямого чтения
Коммиты основного репозитория 2 за окно (30.10 10:54, 18:20)
PR основного репозитория Слито 2 (#11915, #11936); создано 11, все на рассмотрении
Issue основного репозитория Создано 3 (#11956, #11958, #11960)
Releases и tags основного репозитория Новых нет, последний по-прежнему v5.3.0 (2026-09-10)
RT-Thread org (35 репозиториев) За окно пуши только в основном репозитории; packages 23.10, pkgs-test 23.10, sdk 25.10, vscode-rt-smart 26.10 — все вне окна
Поиск по репозиториям GitHub (rt-thread) Создано 15, из них 7 указаны как работы конкурса встраиваемых систем 2026
Google News на китайском 3 попадания, включено 2, 1 рекламная статья не включена
Google News на английском Ноль попаданий
HN Algolia 5 ложных совпадений по значению слова thread, вся выборка отброшена
Официальная колонка EE Times China 2 статьи за окно (30.10), обе включены

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

://github.com/leoleo-14/industrial-detector-car>