Я думал, что это будет просто изменить CONFIG_ENV_SIZE в исходном коде u-boot вместе с изменением размера в userpace /etc/fw_env.config для соответствия, но это не так.

1 ответ1

0

Решил это:

Чтобы обновить размер среды с помощью флэш-памяти (в частности, на Tegra), нам необходимо:

  • Убедитесь, что CONFIG_FILE определен в /tools/env/fw_env.h в uboot src (убедитесь, что эта строка не закомментирована (#define CONFIG_FILE "/etc/fw_env.config")

  • Измените CONFIG_ENV_SIZE на желаемый размер (/include/configs/tegra-common.h в uboot src), обратите внимание, что для флэш-памяти необходимо использовать 4 КБ, если используется mmc

  • Соответствие Env. размер ниже до размера CONFIG_ENV_SIZE

  • Установите смещение устройства ниже ((конец среды addr + 1) - CONFIG_ENV_SIZE) (оказывается, что среда uboot сохраняется в конце загрузочного раздела)

  • Оставьте размер сектора Flash ниже 0x2000, если Env. размер отличается

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .