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

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


boards:nms-uq7-komdiv-mk:user-guide

Различия

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

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

Следующая версия
Предыдущая версия
boards:nms-uq7-komdiv-mk:user-guide [2026/07/15 14:51] – [Подготовка загрузочной флешки] Илья Ковальчукboards:nms-uq7-komdiv-mk:user-guide [2026/08/06 12:50] (текущий) – [Первый запуск] Илья Ковальчук
Строка 1: Строка 1:
-====== Руководство пользователя ======+Руководство пользователя
  
 Страница содержит руководство по подготовке программной части, сборке rootfs и ядра Linux для модуля **Q7_KOMDIV_MK**. Страница содержит руководство по подготовке программной части, сборке rootfs и ядра Linux для модуля **Q7_KOMDIV_MK**.
  
-===== Общая информация =====+<note tip> 
 +Скачать примеры бинарников для запуска Linux:  https://disk.360.yandex.ru/d/11mHF4DiqqxNxQ 
 +</note> 
 + 
 + 
 +## Общая информация
  
 **Q7_KOMDIV_MK** используется как вычислительный модуль в составе встраиваемых и серверных систем. Для работы модуля требуется подготовить загрузчик, ядро Linux и корневую файловую систему. **Q7_KOMDIV_MK** используется как вычислительный модуль в составе встраиваемых и серверных систем. Для работы модуля требуется подготовить загрузчик, ядро Linux и корневую файловую систему.
Строка 16: Строка 21:
 | Сборка rootfs  | через Docker-контейнер komdiv-sdk               | | Сборка rootfs  | через Docker-контейнер komdiv-sdk               |
  
-===== Состав программной части Q7_KOMDIV_MK =====+ 
 +## Комплектация отладочного комплекта 
 + 
 +В комплекте с модулем ''Q7_KOMDIV_MK'' предоставляются: 
 + 
 +{{ komdiv-evm-pack.jpg?480 }} 
 +  * кабель USB Type-C для подключения отладочной консоли; 
 +  * прищепка DIP8-SOIC8 для прошивки загрузчика Barebox в модуль; 
 +  * переходник для подключения прищепки к [FT2232H-56Q Mini Module](https://www.chipdip.ru/product/ft4232h-56q-mini-mdl-ftdi-8052788321); 
 +  * радиатор охлаждения** ; 
 +  * блок питания 12V. 
 + 
 +<note>**SoC выполнен по технологии 65 нм. Температура 65C под нагрузкой при комнатной температуре 25C без радиатора считается штатной.  
 +Необходимо учитывать в конечном изделии тепловыделение модуля 4 Вт. 
 +Для отладки предложен алюминевый радиатор 28x28x11 mm с теплопроводящим клеем.</note> 
 + 
 + 
 +## Состав программной части Q7_KOMDIV_MK
  
 Для работы модуля требуется три основных компонента: Для работы модуля требуется три основных компонента:
Строка 27: Строка 49:
 <note important>На данный момент исходный код распространяется через репозитории с приватным доступом.  <note important>На данный момент исходный код распространяется через репозитории с приватным доступом. 
  
-Для получения токена обратитесь на почту info@inmys.ru</note> +Для получения токена обратитесь на почту **info@inmys.ru**</note> 
-===== Подготовка окружения =====+ 
 + 
 +## Подготовка окружения
  
 Сборка выполняется на **Ubuntu 24.04**. Сборка выполняется на **Ubuntu 24.04**.
  
-Перед началом работы необходимо обновить список пакетов и установить кросс-компилятор для MIPS:+Перед началом работы необходимо обновить список пакетов и установить кросс-компилятор для MIPS (требуется для сборки barebox):
  
-<code>+``` bash
 sudo apt update sudo apt update
 sudo apt install -y cpp-mips64el-linux-gnuabi64 sudo apt install -y cpp-mips64el-linux-gnuabi64
-</code>+```
  
 Также предполагается, что на хостовой машине установлен Docker. Также предполагается, что на хостовой машине установлен Docker.
  
-===== Сборка BareBox ===== + 
-<code> +## Сборка BareBox 
-git clone gitlab.inmys.inline ..+ 
-make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- srisa_defconfig+Введите высланные логин и токен с info@inmys.ru вместо ''XXXXX'' и ''YYYYY'' и выполните команды: 
 +``` bash 
 +git clone https://XXXXX:YYYYY@gitlab.inmys.online/srisa/k5500vk018-barebox.git 
 + 
 +cd k5500vk018-barebox 
 + 
 +make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- srisa_k64s_defconfig
  
 make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- -j24 make ARCH=mips CROSS_COMPILE=mips64el-linux-gnuabi64- -j24
-</code>+```
  
 Результат сборки находится по пути ''images/barebox-rbm_c1k5500vk018-el.img'' Результат сборки находится по пути ''images/barebox-rbm_c1k5500vk018-el.img''
-===== Сборка образа системы ===== 
  
-Введите логин и токен вместо ''XXXXX'' и ''YYYYY'' и выполните команду: 
  
-<code>+## Сборка образа системы 
 + 
 +Введите высланные логин и токен с info@inmys.ru вместо ''XXXXX'' и ''YYYYY'' и выполните команду: 
 + 
 +``` bash
 LOGIN="XXXXX"; TOKEN="YYYYY"; printf "machine gitlab.inmys.online\nlogin %s\npassword %s\n" "$LOGIN" "$TOKEN" > .gitlab.netrc LOGIN="XXXXX"; TOKEN="YYYYY"; printf "machine gitlab.inmys.online\nlogin %s\npassword %s\n" "$LOGIN" "$TOKEN" > .gitlab.netrc
-</code>+```
  
 Выполните следующие команды: Выполните следующие команды:
-<code>+``` bash
 mkdir -p container mkdir -p container
 cd container  cd container 
Строка 69: Строка 101:
 git clone https://github.com/inmys/buildroot-external-inmys.git  -b nms-q7-k5500vk018 git clone https://github.com/inmys/buildroot-external-inmys.git  -b nms-q7-k5500vk018
 sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -v "$(pwd)/.gitlab.netrc:/root/.netrc:ro" --cpus=12 -t komdiv-sdk bash  sudo docker run -it -e USER=$USER -e USERID=$UID -v $(pwd):/BR -v "$(pwd)/.gitlab.netrc:/root/.netrc:ro" --cpus=12 -t komdiv-sdk bash 
-</code>+```
  
 В Docker-контейнере выполнить: В Docker-контейнере выполнить:
-<code>+``` bash
 make BR2_EXTERNAL=$PWD/buildroot-external-inmys -C buildroot-2025.02.7 O=$PWD/output br_defconfig make BR2_EXTERNAL=$PWD/buildroot-external-inmys -C buildroot-2025.02.7 O=$PWD/output br_defconfig
 cd output cd output
 export FORCE_UNSAFE_CONFIGURE=1  export FORCE_UNSAFE_CONFIGURE=1 
 make -j12 make -j12
-</code>+```
  
 После завершения сборки необходимо выйти из контейнера сочетанием клавиш ''Ctrl + D'' После завершения сборки необходимо выйти из контейнера сочетанием клавиш ''Ctrl + D''
Строка 83: Строка 115:
 Результаты сборки находятся в директории ''output/images/'' Результаты сборки находятся в директории ''output/images/''
  
-===== Прошивка загрузчика в SPI-флешку =====+ 
 +## Прошивка загрузчика в SPI-флешку
  
 Осуществляется программатором FT2232H-56Q Mini Module с установленным переходником FT2232H-56Q Mini Module_Adapter Осуществляется программатором FT2232H-56Q Mini Module с установленным переходником FT2232H-56Q Mini Module_Adapter
Строка 89: Строка 122:
 Необходимо подключить программатор FT2232H-56Q Mini Module к ПК Необходимо подключить программатор FT2232H-56Q Mini Module к ПК
 и подключить прищепку к плате, красным проводом вверх. Правильное положение прищепки достигается, если плата Q7_KOMDIV_MK установлена в отладочную плату NMS-Q7-EVM-MINI и подключить прищепку к плате, красным проводом вверх. Правильное положение прищепки достигается, если плата Q7_KOMDIV_MK установлена в отладочную плату NMS-Q7-EVM-MINI
-| {{ :inmys:prj:inmys:brd:nms-uq7-k5500vk018:v2:bringup:photo_2026-05-27_19-13-12.jpg?500 |}} | {{ :inmys:prj:inmys:brd:nms-uq7-k5500vk018:v2:bringup:photo_2026-05-27_19-13-14.jpg?500 |}} |+{{tablelayout?rowsHeaderSource=Auto}} 
 +| {{ burn-barebox-1.jpg?480 }} |  {{ burn-barebox-2.jpg?480 }}   |
  
-==== Linux (Пример для Ubuntu 24.04) ====+ 
 +### Linux (Пример для Ubuntu 24.04)
  
 Установка зависимостей: Установка зависимостей:
-<code>+``` bash
 sudo apt update && sudo apt install flashrom -y  sudo apt update && sudo apt install flashrom -y 
-</code>+``` 
 + 
 +Прошивка производится с помощью скрипта [burn-barebox.sh](https://disk.360.yandex.ru/d/YOFf-XhxbfylWQ) (скрипт также присутствует в репозитории barebox): 
 +``` bash 
 +# Скачивание 
 +wget https://nextcloud.inmys.online/nextcloud/index.php/s/4Cyp3YZ4w82oTxt/download -O burn-barebox.sh 
 +# Установка 
 +chmod +x burn-barebox.sh 
 +sudo ./burn-barebox.sh barebox-rbm_c1k5500vk018-el.img  
 +```
  
-Прошивка производится с помощью скрипта [[https://disk.360.yandex.ru/d/YOFf-XhxbfylWQ|burn-barebox.sh]]: +[Пример barebox-rbm_c1k5500vk018-el.img.](https://disk.360.yandex.ru/d/11mHF4DiqqxNxQ)
-<code> +
-./burn-barebox.sh barebox-rbm_c1k5500vk018-el.img  +
-</code>+
  
 <hidden Пример успешного вывода> <hidden Пример успешного вывода>
-<code>+``` bash
 4+0 records in 4+0 records in
 8192+0 records out 8192+0 records out
Строка 128: Строка 169:
 Erasing and writing flash chip... Erase/write done. Erasing and writing flash chip... Erase/write done.
 Verifying flash... VERIFIED. Verifying flash... VERIFIED.
-</code>+```
 </hidden> </hidden>
  
-==== Windows ====+ 
 +### Windows
  
   * Скачать и установить flashrom для windows https://github.com/therealdreg/flashrom_build_windows_x64   * Скачать и установить flashrom для windows https://github.com/therealdreg/flashrom_build_windows_x64
Строка 138: Строка 180:
  
 Определение флешки программатором:  Определение флешки программатором: 
-<code>+``` bash
 .\flashrom.exe -p ft2232_spi:type=2232H,port=A,divisor=4  .\flashrom.exe -p ft2232_spi:type=2232H,port=A,divisor=4 
-</code>+```
  
 Чтение файла из памяти:  Чтение файла из памяти: 
-<code>+``` bash
 .\flashrom.exe --progress -V -c "W25Q32JV" -p ft2232_spi:type=2232H,port=A,divisor=4 -r filename.bin .\flashrom.exe --progress -V -c "W25Q32JV" -p ft2232_spi:type=2232H,port=A,divisor=4 -r filename.bin
-</code>+```
  
 Запись файла в память:  Запись файла в память: 
-<code>+``` bash
 .\flashrom.exe --progress -V -c "W25Q32JV" -p ft2232_spi:type=2232H,port=A,divisor=4 -w filename.bin .\flashrom.exe --progress -V -c "W25Q32JV" -p ft2232_spi:type=2232H,port=A,divisor=4 -w filename.bin
-</code>+```
  
-===== Подготовка загрузочной флешки ===== 
  
-Для первого запуска необходимо подготовить загрузочную флешку.+## Подготовка загрузочной флешки 
 +Скачать ресурсы: https://disk.360.yandex.ru/d/11mHF4DiqqxNxQ
  
-Прошейте флешку используя [[1111|скрипт]]: +Для первого запуска необходимо подготовить загрузочную флешку. Для прошивки флешки необходимо, чтобы в той же директории, что и скрипт, находились vmlinuz и файл .dtb. 
-<code>+ 
 +Прошивка USB-флешки/SD-карты 
 +``` bash
 sudo chmod +x burn-boot-usb.sh sudo chmod +x burn-boot-usb.sh
 sudo ./burn-boot-usb.sh /dev/sdX #где X - буква прошиваемой флешки sudo ./burn-boot-usb.sh /dev/sdX #где X - буква прошиваемой флешки
-</code>+```
  
 В конце ожидайте вывод: ''Флешка подготовлена'' В конце ожидайте вывод: ''Флешка подготовлена''
 +
 +
 +## Первый запуск
 +<note important> 
 +1. Для работы девайса программатор необходимо отключить
 +2. На SD-карте не отрабатывает CD#. SD-карта работает если была вставлена до подачи питания.
 +</note>
 +
 +В Barebox установлен приоритет загрузки на USB или SD-карту. Поэтому если вставлен внешний накопитель, то загрузка будет происходить с него.
 +
 +  * Вставьте флешку в отладочную плату и подайте питание
 +  * Дождитесь конца загрузки и зайдите под root/root
 +  * Установите уникальные MAC-адреса, разметьте EMMC и перенесите образ на EMMC следующими командами
 +
 +<note>Мак-адреса задаются через переменные окружения barebox (хранятся в SPI-флешке). 
 +Модули оснащены i2c eeprom с EUI-48. Можно использовать их в качестве уникальных адресов (auto-burn-macs.sh).  
 +При наличии у заказчика собственных уникальных мак-адресов можно использовать manual-burn-mac.sh</note>
 +
 +Логин/пароль: root/root
 +
 +``` bash
 +/root/auto-burn-macs.sh
 +
 +umount /dev/mmcblk0* > /dev/null 2>&1
 +echo 'n p 1  +1G n p 2  +1G n p 3  +1G w' | tr ' ' '\n' | fdisk -u /dev/mmcblk0
 +
 +mke2fs -F /dev/mmcblk0p1
 +mke2fs -F /dev/mmcblk0p2
 +mke2fs -F /dev/mmcblk0p3
 +
 +mount /dev/mmcblk0p1 /boot
 +
 +mount "$(blkid /dev/sd* | grep 'LABEL="Q7_BOOT"' | cut -d: -f1)" /mnt # one-liner для монтирования boot раздела флешки  
 +
 +cp /mnt/k5500vk018-inmys-q7.dtb /boot
 +cp /mnt/vmlinuz /boot
 +sync
 +
 +umount /dev/mmcblk0p1
 +umount "$(blkid /dev/sd* | grep 'LABEL="Q7_BOOT"' | cut -d: -f1)"
 +```
 +
 +После того как команды были успешно выполнены, можно выключать питание и работать без флешки. Платформа готова к работе.
 +
 +[Примеры работы с периферией](https://wiki.inmys.ru/boards:nms-uq7-komdiv-mk:peripherial:start)
  
boards/nms-uq7-komdiv-mk/user-guide.1784127075.txt.gz · Последнее изменение: Илья Ковальчук