EasyManua.ls Logo

Espressif ESP32-S2 - Page 1431

Espressif ESP32-S2
1695 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Chapter 4. API Guides
(continued from previous page)
_iram_text_start = ABSOLUTE(.);
/* Marker referencing iram0_text */
mapping[iram0_text]
_iram_text_end = ABSOLUTE(.);
} > iram0_0_seg
Suppose the generator collected the fragment definitions below:
[sections:text]
.text+
.literal+
[sections:iram]
.iram1+
[scheme:default]
entries:
text -> flash_text
iram -> iram0_text
[scheme:noflash]
entries:
text -> iram0_text
[mapping:freertos]
archive: libfreertos.a
entries:
* (noflash)
Then the corresponding excerpt from the generated linker script will be as follows:
.iram0.text :
{
/* Code marked as runnning out of IRAM */
_iram_text_start = ABSOLUTE(.);
/* Placement rules generated from the processed fragments, placed where the
,marker was in the template */
*(.iram1 .iram1.*)
*libfreertos.a:(.literal .text .literal.* .text.*)
_iram_text_end = ABSOLUTE(.);
} > iram0_0_seg
*libfreertos.a:(.literal .text .literal.* .text.*)
Rule generated from the entry * (noflash) of the freertos mapping fragment. All text sections
of all object files under the archive libfreertos.a will be collected under the target iram0_text
(as per the noflash scheme) and placed wherever in the template iram0_text is referenced by a
marker.
*(.iram1 .iram1.*)
Rule generated from the default scheme entry iram -> iram0_text. Since the default scheme
specifies an iram -> iram0_text entry, it too is placed wherever iram0_text is referenced
by a marker. Since it is a rule generated from the default scheme, it comes first among all other rules
collected under the same target name.
The linker script template currently used is esp_system/ld/esp32s2/sections.ld.in; the generated output
script sections.ld is put under its build directory.
Espressif Systems 1420
Submit Document Feedback
Release v4.4

Table of Contents