工具/软件:Linux
您好!
我们开发了一个偏离 AM5728 IDK 所使用的标准 EMIF 配置的定制电路板。 每个 EMIF 上都有2GB、可安装到总共4GB 或可寻址内存中。 我们从 TRM 和 e2e 论坛收集的信息中了解到了以下内容。
MA_LSM 和 DMM Lisa 映射可仅用于分区较低的2GB。 我们已配置256字节边界上的较低2GB 交错。
0x3FFF_FFF--- > | EMIF1 | EMIF2 |
| EMIF (a) | EMIF (b) |
| | ||
0x0000_0000 ---------------------------- > | | |
根据我们的理解、这意味着0x8000_0000至0xFFF_FFFF 将以交错方式映射到物理地址0x0000_0000至0x3FFF_FFFF (即、地址字段的第8位决定要命中哪个存储器控制器)。 我们是否正确地假设了这一点? 每个控制器提供1GB。
2. TRM 确实表明 上部2GB 具有固定的256字节边界交错。 启用 MA_Priority[8] HIMEM_Interlease_UN 是否确保可以访问高2GB、或者是否需要执行其他操作?
离职工作应与上文所理解的相同。 如果我错了、请纠正我的问题。
因此、我们最终得到类似这样的结果
假设上述条件为真、并且硬件已配置为可访问4GB 地址空间。
1.需要对 Linux 内核源代码/DTS 进行哪些更改 ,以确保内核可以利用整个4GB 空间。
完成此操作后、是否有一个工具允许访问大于32位的地址? (假设这是需要的;如果我错了、请纠正我)
非常感谢。
此致、
Shaunak
