我的 Cyclone V FPGA 上有一个基于 rsyocto 的正在运行的 linux 系统。它目前有 128 MB 的内存,所以我“只是”想将它升级到 1024 MB。所以我有一个引脚兼容的内存,带有路由到 FPGA 的额外地址线(使用 16 个行地址而不是 13 个)
我认为我已经成功修改了 u-boot 中的设备树,因为它预计它是 1024 MB。但是当 u-boot 运行健全性检查时,这是一个内存测试(在每个地址线的地址处写入 (2^n),它只找到 128 MB 的内存。(内存测试函数称为 get_ram_size() 并且是从 sdram_gen5.c/altera_gen5_sdram_probe() 调用)
有什么我必须做的才能与完整的记忆进行物理接触吗?
我试图了解它是如何工作的,但几乎所有文档都只是告诉我要采取哪些步骤,因此很难理解如果出现问题该怎么办。
我假设如果地址线被路由,系统会尝试使用它们,但似乎并非如此。我是否需要加载 FPGA 映像才能使 SDRAM 工作,或者它是否足以满足 HPS / u-boot 中的信息?(我可以在没有 FPGA 映像的情况下运行旧的 128MB 系统)。
有什么明显的我失踪了吗?