U-Boot 中的`tftp` 命令:二进制映像还是 U-Boot 映像?

`tftp` command in U-Boot: Binary image or U-Boot image?

在 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

.

tftp命令只是从主机上下载一个文件,并不关心下载什么。 bootm 命令很重要。最新版本的 u-boot 能够直接加载 zImage(如果已配置)。但最常见的方法是使用遗留的 uImage,如果支持,可以通过 mkimagemake uImage 命令创建。

更新: 对于裸机程序,您应该在 u-boot 中使用 go 命令和 bin 文件的地址:

tftp ${loadaddr} yourfile.bin
go  ${loadaddr}

更新2: 顺便说一句,可以使用 bootelf 命令构建 u-boot,这将允许从输出 elf 文件启动,而不需要使用 objcopy.