INMYS WIKI

Инженерами для инженеров

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

Инструменты сайта


boards:nms-sm-rk3568:firmware_5.10:pci_cam

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
boards:nms-sm-rk3568:firmware_5.10:pci_cam [2024/10/30 13:03] – создано Семёнов Алексейboards:nms-sm-rk3568:firmware_5.10:pci_cam [2024/11/22 15:57] (текущий) – [Подготовка программной части для модуля NMS-SM-RK3568, Kernel 5.10 с TW6869] Артем Слепов
Строка 1: Строка 1:
-1+{{indexmenu_n>510}} 
 +===== Подготовка программной части для модуля NMS-SM-RK3568, Kernel 5.10 от Radxa ===== 
 +==== Сборка Linux при помощи Buildroot и Docker ==== 
 + 
 + 
 + 
 +Для выполнение следующей инструкции, на компьютере должно быть установлено [[https://docs.docker.com/engine/install/|Docker окружение]] 
 + 
 + 
 +==== Подготовка окружения ==== 
 +1. Указать параметры для git, если не дает скачать 
 +<code> 
 +export GIT_SSL_NO_VERIFY=1 
 +</code> 
 +2. Необходимо скачать папки: 
 +   * [[https://doc.inmys.ru/open?hash=3634d88f557950df694f9b85d1e97463&fn=buildroot_5.10.tar.gz|buildroot]] 
 +   * [[https://doc.inmys.ru/open?hash=4ef09a2f3d4e897a616fa0e314928006&fn=external.tar.gz|external]] 
 +   * [[https://gitlab.inmys.online/rk3568-kernel-5.10/kernel|kernel]] 
 +<code> 
 +wget -O buildroot_5.10.tar.gz --show-progress https://doc.inmys.ru/open?hash=3634d88f557950df694f9b85d1e97463&fn=buildroot_5.10.tar.gz  
 +wget -O external.tar.gz --show-progress https://doc.inmys.ru/open?hash=4ef09a2f3d4e897a616fa0e314928006&fn=external.tar.gz  
 +git clone https://gitlab.inmys.online/rk3568-kernel-5.10/kernel.git 
 + 
 +tar xf buildroot_5.10.tar.gz 
 +tar xf external.tar.gz 
 +</code> 
 +3. Перейти в папку container и собрать образ контейнера для работы с SDK следующей командой:  
 +<code> 
 + 
 +cd container 
 +sudo docker build -t rk3568 . 
 +</code> 
 +На выходе будет образ **rk3568**, которым можно собирать все компоненты системы. 
 +Далее необходимо перейти в родительский каталог 
 +<code>cd ..</code> 
 + 
 + 
 +==== Сборка rootfs ==== 
 +Команды сборки 
 +   * Использование конфигурации 
 +<code>sudo docker run -it -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make  rockchip_rk356x_inmys_defconfig -C buildroot</code> 
 +   * Непосредственно сборка 
 +<code>sudo docker run  -it -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make -C buildroot</code> Сборка может длится до часа, в зависимости от конфигурации компьютера, если возникла ошибка, связанная с host-gcc-final-ХХХ, то повторить команду сборки. 
 +Результаты будут лежать в папке buildroot/output/rockchip_rk356x_inmys/images. 
 + 
 +==== Сборка kernel ==== 
 +Команды сборки: 
 +   * Использование конфигурации 
 +<code>sudo docker run -it -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/rockchip_rk356x_inmys/host/bin/aarch64-buildroot-linux-gnu- rk3568_inmys_defconfig -C kernel</code> 
 +   * Сборка образа 
 +<code>sudo docker run  -it -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/rockchip_rk356x_inmys/host/bin/aarch64-buildroot-linux-gnu- Image -C kernel</code> 
 +Результаты будут лежать в папке kernel/arch/arm64/boot/Image.  
 +==== Сборка dtb ==== 
 +Команда сборки <code>sudo docker run -it -e USER=$USER  -e USERID=$UID -v $(pwd):/BR -t rk3568 make ARCH=arm64 CROSS_COMPILE=/BR/buildroot/output/rockchip_rk356x_inmys/host/bin/aarch64-buildroot-linux-gnu- rockchip/rk3568-inmys-smarc-evm.dtb -C kernel</code> 
 +Результат будет лежать в папке kernel/arch/arm64/boot/dts/rockchip/rk3568-inmys-smarc-evm.dtb. 
 + 
 +===== Прошивка SD карты ===== 
 +Скачайте архив со скриптами для прошивки [[https://doc.inmys.ru/hash/52afccc1b00b1d39c8f8d11879aa3b30/rk3568_burn_pci_cams.tar.gz|burn.tar.gz]] 
 +  - Перейти в каталог burn <code>cd burn</code> 
 +  - Создать временный каталог для монтирования карты памяти <code>mkdir /mnt/d4</code> 
 +  - Скопируйте файл buildroot/output/rockchip_rk356x_inmys/images/rootfs.ext2 в каталог burn/rootfs.ext2 
 +  - Скопируйте файл kernel/arch/arm64/boot/Image burn/pboot/Image 
 +  - kernel/arch/aarch64/boot/dts/rockchip/rk3568-inmys-smarc-evm.dtb burn/pboot/rk3568-inmys-smarc-evm.dtb 
 +  - Выполните команду: <code>cp burn/pboot/rk3568-inmys-smarc-evm.dtb burn/pboot/rk-kernel.dtb</code> 
 +  - Выполните команду <code>sudo ./burn_sd.sh /dev/sdX</code> __**ГДЕ ВМЕСТО X БУКВА КАРТЫ ПАМЯТИ**__ 
 + 
 +===== Проверка ===== 
 +Для проверки установки видео-драйверов, выполните следующие команды: 
 +<code> 
 +uname -a 
 +gst-inspect-1.0 | grep mpph 
 +</code> 
 +Корректный результат: 
 +<code> 
 +# uname -a 
 +Linux rk3568 5.10.160 #7 SMP Tue Jan 30 14:22:12 UTC 2024 aarch64 GNU/Linux 
 +# gst-inspect-1.0 | grep mpph 
 +rockchipmpp:  mpph264enc: Rockchip Mpp H264 Encoder 
 +rockchipmpp:  mpph265enc: Rockchip Mpp H265 Encoder 
 +</code> 
 + 
 +Для записи видео, рекомендуется увеличить чувствительность камеры (для проверки используется imx219): 
 +<code> 
 +v4l2-ctl -c gain=2000 
 +</code> 
 +Запись в файл output.mp4: 
 +<code> 
 +gst-launch-1.0 -e v4l2src device=/dev/video1 ! videoconvert ! mpph264enc ! h264parse ! qtmux ! filesink location=output.mp4 
 +</code>
boards/nms-sm-rk3568/firmware_5.10/pci_cam.1730293391.txt.gz · Последнее изменение: 2024/10/30 13:03 — Семёнов Алексей