kopia lustrzana https://github.com/espressif/esp-idf
feat(esp_system): allow .data to spill over into L2MEM above 0x4ff40000
It may be usefull when .rodata placed into .dram1.datapull/13473/head
rodzic
cb82161dae
commit
e845d9e0eb
|
@ -217,7 +217,7 @@ SECTIONS
|
||||||
|
|
||||||
.dram0.data :
|
.dram0.data :
|
||||||
{
|
{
|
||||||
_data_start = ABSOLUTE(.);
|
_data_start_low = ABSOLUTE(.);
|
||||||
*(.gnu.linkonce.d.*)
|
*(.gnu.linkonce.d.*)
|
||||||
*(.data1)
|
*(.data1)
|
||||||
__global_pointer$ = . + 0x800;
|
__global_pointer$ = . + 0x800;
|
||||||
|
@ -230,9 +230,18 @@ SECTIONS
|
||||||
arrays[dram0_data]
|
arrays[dram0_data]
|
||||||
mapping[dram0_data]
|
mapping[dram0_data]
|
||||||
|
|
||||||
_data_end = ABSOLUTE(.);
|
_data_end_low = ABSOLUTE(.);
|
||||||
} > sram_low
|
} > sram_low
|
||||||
|
|
||||||
|
.dram1.data :
|
||||||
|
{
|
||||||
|
_data_start_high = ABSOLUTE(.);
|
||||||
|
|
||||||
|
mapping[dram0_data]
|
||||||
|
|
||||||
|
_data_end_high = ABSOLUTE(.);
|
||||||
|
} > sram_high
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This section holds data that should not be initialized at power up.
|
* This section holds data that should not be initialized at power up.
|
||||||
* The section located in Internal SRAM memory region. The macro _NOINIT
|
* The section located in Internal SRAM memory region. The macro _NOINIT
|
||||||
|
|
|
@ -89,7 +89,7 @@ const soc_memory_region_t soc_memory_regions[] = {
|
||||||
const size_t soc_memory_region_count = sizeof(soc_memory_regions) / sizeof(soc_memory_region_t);
|
const size_t soc_memory_region_count = sizeof(soc_memory_regions) / sizeof(soc_memory_region_t);
|
||||||
|
|
||||||
|
|
||||||
extern int _data_start, _bss_start_high, _heap_start_low, _heap_start_high, _iram_start, _iram_end, _rtc_force_slow_end;
|
extern int _data_start_low, _data_start_high, _heap_start_low, _heap_start_high, _iram_start, _iram_end, _rtc_force_slow_end;
|
||||||
extern int _tcm_text_start, _tcm_data_end;
|
extern int _tcm_text_start, _tcm_data_end;
|
||||||
extern int _rtc_reserved_start, _rtc_reserved_end;
|
extern int _rtc_reserved_start, _rtc_reserved_end;
|
||||||
|
|
||||||
|
@ -100,8 +100,8 @@ extern int _rtc_reserved_start, _rtc_reserved_end;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Static data region. DRAM used by data+bss and possibly rodata
|
// Static data region. DRAM used by data+bss and possibly rodata
|
||||||
SOC_RESERVE_MEMORY_REGION((intptr_t)&_data_start, (intptr_t)&_heap_start_low, dram_data_low);
|
SOC_RESERVE_MEMORY_REGION((intptr_t)&_data_start_low, (intptr_t)&_heap_start_low, dram_data_low);
|
||||||
SOC_RESERVE_MEMORY_REGION((intptr_t)&_bss_start_high, (intptr_t)&_heap_start_high, dram_data_high);
|
SOC_RESERVE_MEMORY_REGION((intptr_t)&_data_start_high, (intptr_t)&_heap_start_high, dram_data_high);
|
||||||
|
|
||||||
// Target has a shared D/IRAM virtual address, no need to calculate I_D_OFFSET like previous chips
|
// Target has a shared D/IRAM virtual address, no need to calculate I_D_OFFSET like previous chips
|
||||||
SOC_RESERVE_MEMORY_REGION((intptr_t)&_iram_start, (intptr_t)&_iram_end, iram_code);
|
SOC_RESERVE_MEMORY_REGION((intptr_t)&_iram_start, (intptr_t)&_iram_end, iram_code);
|
||||||
|
|
Ładowanie…
Reference in New Issue