uboot에서 이러한 매개변수의 계산 방법은 무엇입니까? :
bootm_low=0
bootm_size=7ff00000
fdt_addr_r=0x40000000
fdt_high=0x100000
fdt_size_r=0x400000
fdtcontroladdr=7bc971c0
kernel_addr_r=0x18000000
kernel_comp_addr_r=0x30000000
kernel_comp_size=0x3C00000
kernel_size_r=0x10000000
loadaddr=0x8000000
pxefile_addr_r=0x10000000
ramdisk_addr_r=0x02100000
내 시작 명령:
fatload mmc 0:1 $kernel_addr_r Image.gz
fatload mmc 0:1 $fdt_addr_r system.dtb
booti $kernel_addr_r - $fdt_addr_r
A53에는 4G 또는 DRAM이 있습니다. 이러한 매개변수 중 하나를 변경하면 커널이 다르게 동작합니다.
이 매개변수가 없으면 커널을 부팅할 수 없기 때문에 이 매개변수를 사용하고 있지만 fdt_high
올바른 값을 계산하는 방법을 모르겠습니다.
도와 주셔서 감사합니다
답변1
이러한 항목을 모두 설정해서는 안 되며, 모든 항목에 커널을 로드하고 시작해야 하는 것도 아닙니다. 다음 문서를 참조하세요.https://u-boot.readthedocs.io/en/latest/usage/environment.html이러한 의미를 이해하고 특정 SoC에 대한 다른 예를 살펴보고 사용할 수 있는 합리적인 기본값을 찾을 수 있습니다.
답변2
해결되었습니다. RAM 구성 문제입니다. 4GB가 아닌 2GB가 있습니다.
장치 트리의 메모리 섹션을 변경하고 uboot 매개변수의 기본 주소 값을 사용했는데 작동했습니다.