uboot生成uboot.bin和uboot.elf。
uboot.bin
用于烧录到闪存,位于CPU的起始地址。uboot.elf
不是很有用。
笔记:我认为uboot.bin
/uboot.elf
都是与位置无关的。
测试
我测试如下:
- 从 uboot 中,tftpboot uboot.elf,然后 bootelf 它。结果还可以。
从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
。