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). Если загрузчик живой — используется режим
Замкнуть
SARADC_VIN0(pin 120) на GND (на EVB: джампер X29).Подать питание — barebox покажет таймаут 10 секунд:
Hit any to stop autoboot: 10.Нажать любую кнопку в консоли.
Подключить USB OTG (pin 107/108), выполнить прошивку:
bash
sudo fastboot -S 128M flash emmc image.img