mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/fix_a_crash_issue' into 'master'
esp32: modify ld file to fix a crash issue This MR is to fix a crash issue in latest idf See merge request !379
This commit is contained in:
commit
3708e15ea9
@ -170,7 +170,7 @@ Warning: These variables are assumed to have the start and end of the data and i
|
|||||||
area used statically by the program, respectively. These variables are defined in the ld
|
area used statically by the program, respectively. These variables are defined in the ld
|
||||||
file.
|
file.
|
||||||
*/
|
*/
|
||||||
extern int _bss_start, _heap_start, _init_start, _iram_text_end;
|
extern int _data_start, _heap_start, _init_start, _iram_text_end;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Initialize the heap allocator. We pass it a bunch of region descriptors, but we need to modify those first to accommodate for
|
Initialize the heap allocator. We pass it a bunch of region descriptors, but we need to modify those first to accommodate for
|
||||||
@ -183,7 +183,7 @@ void heap_alloc_caps_init() {
|
|||||||
//Compile-time assert to see if we don't have more tags than is set in heap_regions.h
|
//Compile-time assert to see if we don't have more tags than is set in heap_regions.h
|
||||||
_Static_assert((sizeof(tag_desc)/sizeof(tag_desc[0]))-1 <= HEAPREGIONS_MAX_TAGCOUNT, "More than HEAPREGIONS_MAX_TAGCOUNT tags defined!");
|
_Static_assert((sizeof(tag_desc)/sizeof(tag_desc[0]))-1 <= HEAPREGIONS_MAX_TAGCOUNT, "More than HEAPREGIONS_MAX_TAGCOUNT tags defined!");
|
||||||
//Disable the bits of memory where this code is loaded.
|
//Disable the bits of memory where this code is loaded.
|
||||||
disable_mem_region(&_bss_start, &_heap_start); //DRAM used by bss/data static variables
|
disable_mem_region(&_data_start, &_heap_start); //DRAM used by bss/data static variables
|
||||||
disable_mem_region(&_init_start, &_iram_text_end); //IRAM used by code
|
disable_mem_region(&_init_start, &_iram_text_end); //IRAM used by code
|
||||||
disable_mem_region((void*)0x3ffae000, (void*)0x3ffb0000); //knock out ROM data region
|
disable_mem_region((void*)0x3ffae000, (void*)0x3ffb0000); //knock out ROM data region
|
||||||
disable_mem_region((void*)0x40070000, (void*)0x40078000); //CPU0 cache region
|
disable_mem_region((void*)0x40070000, (void*)0x40078000); //CPU0 cache region
|
||||||
|
@ -103,7 +103,6 @@ SECTIONS
|
|||||||
*libesp32.a:panic.o(.rodata .rodata.*)
|
*libesp32.a:panic.o(.rodata .rodata.*)
|
||||||
_data_end = ABSOLUTE(.);
|
_data_end = ABSOLUTE(.);
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_heap_start = ABSOLUTE(.);
|
|
||||||
} >dram0_0_seg
|
} >dram0_0_seg
|
||||||
|
|
||||||
/* Shared RAM */
|
/* Shared RAM */
|
||||||
@ -127,6 +126,7 @@ SECTIONS
|
|||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN (8);
|
. = ALIGN (8);
|
||||||
_bss_end = ABSOLUTE(.);
|
_bss_end = ABSOLUTE(.);
|
||||||
|
_heap_start = ABSOLUTE(.);
|
||||||
} >dram0_0_seg
|
} >dram0_0_seg
|
||||||
|
|
||||||
.flash.rodata :
|
.flash.rodata :
|
||||||
|
@ -87,9 +87,9 @@ PROVIDE ( _ctype_ = 0x3ff96354 );
|
|||||||
PROVIDE ( __ctype_ptr__ = 0x3ff96350 );
|
PROVIDE ( __ctype_ptr__ = 0x3ff96350 );
|
||||||
PROVIDE ( __ctzdi2 = 0x4000ca64 );
|
PROVIDE ( __ctzdi2 = 0x4000ca64 );
|
||||||
PROVIDE ( __ctzsi2 = 0x4000c7f0 );
|
PROVIDE ( __ctzsi2 = 0x4000c7f0 );
|
||||||
PROVIDE ( _data_end = 0x4000d5c8 );
|
PROVIDE ( _data_end_rom = 0x4000d5c8 );
|
||||||
PROVIDE ( _data_end_btdm_rom = 0x4000d4f8 );
|
PROVIDE ( _data_end_btdm_rom = 0x4000d4f8 );
|
||||||
PROVIDE ( _data_start = 0x4000d4f8 );
|
PROVIDE ( _data_start_rom = 0x4000d4f8 );
|
||||||
PROVIDE ( _data_start_btdm_rom = 0x4000d4f4 );
|
PROVIDE ( _data_start_btdm_rom = 0x4000d4f4 );
|
||||||
PROVIDE ( _data_start_btdm = 0x3ffae6e0);
|
PROVIDE ( _data_start_btdm = 0x3ffae6e0);
|
||||||
PROVIDE ( _data_end_btdm = 0x3ffaff10);
|
PROVIDE ( _data_end_btdm = 0x3ffaff10);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user