Перейти к основному содержимому

2 записи с тегом "rk3308"

Посмотреть все теги

U-Boot RK3308 - фиксируем bootcmd через rk_board_late_init

· 2 мин. чтения
dmn
maintainer

Проблема

U-Boot хранит переменные окружения (env) в энергонезависимой памяти. Это удобно: можно сохранить нужные настройки через saveenv и они переживут перезагрузку. Проблема в том, что bootcmd - переменная, которая определяет, как именно загружается система, - тоже хранится в этом env.

Если в процессе отладки или обновления env был сохранён с одним bootcmd, а в новой версии прошивки нужна другая последовательность загрузки, то сохранённый env будет молча перебивать то, что прописано в исходниках. Система загрузится по-старому, и понять почему - непросто: U-Boot не предупреждает, что использует значение из сохранённого env вместо скомпилированного.

Классическое решение - CONFIG_BOOTCOMMAND - задаёт значение bootcmd по умолчанию, но только если переменная не определена в env. Стоит один раз выполнить saveenv с любым bootcmd - и CONFIG_BOOTCOMMAND перестаёт действовать навсегда на этом устройстве.

Нужно было жёстко задать bootcmd при каждом старте, не отказываясь от saveenv для остальных переменных.

Конфигурация uEnv.txt для Сборщик компакт 0.3

· 1 мин. чтения
dmn
maintainer

uEnv.txt для Сборщик компакт 0.3 (с блоком питания 1,2А)

verbosity=7
fdtfile=rk3308-napi-c.dtb
console=ttyS0,115200n8
overlays=rk3308-uart1 rk3308-uart3-m0 rk3308-i2c1-ds1338 rk3308-i2c3-m0 rk3308-usb20-host
kernelimg=Image
extraargs=

🔥Важно: RS485 у этой модели находится на /dev/ttyS3

#fcc #fcc03 #fcc3308