Merge branch 'support_psram_noinit_segment_on_s3' into 'master'

feat(psram): add psram noinit  segment support on s2/s3/p4/c5 and bss segment on c5

Closes IDF-4811, IDF-8689, IDF-10311, and IDFGH-13336

See merge request espressif/esp-idf!32503
This commit is contained in:
C.S.M
2024-08-21 15:25:07 +08:00
18 changed files with 142 additions and 26 deletions
+5 -7
View File
@@ -123,16 +123,14 @@ This option reduces the internal static memory used by the BSS segment.
Remaining external RAM can also be added to the capability heap allocator using the method shown above.
.. only:: esp32
.. _external_ram_config_noinit:
.. _external_ram_config_noinit:
Allow .noinit Segment to Be Placed in External Memory
--------------------------------------------------------------
Allow .noinit Segment to Be Placed in External Memory
--------------------------------------------------------------
Enable this option by checking :ref:`CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY`. If enabled, the region of the data virtual address space where the PSRAM is mapped to will be used to store non-initialized data. The values placed in this segment will not be initialized or modified even during startup or restart.
Enable this option by checking :ref:`CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY`. If enabled, the region of the data virtual address space where the PSRAM is mapped to will be used to store non-initialized data. The values placed in this segment will not be initialized or modified even during startup or restart.
By applying the macro ``EXT_RAM_NOINIT_ATTR``, data could be moved from the internal NOINIT segment to external RAM. Remaining external RAM can still be added to the capability heap allocator using the method shown above, :ref:`external_ram_config_capability_allocator`.
By applying the macro ``EXT_RAM_NOINIT_ATTR``, data could be moved from the internal NOINIT segment to external RAM. Remaining external RAM can still be added to the capability heap allocator using the method shown above, :ref:`external_ram_config_capability_allocator`.
.. only:: SOC_SPIRAM_XIP_SUPPORTED