esp32: modify ld file to fix a crash issue

This commit is contained in:
Liu Zhi Fu
2017-01-06 19:35:22 +08:00
committed by Wu Jian Gang
parent 2250fee01a
commit a575b9e893
3 changed files with 5 additions and 5 deletions

View File

@@ -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
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
@@ -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
_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_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((void*)0x3ffae000, (void*)0x3ffb0000); //knock out ROM data region
disable_mem_region((void*)0x40070000, (void*)0x40078000); //CPU0 cache region