Link against newlib from esp-open-sdk's libcirom, replace FreeRTOS heap management.
Compiles and runs, expects xtensa lock.c patch in newlib (will still run otherwise but malloc/free and other functions will be non-memory-safe...)
This commit is contained in:
		
							parent
							
								
									1b0124cf05
								
							
						
					
					
						commit
						49268a33e1
					
				
					 5 changed files with 89 additions and 453 deletions
				
			
		|  | @ -3,6 +3,21 @@ | |||
|    Modified for esp open RTOS, this linker script is no longer the same as the esp_iot_rtos_sdk one. | ||||
| */ | ||||
| 
 | ||||
| /* FreeRTOS memory management functions | ||||
| 
 | ||||
|    We link these directly to newlib functions (have to do it at link | ||||
|    time as binary libraries use these symbols too.) | ||||
| */ | ||||
| pvPortMalloc = malloc; | ||||
| vPortFree = free; | ||||
| 
 | ||||
| _lock_acquire = vPortEnterCritical; | ||||
| _lock_acquire_recursive = vPortEnterCritical; | ||||
| _lock_try_acquire = vPortEnterCritical; | ||||
| _lock_try_acquire_recursive = vPortEnterCritical; | ||||
| _lock_release = vPortExitCritical; | ||||
| _lock_release_recursive = vPortExitCritical; | ||||
| 
 | ||||
| /* Linker Script for ld -N */ | ||||
| MEMORY | ||||
| { | ||||
|  | @ -156,7 +171,7 @@ SECTIONS | |||
|     *(COMMON) | ||||
|     . = ALIGN (8); | ||||
|     _bss_end = ABSOLUTE(.); | ||||
|     _heap_start = ABSOLUTE(.); /* ESPTODO: Remove this symbol */ | ||||
|     _heap_start = ABSOLUTE(.); | ||||
| /*    _stack_sentry = ALIGN(0x8); */ | ||||
|   } >dram0_0_seg :dram0_0_bss_phdr | ||||
| /* __stack = 0x3ffc8000; */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue