uboot.bin 与位置无关吗?

uboot.bin 与位置无关吗?

uboot生成uboot.bin和uboot.elf。

  • uboot.bin用于烧录到闪存,位于CPU的起始地址。
  • uboot.elf不是很有用。

笔记:我认为uboot.bin/uboot.elf都是与位置无关的。

测试

我测试如下:

  1. 从 uboot 中,tftpboot uboot.elf,然后 bootelf 它。结果还可以。
  2. 从uboot,tftpboot uboot.bin,然后就可以了。结果是失败。

    ZynqMP> tftpboot 0x10000000 192.168.1.6:u-boot.bin
    Using ethernet@ff0c0000 device
    TFTP from server 192.168.1.6; our IP address is 192.168.1.23
    Filename 'u-boot.bin'.
    Load address: 0x10000000
    Loading: ################################################
         4.6 MiB/s
    done
    Bytes transferred = 690200 (a8818 hex)
    ZynqMP> go 0x10000000
    ## Starting application at 0x10000000 ...
    
    
    U-Boot 2017.01 (Jul 03 2018 - 22:10:51 -0700) Xilinx ZynqMP ZCU102 revB
    
    I2C:   ready
    DRAM:  4 GiB----fail at here,like dead.
    ...........
    

有谁知道为什么?

答案1

这是因为 bin 文件有加载地址,这可以从命令的输出中看到readelf -h u-boot.elf

相关内容