Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| boards:nms-uq7-imx8mini:buildsw [2022/07/18 14:12] – Владимир Андреев | boards:nms-uq7-imx8mini:buildsw [2022/09/08 10:03] (текущий) – Komlik Ivan | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ===== Сборка программной части для IMX8M_MN ===== | + | ===== Сборка программной части для IMX8M_MN/MM ===== |
| - | Для сборка загрузчика, | + | Для сборки загрузчика, |
| * Распаковать sdk < | * Распаковать sdk < | ||
| - | * Cкопировать firmware-imx-8.10.bin в папку sdk_2021.04.24/ | + | |
| - | * Собрать образ контейнера sudo docker build -t px30_generic . | + | |
| + | * Собрать образ контейнера | ||
| + | ==== kernel ==== | ||
| + | Для сборки kernel,dtb, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | ||
| + | < | ||
| + | sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/kernel | ||
| + | </ | ||
| + | Результат: | ||
| + | * // | ||
| + | * // | ||
| + | |||
| + | |||
| + | ==== bootloader ==== | ||
| + | | ||
| + | < | ||
| + | sudo docker run -v $(pwd):/BR -t px30_generic make -C / | ||
| + | </ | ||
| + | |||
| + | Результат: | ||
| + | * // | ||
| + | |||
| + | Для сборки bootloader для загрузки с sd card, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | ||
| + | < | ||
| + | sudo docker run -v $(pwd):/BR -t px30_generic make -C / | ||
| + | </ | ||
| + | |||
| + | Результат: | ||
| + | * // | ||
| + | |||
| + | Сделать SDcard загрузочной (установка bootloader на SDcard) | ||
| + | < | ||
| + | dd if=bootloader/ | ||
| + | </ | ||
| ==== rootfs ==== | ==== rootfs ==== | ||
| Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | ||
| < | < | ||
| - | sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake | + | sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/rootfs |
| </ | </ | ||
| Начнёт скачиваться buildroot. На некотором моменте загрузка завершится с ошибкой, | Начнёт скачиваться buildroot. На некотором моменте загрузка завершится с ошибкой, | ||
| < | < | ||
| - | tar -xvf dl.tar.gz -P <ПУТЬ_ДО_ПАПКИ_SDK> | + | sudo tar -xvf ../dl.tar.gz -C rootfs/ |
| + | </code> | ||
| + | Выполнить очистку проекта | ||
| + | < | ||
| + | cd rootfs/ | ||
| + | sudo make clean | ||
| + | cd ../../ | ||
| </ | </ | ||
| Запустить сборку второй раз: | Запустить сборку второй раз: | ||
| < | < | ||
| - | sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake | + | sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/rootfs |
| + | </ | ||
| + | Результат: | ||
| + | |||
| + | ==== создание загрузочной sd карты ==== | ||
| + | понадобятся bootloader/ | ||
| + | |||
| + | < | ||
| + | sudo su | ||
| + | cd < | ||
| + | dev=/ | ||
| + | umount ${dev}* | ||
| + | echo 'o n p 1 16384 +2G n p 2 4210688 +1G w'| tr ' ' ' | ||
| + | dd if=rootfs/ | ||
| + | dd if=bootloader/ | ||
| + | sync | ||
| + | </ | ||
| + | Вставить sd карту в отладочную плату, установить jumper " | ||
| + | подать питание, | ||
| + | ввести | ||
| + | < | ||
| + | setenv mmcdev 1 | ||
| + | saveenv | ||
| + | boot | ||
| + | </ | ||
| + | |||
| + | ==== Советы howto ==== | ||
| + | вот так можно собрать cmake проект: | ||
| + | < | ||
| + | BR=< | ||
| + | cmake -DCMAKE_TOOLCHAIN_FILE=${BR}/ | ||
| + | make | ||
| + | в toolchainfile.cmake указаны пути к компилятору. библиотекам и includ-ам | ||
| </ | </ | ||