在U-Boot中使用tftp
命令时,是否必须指定要加载的二进制映像,或使用U-Boot提供的mkimage
工具创建的映像?
附录:我试图加载的图像是一个裸机C程序。我用
编译了它arm-none-eabi-gcc (input files and flags) -o blinky.elf
并将其转换为
arm-none-eabi-objcopy -O binary blinky.elf blinky.bin
答案 0 :(得分:3)
tftp
命令只是用于从主机下载文件,它不关心下载什么。 bootm
命令是关心的。最新版本的u-boot能够直接加载zImage(如果已配置)。但最常见的方法是使用由mkimage
或make uImage
命令创建的旧版uImage(如果支持)。
UPD:
对于裸机程序,您应该使用u-boot中的go
命令和bin
文件的地址:
tftp ${loadaddr} yourfile.bin
go ${loadaddr}
UPD2:
顺便说一句,可以使用bootelf
命令构建u-boot,这将允许从输出elf
文件启动,而无需使用objcopy
。