Отладочный UART#
На платах Capsula есть отладочная UART-консоль: через неё видно всю загрузку (BootROM → u-boot → ядро) и можно вводить плату в режимы загрузки, не разбирая колонку с кнопкой Recovery. Распиновка и тестпоинты конкретных устройств - в карточках: Капсула (TP50/TP51, TP5, TP48/TP49), для мини - TODO.
Консоль#
- Интерфейс - UART2_M1 (GPIO4_D2/D3, пады SDMMC_D2/D3), скорость 1 500 000 8N1.
- Драйвер консоли ядра - fiq-debugger.
- Штатные разъёмы J3 (3-pin, UART2) и J1 (4-pin, UART0) на платах не запаяны (DNP) - паяться к тестпоинтам.
Вход в режимы загрузки с консоли#
С подключённым OTG-кабелем:
| Клавиши | Режим | На шине |
|---|---|---|
| Ctrl+D | rockusb (loader) | 2207:330d |
| Ctrl+B | MaskROM | 2207:330e |
У мини это единственный способ без сенсорной кнопки; у больших Капсул есть ещё кнопка Recovery. Аппаратно гарантированный вход в MaskROM - замкнуть FLASH_D0 на GND.
Как отличить MaskROM от загруженного usbplug#
На RK3308 загруженный usbplug может ре-энумерироваться с тем же PID,
что и MaskROM. Проверяйте состояние: rkdeveloptool td (ответ OK =
loader-режим) или iProduct «USB-MSC» в lsusb -v (= usbplug уже
загружен).
Короткое 2207:0006 при старте - не режим загрузки
Стоковый Linux поднимает USB-гаджет 2207:0006 меньше, чем на
секунду (adbd из стока удалён). Инструменты проекта ждут именно
330d/330e и только логируют 0006.
Консоль ядра (serial-id)#
- Большие Капсулы: сток выводит консоль на отладочный UART
(
serial-id = 2) - лог ядра виден сразу. - Мини: стоковый
serial-id = 0(uart0, не разведён на плате) - лог ядра теряется после earlycon; чтобы видеть лог, консоль fiq-debugger переключают на отладочный UART правкой DTB (serial-id = 2, правка того же размера).
Amlogic-мини#
У поздних мини (Amlogic A113X) UART нужен в основном для наблюдения:
download-окно u-boot поднимается само при каждом включении (~0,5–1 с),
вывод команд passthrough (capsula-jb aml) виден на UART. Окно
закрывается независимо от identify - перед каждым запуском передёргивайте
питание.