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
。