docs: Update CN translation for mm.rst

This commit is contained in:
renpeiying
2026-04-30 18:02:09 +08:00
parent 7aabb0155b
commit 4e34ec5193
2 changed files with 15 additions and 9 deletions

View File

@@ -75,9 +75,9 @@ ESP-IDF 还提供了一个存储器同步驱动程序来处理潜在的不同步
- 一个虚拟存储池是指可以映射到物理存储的整个虚拟地址范围。
- 一个虚拟存储区域是指具有相同属性的虚拟地址范围。
- 一个虚拟存储块是指一块动态映射的虚拟地址范围。
- 一个间隙是指两个虚拟存储块之间的虚拟地址范围。
- 一个槽位是指两个虚拟存储块之间的虚拟地址范围。
- 一个物理存储块是指一块待映射或已映射到虚拟存储块的物理地址范围。
- 动态映射是指调用 ``esp_mmap`` 驱动程序 API :cpp:func:`esp_mmu_map` 进行的映射,此 API 会将给定的物理存块映射到 ``esp_mmap`` 驱动程序分配的虚拟存储块中
- 动态映射是指调用 ``esp_mmap`` 驱动程序 API :cpp:func:`esp_mmu_map` 或者 :cpp:func:`esp_mmu_map_virt` 进行的映射。这两个接口可将指定的物理存块映射到虚拟内存块,虚拟内存地址既可以由系统自动分配,也可指定具体的虚拟起始地址进行申请
存储块的关系
@@ -120,7 +120,7 @@ ESP-IDF 还提供了一个存储器同步驱动程序来处理潜在的不同步
存储映射
^^^^^^^^
调用 :cpp:func:`esp_mmu_map` 进行动态映射。该 API 会根据所选的虚拟存储的属性分配一定大小的虚拟存储块,然后按照要求将此虚拟存储块映射到物理存储块``esp_mmap`` 驱动程序支持映射到一种或多种物理存储,因此,应在映射时指定物理存储目标。
可调用 :cpp:func:`esp_mmu_map` 进行动态映射,如需指定虚拟起始地址,则可调用 :cpp:func:`esp_mmu_map_virt`。这些 API 会根据所选的虚拟存储能力,分配或放置所需大小的虚拟存储块,然后将其映射到请求的物理存储块。 ``esp_mmap`` 驱动程序支持映射到一种或多种类型的物理存储,因此在映射时指定物理存储目标。
默认情况下,物理存储块和虚拟存储块是一对一映射。因此,当调用 :cpp:func:`esp_mmu_map`如果存储关系不同API 的行为也有所不同:
@@ -133,6 +133,12 @@ ESP-IDF 还提供了一个存储器同步驱动程序来处理潜在的不同步
* 如果是“重叠”的情形,此 API 将按照要求分配一个新的虚拟存储块,并将其映射到给定的物理存储块中。
在指定虚拟地址处进行映射
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:cpp:func:`esp_mmu_map_virt` 以与 :cpp:func:`esp_mmu_map` 相同的方式映射物理内存块,但允许通过参数 ``vaddr_start`` 指定映射的虚拟起始地址。若将 ``vaddr_start`` 设为 ``0``,驱动程序将自动分配合适的空闲内存块。若 ``vaddr_start`` 为非零值,则指定的整个地址范围必须位于与给定能力 (capability) 和目标 (target) 相匹配的未映射槽位内,且该地址必须在 ``caps`` 所对应的 MMU 视图范围内有效。
取消存储映射
^^^^^^^^^^^^
@@ -153,7 +159,7 @@ ESP-IDF 还提供了一个存储器同步驱动程序来处理潜在的不同步
可以通过一种或多种方法来访问支持 MMU 的物理存储。
SPI flash 可以通过 SPI1ESP-IDF ``spi_flash`` 驱动 API或指针进行访问。ESP-IDF ``spi_flash`` 驱动 API 中已经考虑了存储同步,因此在使用时无需额外考虑存储同步。
SPI flash 可以通过 SPI1ESP-IDF ``esp_flash`` 驱动程序 API或指针进行访问。ESP-IDF ``esp_flash`` 驱动程序 API 中已经考虑了存储同步,因此在使用时无需额外考虑存储同步。
.. only:: SOC_SPIRAM_SUPPORTED