Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
buildroot-2021.05 на базе ядра 5.10.9 для i.mx8
sasamy
Добавлено 14.06.2021 10:41 Редактировалось 21.11.2023 11:36
0
Сообщение: 1
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
25.06.2021 обновлено https://disk.yandex.ru/d/V9mhb1Fn1TPRXw

архивы с исходниками (dl)
https://disk.yandex.ru/d/PZ5JE4-zMzW9sw

Четыре дефолтных конфига:

sk_min_defconfig - минимальная система, быстро собирается
sk_gst_defconfig - gstreamer и оконная система Weston
sk_qt5_defconfig - gstreamer, qt5 и Weston
sk_web_defconfig - gstreamer, qt5, Weston и wpewebkit

После дефолтного конфига

make sk_min_defconfig

нужно выбрать свою плату в меню

make menuconfig

Bootloaders --->
Starterkit i.MX8MM board (SK-iMX8Mini-MB + HDMI) --->

и собрать

make

В этой версии для аппаратного ускорения обработки видео используется gstreamer-imx,
в /root после сборки есть скриптs с примерами использования.

1) Воспроизведение видео

play.sh big_buck_bunny_1080p_surround.avi

В в дефолтном конфиге c qt есть примеры плееров

/usr/lib/qt/examples/multimedia/video/qmlvideo/qmlvideo
/usr/lib/qt/examples/multimedia/video/qmlvideofx/qmlvideofx

2) Захват видео с 4 каналов tw6869 и отображение на экране

comp4.sh

3) Захват видео с 4 каналов, сжатие h264 и сохрание в отдельных файлах

rec4.sh

4) Захват видео с 4 каналов, формирование общей картинки, сжатие h264 и трансляция по протоколу rtsp

rtsp4.sh

Для просмотра трансляции в VLC

Media->Open Network Stream

network URL -> rtsp://192.168.0.136:9099/stream

5) Web-браузер с аппартным ускорением графики и видео в режиме киоска (полноэкранный режим)

cog.sh youtube.com

пример использования плагина wpewebkit для QML

skru.sh

это программа на qml но работает как классический скрипт с шебанг

#!/usr/bin/qml

Запись на плату после сборки

./flash_emmc.sh
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.06.2021 15:40 Редактировалось 26.06.2021 15:31 Сообщение: 2
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Добавлена сборка веб-бразуера с аппаратным ускорением графики и видео. Сборка собирается достаточно долго - порядка 6 часов на 4 ядерном процессоре с 8 гигабайт памяти и может остановиться из-за оом-киллера из-за нехватки памяти - нужно просто повторно набрать make

В дефолтных конфигах размер образа ФС сделан минимально достаточный чтобы при отладке быстрей прошивать устройство, если вы что-то добавляете в сборку или нужно больше места на emmc - нужно указать размер образа, например

make menuconfig

Filesystem images --->
(1024M) exact size

При активном использовании GPU и VPU, например при просмотре видео в yotube в HD качестве процессору нужно дополнительное охлаждение - у меня на отладке приклеен радиатор, иначе всё начинает тормозить - для охлаждения система снижает частоты CPU, GPU, VPU.
Спуститься к концу Подняться к началу
Персональная информация
kosyak©
Добавлено 23.07.2021 12:38 Сообщение: 3
kosyak©
0

Пункты: 1007
Регистрация: 20.09.2016
Как запустить qt приложение на весь экран?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.07.2021 20:06 Редактировалось 23.07.2021 22:21 Сообщение: 4
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Цитата
Как запустить qt приложение на весь экран?


https://forum.qt.io/topic/40282/solved-how-to-make-full-screen-in-qt-quick

второй вариант: без Weston запускать с бекендом eglfs

killall weston
export QT_QPA_PLATFORM=eglfs

./qtapp

третий вариант: использовать kiosk shell в weston

прописать в конфиге /etc/xdg/weston/weston.ini

Цитата

[core]
# i.MX: Disable idle timeout
shell=kiosk-shell.so
idle-time=0
use-g2d=1
...


любое приложение будет работать в режиме киоска на полный экран
Спуститься к концу Подняться к началу
Персональная информация
kosyak©
Добавлено 28.09.2021 11:33 Сообщение: 5
kosyak©
0

Пункты: 1007
Регистрация: 20.09.2016
Если сразу после загрузки попробовать открыть последовательный порт (например /dev/ttymxc0)
В консоль вываливается такое сообщение:
Код

[ 18.895077] imx-uart 30860000.serial: We cannot prepare for the RX slave dma!

и данные из последовательного порта не читаются

Где-то через минуту после загрузки в консоль вываливаются такие сообщения:
Код

[ 62.487088] imx-sdma 302c0000.dma-controller: external firmware not found, using ROM firmware
[ 62.487244] imx-sdma 302b0000.dma-controller: external firmware not found, using ROM firmware
[ 62.497868] imx-sdma 30bd0000.dma-controller: loaded firmware 4.5

И после этого последовательный порт начинает работать в нормальном режиме
Как бы побороть такое поведение?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 28.09.2021 15:09 Сообщение: 6
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Цитата

Как бы побороть такое поведение?


сообщение про фирмварь видел но не замечал чтобы это на что-то влияло, консоль работает. Можно встроить фирмварь в ядро тогда драйвер её сразу найдёт ещё при загрузке ядра

Цитата

make linux-menuconfig

Device Drivers --->
Generic Driver Options --->
Firmware loader --->

(sdma/sdma-imx7d.bin) Build named firmware blobs into the kernel binary
(/home/user/buildroot-2021.05-sk/output/build/firmware-imx-8.11/firmware) Firmware blobs root directory


здесь /home/user/ - путь к buildroot на вашей системе
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 28.09.2021 19:13 Редактировалось 28.09.2021 19:28 Сообщение: 7
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Проверил сейчас у себя - драйвер ищет не там

Цитата

[ 0.550924] imx-sdma 302c0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2


путь должен быть в конфиге

imx/sdma/sdma-imx7d.bin

можно указать путь к фирмвари в корневой фс, там он правильный

Цитата

(imx/sdma/sdma-imx7d.bin) Build named firmware blobs into the kernel binary
(/home/user/buildroot-2021.05-sk/output/target/lib/firmware) Firmware blobs root directory


пересобрать, теперь драйвер находит фирмварь при загрузке ядра

Цитата

[ 0.551273] imx-sdma 302c0000.dma-controller: loaded firmware 4.5
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 29.09.2021 13:48 Редактировалось 29.09.2021 13:48 Сообщение: 8
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
При сборке mc вылетает ошибка
Код
undefined reference to `mvin_wchnstr'

Кто-нибудь сталкивался с этим?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.09.2021 16:31 Редактировалось 29.09.2021 16:31 Сообщение: 9
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Цитата
При сборке mc вылетает ошибка [code]undefined reference to `mvin_wchnstr'
Кто-нибудь сталкивался с этим?


на какой системе собираете ? на ubuntu 18.04 которая в штатной виртуалке i.mx8 я такого не встречал.
Спуститься к концу Подняться к началу
Персональная информация
Alex61RUS
Добавлено 01.10.2021 11:11 Сообщение: 10
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
Цитата
Цитата
При сборке mc вылетает ошибка [code]undefined reference to `mvin_wchnstr'
Кто-нибудь сталкивался с этим?


на какой системе собираете ? на ubuntu 18.04 которая в штатной виртуалке i.mx8 я такого не встречал.

Собираю в ubuntu 18.04, т.е. в штатной виртуальной машине для процессорного модуля imx8mm sodimm. При этом предыдущий buildroot замечательно собираеnся с пакетом mc.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux