【发布时间】:2013-11-01 14:46:19
【问题描述】:
在 PC 架构(BIOS 的存在及其使用非常标准化),您可以发现 RAM 内存的大小,以及它的 保留/free for use 区域通过使用 INT15 BIOS 中断,函数 0xE820。
由于我对低级编程充满热情,并且在对英特尔架构进行了大约 6 个月的编程后,我决定尝试了解其他架构的工作原理。所以我开始深入研究 ARM 开发。我目前正在开发 2 块电路板:Olimex A20 OlinuXino-MICRO 和 Samsung Arndale 的 Exynos 5250。我要做的是将我为英特尔架构开发的管理程序移植到这两个板上。我现在正处于尝试以编程方式以可靠和可接受的标准化检测系统的内存映射的阶段> 方式(我不希望为不同的 ARM 板编写完全不同的代码)。但到目前为止,我发现相关文档有点混乱。
在 Olimex A20 上,我有一个 Cortex-A7 ARM CPU。 在此处找到的 PDF:http://infocenter.arm.com/help/topic/com.arm.doc.den0001c/DEN0001C_principles_of_arm_memory_maps.pdf,适用于 Cortex-A7 和其他 CPU,在 第 14 页 声明 1GB 到 2GB 的内存寻址空间 已保留对于Memory-Mapped I/O devices,而在此链接https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/A20-PDFs/A20%20User%20Manual%202013-03-22.pdf?raw=true 中找到的Olimex-A20 文档在第21 页 中指出内存寻址空间从1GB 到- 3GB 是 DDR-II/DDR-III 内存。
我只是感到困惑还是这两个文件之间存在不一致?
【问题讨论】:
标签: memory arm bios osdev memory-mapping