Первым делом тебе понадобится RSA ключ для доступа к устройству по SSH, его можно запроситьпо электронной почте: info@fabmicro.ru Все программное обеспечение (Linux, U-Boot, GCC toolchain) доступно по сылке: https://www.fabmicro.ru/pub/Module_A20/ Примеры простых программ на C/C++ доступны здесь: https://www.fabmicro.ru/pub/Module_A20/examples/ Доступ к устройству осуществляется по SSH или через консоль (UART, 115200). Разъем консоли скрыт под крышкой корпуса в нижней части устройства (см схему и разводку ПП), так что это только на самый крайний случай. Основная работа происходит по SSH. Для доступа используй команду вида: $ ssh -i controlpanel_rsa fabmicro@192.168.0.50 controlpanel_rsa - это файлик c RSA ключом скачанный по ссылке выше, 192.168.0.50 - это IP адрес по умолчанию, устанавливается если в процессе загрузки системы по DHCP ничего получить не удалось. После того как зашел на устройство, далее по команде su получаешь права суперпользователя. Root-овый пароль: toor fabmicro@0293-0900-d5aa-mmcblk1p2:~$ su root@0293-0900-d5aa-mmcblk1p2:~# Имя хоста вида 0293-0900-d5aa-mmcblk1p2 отражает SID (SecureID - уникальный ID процессора) и устройство с которого была загружена операционная система: mmcblk1p2 - загружено с SD карты mmcblk0p2 - загружено с eMMC Если устройство перестает загружаться c eMMC, то можно загрузиться с SD карты, предварительно записав на неё образ системы с: https://www.fabmicro.ru/pub/Module_A20/A20-Fabmicro-all.img.gz Далее можно либо восстановить систему на eMMC вручную, либо накатить систему заново следующей командой: root@0293-0900-d5aa-mmcblk1p2:~# /etc/install.sh Please select possible installation procedure: [0] Rescan SD-card:/dev/mmcblk1 [1] Install from SD-card:/dev/mmcblk1 to eMMC:/dev/mmcblk0 [2] Install from eMMC:/dev/mmcblk0 to SD-card:/dev/mmcblk1 [3] Install from Internet to SD-card:/dev/mmcblk1 [4] Install from Internet to eMMC:/dev/mmcblk0 [q] quit >1 You entered: 1 Installing from /dev/mmcblk1 to /dev/mmcblk0 The followng command will be performed: dd bs=8192 if=/dev/mmcblk1 of=/dev/mmcblk0 status=progress Are you sure (y/N): y Performing installation... 3903053824 bytes (3.9 GB, 3.6 GiB) copied, 409.005 s, 9.5 MB/s dd: error writing '/dev/mmcblk0': No space left on device 477185+0 records in 477184+0 records out 3909091328 bytes (3.9 GB, 3.6 GiB) copied, 415.626 s, 9.4 MB/s root@0293-0900-d5aa-mmcblk1p2:~# Содрать образ с eMMC на SD можно этим же скриптом, п. 2. На самом устройстве в домашнем каталоге пользователя fabmicro есть несколько bash скриптов для тестирования некоторой периферии: -rwxr-xr-x 1 root root 662 Jun 26 08:50 test_gpio_inputs.sh* -rwxr-xr-x 1 root root 1666 Jun 26 08:58 test_gpio_outputs.sh* -rwxr-xr-x 1 root root 963 Jun 25 09:04 test_keypad_backlight.sh* -rwxr-xr-x 1 root root 400 Jun 25 11:36 test_rs232.sh* -rwxr-xr-x 1 root root 95 Jun 26 08:16 test_rs485_1.sh* -rwxr-xr-x 1 root root 95 Jun 26 08:17 test_rs485_2.sh* Тест пленочной клавиатуры можно выполнить таким образом: root@0253-05c3-3111-mmcblk1p2:~# evtest /dev/input/event0 Input driver version is 1.0.1 Input device ID: bus 0x18 vendor 0x1 product 0x1 version 0x1 Input device name: "tca8418_gpio" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Key repeat handling: Repeat type 20 (EV_REP) Repeat code 0 (REP_DELAY) Value 250 Repeat code 1 (REP_PERIOD) Value 33 Properties: Testing ... (interrupt to exit) Event: time 1624611874.424082, type 4 (EV_MSC), code 4 (MSC_SCAN), value e6 Event: time 1624611874.424088, -------------- SYN_REPORT ------------ Event: time 1624611874.826564, type 4 (EV_MSC), code 4 (MSC_SCAN), value 66 Event: time 1624611874.826568, -------------- SYN_REPORT ------------ Event: time 1624611875.996354, type 4 (EV_MSC), code 4 (MSC_SCAN), value e7 Event: time 1624611875.996358, -------------- SYN_REPORT ------------ Event: time 1624611876.375147, type 4 (EV_MSC), code 4 (MSC_SCAN), value 67 Event: time 1624611876.375150, -------------- SYN_REPORT ------------ Event: time 1624611877.260826, type 4 (EV_MSC), code 4 (MSC_SCAN), value e1 Event: time 1624611877.260830, -------------- SYN_REPORT ------------ Event: time 1624611877.666332, type 4 (EV_MSC), code 4 (MSC_SCAN), value 61 Event: time 1624611877.666335, -------------- SYN_REPORT ------------ Event: time 1624611878.539769, type 4 (EV_MSC), code 4 (MSC_SCAN), value e2 Event: time 1624611878.539772, -------------- SYN_REPORT ------------ Event: time 1624611878.800212, type 4 (EV_MSC), code 4 (MSC_SCAN), value 62 Event: time 1624611878.800215, -------------- SYN_REPORT ------------ Event: time 1624611879.608414, type 4 (EV_MSC), code 4 (MSC_SCAN), value e8 Event: time 1624611879.608418, -------------- SYN_REPORT ------------ Event: time 1624611879.845154, type 4 (EV_MSC), code 4 (MSC_SCAN), value 68 Event: time 1624611879.845156, -------------- SYN_REPORT ------------ Event: time 1624611880.731625, type 4 (EV_MSC), code 4 (MSC_SCAN), value e5 Event: time 1624611880.731628, -------------- SYN_REPORT ------------ Event: time 1624611880.968381, type 4 (EV_MSC), code 4 (MSC_SCAN), value 65 Event: time 1624611880.968384, -------------- SYN_REPORT ------------ Event: time 1624611882.151829, type 4 (EV_MSC), code 4 (MSC_SCAN), value e4 Event: time 1624611882.151832, -------------- SYN_REPORT ------------ Event: time 1624611882.530626, type 4 (EV_MSC), code 4 (MSC_SCAN), value 64 Event: time 1624611882.530629, -------------- SYN_REPORT ------------ Event: time 1624611883.181443, type 4 (EV_MSC), code 4 (MSC_SCAN), value e3 Event: time 1624611883.181445, -------------- SYN_REPORT ------------ Event: time 1624611883.418209, type 4 (EV_MSC), code 4 (MSC_SCAN), value 63 Event: time 1624611883.418212, -------------- SYN_REPORT ------------ Аналогично можно выполнить тест touch screen-а: root@0253-05c3-3111-mmcblk1p2:~# evtest /dev/input/event1 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100 Input device name: "sun4i-ts" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 330 (BTN_TOUCH) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 1649 Min 0 Max 4095 Event code 1 (ABS_Y) Value 3509 Min 0 Max 4095 Properties: Testing ... (interrupt to exit) С точки зрения программирования, самое сложное это работать с input device. На изделии такими являются touch screen (/dev/input/even1) и кнопки пленочной клавиатуры (/dev/input/event0), см пример KeyPad.tar.gz. По умолчанию, после загрузки, корневая файловая система смонтирована только для чтения. Перемонтировать для записи можно налету следующей командой: root@0293-0900-d5aa-mmcblk1p2:~# mount -w -o remount /