Как заставить U-boot автоматически загружаться с FAT-раздела

У меня есть плата NXP с U-boot и Linux на ней. При запуске, если я ничего не наберу, U-boot автоматически запустит Linux, используя образ linux. Все на моей SD-карте, которая подключена к плате.

На SD-карте есть раздел FAT, содержащий двоичный файл с программой FreeRTOS. Я могу запустить его, выполнив следующие действия: 1. включите плату и сразу же напечатайте что-нибудь на клавиатуре, чтобы войти в U-boot 2. введите fatload mmc 0:1 0x7F8000 hello_world.bin 3. тип dcache flush а потом bootaux 0x7F8000

Мне нужна U-boot для автоматического запуска двоичного файла FreeRTOS, а не образа Linux. Как я могу сделать это? Могу ли я сделать какой-нибудь сценарий запуска U-boot, который выполняет эти команды при запуске? Благодарю.

1 ответ

Решение

Чтобы узнать больше о переменных среды u-boot, я предлагаю вам сделать:

u-boot> printenv 

эта команда выводит все переменные env на экран. И посмотрите на описание переменных, упомянутых в U-Boot Environment Variables

Переменная bootcmd наиболее важна для понимания. Нет ничего сложного, и информация для вас.

Вероятно, изменение, которое вы сделаете,

u-boot> setenv load_firmware 'fatload mmc 0:1 0x7F8000 hello_world.bin; dcache flush; bootaux 0x7F8000'
u-boot> setenv bootcmd load_firmware

затем

u-boot> saveenv; reboot

сохранить изменения и перезагрузиться.

Надеюсь, это поможет.

Другие вопросы по тегам