MASKROM

В актуальной ревизии отладочных комплектов DS-RK3568-EVB_K режим MASKROM реализован через кнопку

Полноценная реализация режима доступна в модулях DS-RK3568 REV.5 реализовано корректное схемотехническое решение: притягивание eMMC_CLK через транзистор к GND через резистор 10 Ом. Внешний сигнал управления выведен на pin 81 (вместо eMMC_RESET#). Длина соединения между транзистором и линией CLK должна быть минимальной.

Для старых версий

Любые замыкания контактов eMMC это лотерея и скорее всего приведет к выходу из строя интерфейса eMMC на процессоре. Единственный безопасный вариант отключения eMMC на текущий момент - это выпайка резистора на линии CLK. Сигнал eMMC_RESET не используется при старте ни со стороны CPU, ни со стороны eMMC.

В режим MASKROM можно попасть ТОЛЬКО в том случае если нет валидного ID на одном из носителей, с которых теоретически можно загрузиться, т.е. eMMC, SD, SPI NOR.

В barebox предусмотрен механизм, при котором если на SARADC0 при старте имеется низкий уровень, то OTG порт переключается в режим DEVICE, далее запускается демон fastboot, и таймаут загрузки ядра увеличивается с 3 секунд до 10. Можно было бы вообще убрать таймаут, но у нас сделана возможность что мы все-таки взлетаем, потому-что, возможно у клиента вход SARADC0 будет использоваться именно как АЦП.

Во время таймаута необходимо остановить загрузку нажатием любой клавиши в консоли, далее можно использовать скрипт usb-upload-emmc-ds-rk3568-evb.sh из bsp, либо стирать/обновлять/что-то еще через USB флешку, UART, NET, любыми способами которые вам доступны.

В: Как принудительно перевести модуль в режим MASKROM для прошивки?

Не рекомендуется! Подходит только для старых версий отладок до REV5

О: MASKROM активируется только при отсутствии валидного загрузчика ни на одном носителе (eMMC, SD, SPI NOR). Если загрузчик живой — используется режим RECOVERY:

  1. Замкнуть SARADC_VIN0 (pin 120) на GND (на EVB: джампер X29).

  2. Подать питание — barebox покажет таймаут 10 секунд: Hit any to stop autoboot: 10.

  3. Нажать любую кнопку в консоли.

  4. Подключить USB OTG (pin 107/108), выполнить прошивку:

bash

sudo fastboot -S 128M flash emmc image.img