uboot内核及dtb计算

uboot内核及dtb计算

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 配置问题。我有2GB,不是4GB。

我更改了设备树中的内存部分,并在 uboot 参数中使用了默认地址值,并且它可以工作。

相关内容