工具/软件:
我尝试在 AM62x u-boot 代码上启用4GB 的 RAM、并且已经执行了 DDR 的所有步骤、并且器件树会发生更改:
memory@80000000 { device_type = "memory"; /* 4G RAM */ reg = <0x00000000 0x80000000 0x00000000 0x80000000>, <0x00000008 0x80000000 0x00000000 0x80000000>; };
当 I load u-boot 时、它确实会注意到额外的2GB RAM:
DRAM:2 GiB (有效4 GiB)
但是、当我查看"bdinfo"时、两个 DRAM 组的起始地址都匹配:0x00000000 8. 0000000
我相信第二个银行应该注明起始地址:0x0000000 88 器件树中指定的0000000。
似乎忽略了器件树设置的高32位、这导致它映射到与 DRAM 组0相同的位置。
=> bdinfo boot_params = 0x0000000000000000 DRAM bank = 0x0000000000000000 -> start = 0x0000000080000000 -> size = 0x0000000080000000 DRAM bank = 0x0000000000000001 -> start = 0x0000000080000000 -> size = 0x0000000080000000
当我启动到内核时(适当的设备树也在更改、并引用第二个2GB 以从0x0000000开始 88 0000000、它只报告总共2GB 的 RAM。 我相信由于 u-boot 没有将第二个存储体映射到正确的地址、它只会将2GB 配置传递给内核。
有人能帮我理解为什么第二家银行没有申请正确的起始地址吗? 或者这是正确的,我在其他地方有一个问题得到的全部4GB 显示在内核中?
我正在使用 TI SDK v9.2