Подготовка Radxa ROCK 3A к запуску примеров

Коммутация компьютера и Radxa ROCK 3A

Чтобы видеть вывод с Radxa ROCK 3A на компьютере и иметь возможность отладки, выполните следующие действия:

  1. Соедините пины преобразователей USB-UART с соответствующими GPIO-пинами Radxa ROCK 3A (см. рис. ниже). Если отладку выполнять не требуется, то достаточно подключить один преобразователь USB-UART для вывода.

    RPI_USB

    Схема соединения преобразователей USB-UART и Radxa ROCK 3A

  2. Соедините USB-порты компьютера и преобразователи USB-UART.
  3. Установите PuTTY или другую аналогичную программу. Настройте параметры следующим образом:
    • bps = 115200, data bits = 8, stop bits = 1, parity = none, flow control = none для основного вывода;
    • bps = 115200, data bits = 8, stop bits = 1, parity = none, flow control = none для отладочного вывода.

    Задайте порт USB, через который подключен преобразователь USB-UART, используемый для получения вывода с Radxa ROCK 3A.

Чтобы компьютер и Radxa ROCK 3A могли взаимодействовать через сеть Ethernet, выполните следующие действия:

  1. Соедините сетевые карты компьютера и Radxa ROCK 3A с коммутатором или друг с другом.
  2. Выполните настройку сетевой карты компьютера, чтобы ее IP-адрес был в одной подсети с IP-адресом сетевой карты Radxa ROCK 3A (параметры сетевой карты Radxa ROCK 3A задаются в файле dhcpcd.conf, который находится по пути <название примера>/resources/...).

Подключение модуля eMMC

Для работы с примерами, использующими драйвер SDHC, необходимо подключить накопитель: microSD-карту или модуль eMMC. По умолчанию примеры для Radxa ROCK 3A сконфигурированы для работы с microSD-картой. Чтобы использовать модуль eMMC, необходимо установить на плату Radxa ROCK 3A совместимый модуль eMMC (например, eMMC 5.1 Module 32Gb для Rock Pi). Без подключенного модуля eMMC при запуске примеров в стандартном выводе будут отображаться ошибки инициализации драйвера SDCard (который является частью стека драйверов SDHC). Также В CMake-файле сборки решения необходимо изменить индекс устройства в свойстве EXTRA_ENV с 1 (microSD-карта) на 0 (eMMC), используя функцию set_target_properties().

# Конфигурация для microSD-карты (используется по умолчанию для Radxa ROCK 3A)

set_target_properties(Client PROPERTIES EXTRA_ENV " MMC_DEV_NUM: '1'")

# Конфигурация для модуля eMMC

set_target_properties(Client PROPERTIES EXTRA_ENV " MMC_DEV_NUM: '0'")

Подготовка загрузочной SD-карты для Radxa ROCK 3A

Если при сборке примера был создан образ hdd.img, то достаточно записать получившийся образ на SD-карту. Для этого подключите SD-карту к компьютеру и выполните следующую команду:

# В следующей команде path_to_img – путь к файлу образа,

# [X] – последний символ в имени блочного устройства для SD-карты.

$ sudo dd of=/dev/sd[X] if=path_to_img status=progress bs=64K conv=fsync

Если при сборке примера был создан образ kos-image, то перед записью образа на SD-карту, её нужно дополнительно подготовить. Загрузочную SD-карту для Radxa ROCK 3A можно подготовить автоматически и вручную. После подготовки SD-карты, необходимо скопировать файл kos-image из директории <название примера>/build/einit в загрузочную область (раздел с FAT32) подготовленной SD-карты.

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

# Для создания файла образа загрузочного носителя (*.img)

# выполните скрипт:

$ sudo /opt/KasperskyOS-Community-Edition-<platform>-<version>/common/rock3a_prepare_sdcard_image.sh

# В следующей команде path_to_img – путь к файлу образа

# загрузочного носителя (этот путь выводится по окончании

# выполнения предыдущей команды), [X] – последний символ

# в имени блочного устройства для SD-карты.

$ sudo dd of=/dev/sd[X] if=path_to_img status=progress bs=64K conv=fsync

Очистка флеш-памяти Radxa ROCK 3A

В некоторых модификациях Radxa ROCK 3A во флеш-памяти может находиться загрузчик, который несовместим с картой, подготовленной по инструкции выше.

Если при запуске примеров на Radxa ROCK 3A вы видите сообщение "SPL: failed to boot from all boot devices", то вам необходимо очистить флеш-память Radxa ROCK 3A перед запуском примеров.

Чтобы очистить флеш-память Radxa ROCK 3A:

  1. Скачайте и установите утилиту rkdeveloptool.

    Инструкции по установке утилиты приведены в документации: https://docs.radxa.com/en/rock3/rock3a/low-level-dev/rkdeveloptool?host-os=debian#installation-for-rkdeveloptool

  2. Скачайте загрузчик для взаимодействия с Radxa ROCK 3A: https://dl.radxa.com/rock3/images/loader/rk356x_spl_loader_ddr1056_v1.12.109_no_check_todly.bin
  3. Переведите Radxa ROCK 3A в режим Maskrom:
    1. Отключите питание.
    2. Извлеките SD-карту (и модуль eMMC при наличии).
    3. Соедините USB-порт компьютера с портом ROCK 3A OTG (верхний порт USB3.0).
    4. Соедините пины Radxa ROCK 3A как показано на рисунке ниже и подайте питание на Radxa ROCK 3A.

      RPI_USB

    5. Разомкните пины, соединенные на предыдущем шаге.
    6. Убедитесь, что Radxa ROCK 3A находится в режиме Maskrom, выполнив в терминале следующую команду:

      $: rkdeveloptool ld

      DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=104 Maskrom

  4. Очистите флеш-память Radxa ROCK 3A, выполнив в терминале следующие команды:

    rkdeveloptool ef

    rkdeveloptool rd

В начало