您好!
我的客户使用了具有1GB DDR 的 AM4378、并在几年前投入生产。
现在、他们正在尝试修改现有系统、并希望将 DDR 大小增加到2GB。
当然、客户也相应地更改了 DDR 寄存器配置。
所有区域的 DDR 读/写测试均通过。
但当 Linux RAMDISK 映像重定位到 DDR 时、Linux 引导失败。 系统冻结。
客户已检查 问题、发现 RAMDISK 重定位区域和 u-boot 堆栈区域的地址范围重叠。
Q1)
客户使用的 u-boot 版本非常旧(2014.07)。
这是 u-boot git 存储库"ti-u-boot-2014"分支中的一个吗?
Q2)
客户还发现问题的根本原因是在函数"_LMB_alloc_BASE "中完成了地址计算。
如果 DDR 大小大于或等于2GB、则计算出的值将溢出、并使用错误的地址。
此问题已在最新的 u-boot (2021.10-rc5)中修复。
https://source.denx.de/u-boot/u-boot/-/commit/ad3fda521b1557fb0ecc95959e88a79fd0c6b30b
这是否可以将相同的修补程序应用到 u-boot (2014.07)?
2GB DDR 是否需要任何其他补丁?
谢谢、此致、
田志郎一郎