【问题标题】:`tftp` command in U-Boot: Binary image or U-Boot image?U-Boot 中的“tftp”命令:二进制映像还是 U-Boot 映像?
【发布时间】:2015-02-05 02:29:04
【问题描述】:

在 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

.

【问题讨论】:

    标签: bootloader u-boot


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我想我应该提到,我要加载的文件不是 Linux 映像。 (请参阅我在问题中的修改。)这是一个裸机程序,当通过调试器将 flash 直接写入 SRAM 时运行良好。
    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多