Примечания к выпуску
2022.09
Важно
Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Основные изменения
Добавлена поддержка DDR High — увеличен объем доступной памяти ОЗУ в Linux (до 7.5 ГБ на модулях ELV-MC03-SMARC):
Обновлены компоненты sbl, ddrinit, TF-A, U-Boot, Linux.
Тулчейн
toolchain-mipsel-elvees-elf32
MIPS RISC0 обновлен до версии r184962_6.2022-05-17 (GCC 11.2.0).Обновлен скрипт
external-mcom03/contrib/mcom03-boot.mdb
для загрузки образов TF-A и U-Boot в DDR High.Пример распределения памяти ОЗУ ELV-MC03-SMARC (установлено 8 ГБ DDR):
0.5 ГБ для DDR Low RISC0 (например, ПО доверенной загрузки, по 0.25 ГБ на DDR-контроллер).
1 ГБ зарезервирован для корректной работы драйверов выполняющих atomic allocation. Резервирование выполнено в файле
/etc/sysctl.d/vm-min-free-kbytes.conf
rootfs.Объём памяти для пользовательских приложений ~6 ГБ (поле
available
командыfree
).
Добавлена поддержка программной перезагрузки в Linux (команда
reboot
). Подробнее см. Поддержка Watchdog.GStreamer-плагины в бинарном виде Felix ISP добавлены в основную сборку Buildroot.
Добавлен пакет ElcoreNN SDK — набор средств разработки для запуска нейросетей на DSP.
Добавлена поддержка переменных окружения QSPI0 U-Boot в ОС Linux.
Добавлена поддержка модулей:
ELV-SMARC-CB r1.0 с установленным модулем ELV-MC03-SMARC r1.1.
ELV-MC03-CB r1.1.0 с установленным модулем ELV-MC03 r2.0.
Обновлена документация:
Дистрибутив Buildroot — добавлены главы по прошивке eMMC, обзору загрузки ОС, запуску ОС на ROCK Pi N10.
Ядро Linux — добавлены главы с описанием поддерживаемых интерфейсов модулей.
ddrinit
Добавлена поддержка VMMU RISC0.
Добавлена поддержка DDR High.
Добавлена начальная поддержка загрузки в режиме BootROM.
U-Boot
Добавлена поддержка режима Quad в драйвере Silvaco QSPI.
Добавлена установка переменных окружения при первичной загрузке модуля (если область переменных в QSPI0 была пустая).
Исправлено зависание при чтении с QSPI.
Добавлена поддержка I2C в U-Boot (по умолчанию I2C включен для модуля MCom-03 BuB).
TF-A
Добавлена поддержка BL32.
Добавлена поддержка отключения CPU в PSCI.
Linux
Добавлена поддержка загрузки Linux с использованием DDR High-диапазона (обновлены драйверы PCIe, Ethernet, SDMMC, USB).
Добавлена поддержка Ethernet multicast.
Добавлена поддержка Ethernet 10 Mbit/s.
Добавлена поддержка DSI-дисплеев B101UAN01.7, U101FP05.
Добавлена поддержка DesignWare SPI0.
Добавлен драйвер Silvaco QSPI в Linux (QSPI0).
Исправлен неправильный clk_rate для VPU в драйвере частот.
Отключен вывод видео на параллельный порт при выводе на DSI-дисплей.
Buildroot
Добавлены утилиты чтения/установки переменных окружения U-Boot в Linux
fw_printenv
,fw_setenv
(Buildroot пакетuboot-tools
).Пакет
wget
заменён с версии BusyBox на стандартный (доступен расширенный набор опций утилиты).Добавлен бенчмарк
f3
(Fight Flash Fraud) — набор утилит для тестирования Flash-накопителей.Включена сборка пакета
collectd
(сервис сбора статистики о системе). systemd-сервис выключен по умолчанию.Включена сборка пакетов поддержки SATA, IIO, NFC, NMEA —
smartmontools
,libiio
,libnfc
,gpsd
.
Поддержка VPU ARM Mali V61
В GStreamer-плагине
gst-omx
реализована поддержка поворота изображения на 90°, 180°, 270° при кодировании.В GStreamer-плагине
gst-omx
добавлена поддержка отражения входных кадров при кодировании.Добавлена поддержка параметра
qfactor
для элементаomxmjpegenc
GStreamer-плагинаgst-omx
.Обновлена документация плагинов (см. Поддержка аппаратных блоков в GStreamer).
Поддержка Elcore-50 DSP
Обновлен тулчейн DSP Elcore-50 до версии r1613_806_2022.07.19.
В Buildroot интегрирован ElcoreNN SDK 1.3.1 — набор средств разработки для запуска нейросетей на DSP:
Включены Buildroot-пакеты
elcorenn
,elcorenn-examples
.Опубликована документация ElcoreNN SDK.
Библиотека ElcoreCL и драйверы Elcore-50 обновлены до версии 1.0:
Опубликована документация Elcore-50 SDK:
Разработаны инструкции по запуску hello-world на DSP в Buildroot (Buildroot-пакет
elcorecl-examples
), профилированию, управления задачами DSP. Добавлено описание утилит elcorectl, elcorecl-run.Включены Buildroot-пакет профилирования драйвера elcore50 (
python-elcorecl
).Добавлена поддержка профилирования gprof DSP-приложений.
Обновлен механизм сборки DSP-приложений в ElcoreCL:
cmake-модуль ElcoreProject был удален из субмодуля lib/cmake и перенесен в пакет библиотеки ElcoreCL.
cmake-макрос
elcoreproject_add()
теперь доступен после подключения библиотеки ElcoreCL черезfind_package()
.
Исправлены исключения по чтению и записи на вершине стека при использовании «круглых» адресов.
Исправлены утечки памяти в драйвере DSP при запуске приложений с использованием elcorecl-run.
Оптимизиован драйвер QLIC — уменьшено количество обращений к регистрам QLIC в обработчике прерывания.
Поддержка Felix ISP
Компоненты поддержки Felix ISP перенесены в основную сборку Buildroot.
Добавлена поддержка библиотеки
gpiod
для управления питанием и сбросами сенсоров.Добавлено автоопределение конфигурации сенсоров OV2718 в зависимости от ревизии сенсоров.
Поддержка ELV-SMARC-CB
Добавлена поддержка сборки Buildroot для ELV-MC03-SMARC r1.0 в составе ELV-SMARC-CB r1.0 (фрагмент
elvsmarccb.fragment
). Подробнее см. Ядро Linux.
Поддержка ELV-MC03-CB
Добавлена поддержка сборки Buildroot для ELV-MC03 r2.0 в составе ELV-MC03-CB r1.1.0 (фрагмент
elvmc03cb.fragment
).
Поддержка NGFW-CB
Добавлена поддержка GPIO-расширителя TCA6416ARTWR.
Добавлена поддержка интерфейса 1-Wire на DS2482.
В Buildroot включен пакет с прошивками для работы Wi-Fi модулей на основе Atheros QCA6174.
В Linux-драйвере
lan743x
исправлена автозагрузка при работе с устройствами на основе Microchip LAN743x PCI Express Gigabit Ethernet.Исправлены ошибки при работе uSD-карты (SDMMC1).
Поддержка EGW-CB
Добавлена поддержка сборки Buildroot для EGW-PM r1.0 в составе EGW-CB r1.1 (фрагмент
egwcb.fragment
).Добавлена поддержка GPIO-расширителя MCP23017.
Добавлена поддержка модуля Lora RAK2287.
Добавлена поддержка модуля Wi-Fi SparkLAN WNFQ-261ACNI(BT).
Поддержка сенсоров температуры LM73.
Добавлена поддержка Micro Crystal RV-8803 RTC.
2022.06
Важно
Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Исправлена настройка частот в SBL, ddrinit. Некорректная настройка приводила к зависаниям при параллельной работе нескольких ведущих на шине AXI.
Тулчейн Codescape MIPS заменён на тулчейн MIPS от АО НПЦ ЭЛВИС (рецепт сборки для тулчейна см. директории
external-mcom03
). Тулчейн от ЭЛВИС реализует обходы аппаратных ошибок RISC0. ОбновлёнDockefile.ubuntufocal
для поддержки тулчейна.Добавлен архив с тулчейнами (aka Buidroot SDK), см. файл
images/aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz
.ddrinit портирован с ARM CPU на MIPS RISC0. Время инициализации DDR увеличилось до 1 с. ddrinit может быть оптимизирован в будущих версиях.
TF-A обновлён до версии 2.6.
В GStreamer-плагинах добавлена поддержка кодирования и декодирования H.265, кодирования MJPEG.
В U-Boot в драйвере NAND-контроллера отключена поддержка подстраниц (subpage) — контроллер не поддерживает подстраницы.
Поддержка Felix ISP:
Добавлена сборка с GStreamer-компонентами gst-felix для поддержки Felix ISP. Примеры запуска видеосенсора OV5647 на ROCK Pi N10 с установленным модулем ELV-MC03-SMARC r1.1 см. ISP Felix v2505.
В драйвере ISP поддержано отключение частот при отключенном приёме видео.
Компоненты поддержки Felix ISP доступны в сборке rockpi-private и будут перенесены в основную сборку rockpi в будущих версиях.