Коммутация компьютера и Radxa ROCK 3A
Чтобы видеть вывод с Radxa ROCK 3A на компьютере и иметь возможность отладки, выполните следующие действия:
Схема соединения преобразователей USB-UART и Radxa ROCK 3A
bps = 1500000, data bits = 8, stop bits = 1, parity = none, flow control = none
. Задайте порт USB, через который подключен преобразователь USB-UART, используемый для получения вывода с Radxa ROCK 3A.Чтобы компьютер и Radxa ROCK 3A могли взаимодействовать через сеть Ethernet, выполните следующие действия:
dhcpcd.conf
, который находится по пути <название примера>/resources/...
).Отладка программ на для Radxa ROCK 3A
Для того чтобы выполнять отладку программ, запущенных на Radxa ROCK 3A, необходимо:
.gdbinit
и добавить в него следующие строки:set sysroot /opt/KasperskyOS-Community-Edition-<version>/sysroot-aarch64-kos
add-symbol-file <path_to_debuggee>/build/einit/EinitQemu-kss/ksm.module
set follow-fork-mode parent
set follow-exec-mode same
set detach-on-fork off
set schedule-multiple on
set serial baud 115200
target extended-remote /dev/ttyUSB[n]
CmakeLists.txt
в директории <path_to_debuggee>/einit
добавить параметр GDBSTUB_KERNEL
в вызов команды build_kos_hw_image ()
.[KDBG ] Waiting for GDB connection infinitely
. Приложение остановится, ожидая подключения отладчика./opt/KasperskyOS-Community-Edition-<version>/toolchain/bin/aarch64-kos-gdb
.[KDBG ] Connection to GDB was established
.Подробнее см. "Подготовка к отладке на аппаратной платформе" и "Начальные шаги отладки на аппаратной платформе".
Подготовка загрузочной SD-карты для Radxa ROCK 3A
Если при сборке примера был создан образ hdd.img
, то достаточно записать получившийся образ на SD-карту. Для этого подключите SD-карту к компьютеру и выполните следующую команду:
# В следующей команде path_to_img – путь к файлу образа,
# [X] – последний символ в имени блочного устройства для SD-карты.
$ sudo pv -L 32M path_to_img | sudo dd bs=64k of=/dev/sd[X] conv=fsync
Если при сборке примера был создан образ kos-image
, то перед записью образа на SD-карту, её нужно дополнительно подготовить. Загрузочную SD-карту для Radxa ROCK 3A можно подготовить автоматически и вручную. После подготовки SD-карты, необходимо скопировать файл kos-image
из директории <название примера>/build/einit
в загрузочную область (раздел с FAT32) подготовленной SD-карты.
Чтобы подготовить загрузочную SD-карту автоматически, подключите SD-карту к компьютеру и выполните следующие команды:
# Для создания файла образа загрузочного носителя (*.img)
# выполните скрипт:
$ sudo /opt/KasperskyOS-Community-Edition-<version>/common/radxa_prepare_sdcard_image.sh
# В следующей команде path_to_img – путь к файлу образа
# загрузочного носителя (этот путь выводится по окончании
# выполнения предыдущей команды), [X] – последний символ
# в имени блочного устройства для SD-карты.
$ sudo pv -L 32M path_to_img | sudo dd bs=64k of=/dev/sd[X] conv=fsync
Очистка flash памяти Radxa ROCK 3A
В некоторых модификациях Radxa ROCK 3A во флеш-памяти может находиться загрузчик, который несовместим с картой, подготовленной по инструкции выше.
Если при запуске примеров на Radxa ROCK 3A вы видите сообщение "SPL: failed to boot from all boot devices"
, то вам необходимо очистить флеш-память Radxa ROCK 3A перед запуском примеров.
Чтобы очистить флеш-память Radxa ROCK 3A:
rkdeveloptool
.Инструкции по установке утилиты приведены в документации: https://docs.radxa.com/en/rock3/rock3a/low-level-dev/rkdeveloptool?host-os=debian#installation-for-rkdeveloptool
Maskrom
:Maskrom
, выполнив в терминале следующую команду:$: rkdeveloptool ld
DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=104 Maskrom
rkdeveloptool db rk356x_spl_loader_ddr1056_v1.12.109_no_check_todly.bin
rkdeveloptool ef
rkdeveloptool rd