一个(希望)简单的问题。
我可以在ARM紧密耦合的内存中创建我的MMU页表,还是有限制阻止我这样做。
我有16k的数据TCM似乎非常适合这项任务(指令TCM将包含我的安全世界代码),但我在启用MMU时会出现中止异常。
当我编译我的安全世界代码以定位SRAM时,一切都按预期工作。问题在于,SoC SRAM可以从类似FPGA的设备中获得,它完全不尊重TrustZone。
我在这里遗漏了什么,或者我是否需要为自己分割一小块内存以使其全部正常工作?
我正在使用ARM1176JZ-S。
答案 0 :(得分:0)
所以,很多年后,我在浏览《 ARMv6的ARM体系结构参考手册》时找到了答案,而四处浏览却完全不同!
在B4.7.3节,VMSAv6中的页面表转换(页面B4-25)中,在讨论了在页面表遍历中是否使用L1缓存之后,便提到了答案,并说:
Hardware page table walks cannot cause reads from TCM.