824c8e0593
This commit introduce SOC_MEM_NON_CONTIGUOUS_SRAM flag (that enebled for
esp32p4). If SOC_MEM_NON_CONTIGUOUS_SRAM is enabled:
- LDFLAGS+=--enable-non-contiguous-regions
- ldgen.py replaces "arrays[*]" from sections.ld.in with objects under
SURROUND keyword. (e.g. from linker.lf: data -> dram0_data SURROUND(foo))
- "mapping[*]" - refers to all other data
If SOC_MEM_NON_CONTIGUOUS_SRAM, sections.ld.in file should contain at
least one block of code like this (otherwise it does not make sense):
.dram0.bss (NOLOAD) :
{
arrays[dram0_bss]
mapping[dram0_bss]
} > sram_low
.dram1.bss (NOLOAD) :
{
/* do not place here arrays[dram0_bss] because it may be splited
* between segments */
mapping[dram0_bss]
} > sram_high
22 lines
247 B
C
22 lines
247 B
C
#include <stdio.h>
|
|
|
|
void func0(void)
|
|
{
|
|
printf("Hello from func0!\n");
|
|
}
|
|
|
|
void func1(void)
|
|
{
|
|
printf("Hello from func1!\n");
|
|
}
|
|
|
|
void func2(void)
|
|
{
|
|
printf("Hello from func2!\n");
|
|
}
|
|
|
|
void func3(void)
|
|
{
|
|
printf("Hello from func3!\n");
|
|
}
|