【ARM Cache 与 MMU 系列文章 7.8 – ARMv8/v9 MMU Table 表分配原理及其代码实现 2】

作者 : admin 本文共502个字,预计阅读时间需要2分钟 发布时间: 2024-06-10 共2人阅读

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】
及【嵌入式开发学习必备专栏】


文章目录

    • MMU Table 表分配原理及其代码实现
    • MMU Table 分配代码实现

MMU Table 表分配原理及其代码实现

在做映射的时候所映射的地址范围最大只能是某一级 level table 中 entry 所能支持的最大范围,如果超过这个范围需要在对应 level table 中新增一个entry,这里还是以映射虚拟地址0x0000_0000 -- 0x8000_0000为例,我们知道 Level0 table 中的一个 Entry 指向 512G地址空间,然而0x0000_0000 -- 0x8000_0000才占用 2G的地址空间,所以在 Level0 table 中只会使用一个 Entry,但是在 Level1 table 中就不一样了,因为 Level1 table 中的一个 Entry 最大只支持1G的地址空间,所以需要将0x0000_0000 -- 0x8000_0000 地址分配在 Level1 table 中的 2个 Entry 中,如文章【ARM Cache 与 MMU 系列文章 7.7 – ARMv8/v9 MMU Table 表分配原理及其代码实现 1】 图 1-1 所示。 其中:

  • Entry0 指向
本站无任何商业行为
个人在线分享 » 【ARM Cache 与 MMU 系列文章 7.8 – ARMv8/v9 MMU Table 表分配原理及其代码实现 2】
E-->