Как заставить 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
сохранить изменения и перезагрузиться.
Надеюсь, это поможет.