mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-22 21:23:07 +03:00
* Move functions out of IRAM when possible umm_init() is called in OS startup after flash is enabled, and never again. cont_get_free_stack() shouldn't be called from IRQ. Don't inline _iram_read_byte() function. * Move system fault handler to flash, use new printf The __wrap_system_restart call has been in flash for quite a while and seems to be working fine. There were some support routines that were placed in IRAM (mistakenly thinking the wrap_restart caller was also in IRAM) which are now moved to flash. Clean up the printf code to use the new stdlib which handles PGM_P strings as format and arguments without any difficulty. * Make STR macro more unique Add double-underscores to some string assistance macros to avoid conflicts with user applications. * Use function, not macro, to save code space Save ~2KB final bin size by using a ets_printf_P function and not an inline macro. IRAM and HEAP unaffected. * Don't actually touch the SP in the dump Store a copy of the incoming stack pointer in the postmortem in order to avoid actually changing the SP when a crash happend in BearSSL. * Make C++ uncaught exceptions explicit Use the term "Unhandled C++ exception" instead of just "Unhandled exception" to make it clear such crashes are caused by a C++ throw and now a system exception.