Я пытаюсь запустить автономное приложение для U-Boot.
Цель — это кирпичик LEGO EV3 с процессором TI OMAP (ARM9).
Вывод U-Boot перед зависанием:
U-Boot > fatload mmc 0:1 c0007FC0 uimage
reading uimage
384 bytes read
U-Boot > bootm
## Booting kernel from Legacy Image at c0007fc0 ...
Image Name: ITK EV3 sample OS
Image Type: ARM Linux Standalone Program (uncompressed)
Data Size: 320 Bytes = 0.3 kB
Load Address: c0008000
Entry Point: c0008000
Loading Standalone Program ... OK
OK
Я попытался выполнить следующие команды для размещения по адресу 0xC0008000 в «uimage»:
mov pc, lr (ARM code)
bx lr (ARM code)
bx lr (Thumb code)
Эти команды должны просто возвращаться (в зависимости от того, активен ли режим ARM или Thumb). Однако все три команды приводят к зависанию U-Boot, поэтому после последнего «ОК» вывод больше не выполняется.
Почему U-Boot зависает?
go. Загруженные изображения/файлы, выполняемые с помощью командыbootm, должны иметь установленную оболочку U-Boot, обычно являются ядрами ОС и могут подвергаться специальной обработке, выполняемой перед выполнением. См. это. Вместо того, чтобы указыватьlinuxв качестве типа ОС в команде mkimage, попробуйте указатьu-bootили просто опустите спецификацию ОС. - person sawdust   schedule 23.01.2014