1

一个(希望如此)简单的问题。

我可以在 ARM 紧密耦合的内存中创建我的 MMU 页表,还是有限制阻止我这样做。

我有 16k 的数据 TCM 似乎非常适合这项任务(指令 TCM 将包含我的安全世界代码),但启用 MMU 时出现异常中止。

当我编译我的安全世界代码以针对 SRAM 时,一切都按预期工作。问题是,在这个 SoC 上,SRAM 可以从一个完全不尊重 TrustZone 的类似 FPGA 的设备中获得。

我在这里遗漏了什么,还是我需要为自己切出一小块 RAM 才能让这一切正常工作?

我正在研究 ARM1176JZ-S。

4

1 回答 1

0

因此,多年后,我在 ARMv6 的 ARM 架构参考手册中找到了答案,同时浏览了一些完全不同的东西!

在第 B4.7.3 节,VMSAv6 中的页表转换(第 B4-25 页)中,在讨论了页表遍历中是否使用 L1 缓存之后才提到了答案,它说:

Hardware page table walks cannot cause reads from TCM.
于 2019-12-04T08:41:19.867 回答