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
.