Reuse the startup stack for the dynamic heap.
Once scheduling has started, the startup stack is no longer usable, control can never return to that stack. So bump up the heap end in the first task that runs after scheduling has started. This gives back about 1k.
This commit is contained in:
parent
89c6c410ff
commit
724bf797b1
1 changed files with 6 additions and 0 deletions
|
@ -339,10 +339,16 @@ void sdk_wdt_init(void) {
|
||||||
sdk_pp_soft_wdt_init();
|
sdk_pp_soft_wdt_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern void *xPortSupervisorStackPointer;
|
||||||
|
|
||||||
// .irom0.text+0x474
|
// .irom0.text+0x474
|
||||||
void sdk_user_init_task(void *params) {
|
void sdk_user_init_task(void *params) {
|
||||||
int phy_ver, pp_ver;
|
int phy_ver, pp_ver;
|
||||||
|
|
||||||
|
/* The start up stack is not used after scheduling has started, so all of
|
||||||
|
* the top area of RAM which was stack can be used for the dynamic heap. */
|
||||||
|
xPortSupervisorStackPointer = (void *)0x40000000;
|
||||||
|
|
||||||
sdk_ets_timer_init();
|
sdk_ets_timer_init();
|
||||||
printf("\nESP-Open-SDK ver: %s compiled @ %s %s\n", OS_VERSION_STR, __DATE__, __TIME__);
|
printf("\nESP-Open-SDK ver: %s compiled @ %s %s\n", OS_VERSION_STR, __DATE__, __TIME__);
|
||||||
phy_ver = RTCMEM_BACKUP[RTCMEM_BACKUP_PHY_VER] >> 16;
|
phy_ver = RTCMEM_BACKUP[RTCMEM_BACKUP_PHY_VER] >> 16;
|
||||||
|
|
Loading…
Reference in a new issue