Re-add panic.o to IRAM/DRAM.

This commit is contained in:
Jeroen Domburg 2016-10-28 14:32:11 +08:00
parent a038a2b533
commit 309bd12855
2 changed files with 7 additions and 2 deletions

View file

@ -47,6 +47,7 @@ SECTIONS
_iram_text_start = ABSOLUTE(.);
*(.iram1 .iram1.*)
*libfreertos.a:(.literal .text .literal.* .text.*)
*libesp32.a:panic.o(.literal .text .literal.* .text.*)
*libphy.a:(.literal .text .literal.* .text.*)
*librtc.a:(.literal .text .literal.* .text.*)
*libpp.a:(.literal .text .literal.* .text.*)
@ -92,7 +93,7 @@ SECTIONS
KEEP(*(.gnu.linkonce.s2.*))
KEEP(*(.jcr))
*(.dram1 .dram1.*)
*libfreertos.a:panic.o(.rodata .rodata.*)
*libesp32.a:panic.o(.rodata .rodata.*)
_data_end = ABSOLUTE(.);
. = ALIGN(4);
_heap_start = ABSOLUTE(.);

View file

@ -30,7 +30,7 @@
#include "esp_gdbstub.h"
#include "esp_panic.h"
#include "esp_attr.h"
/*
Panic handlers; these get called when an unhandled exception occurs or the assembly-level
@ -38,6 +38,10 @@ task switching / interrupt code runs into an unrecoverable error. The default ta
overflow handler also is in here.
*/
/*
Note: The linker script will put everything in this file in IRAM/DRAM, so it also works with flash cache disabled.
*/
#if !CONFIG_ESP32_PANIC_SILENT_REBOOT
//printf may be broken, so we fix our own printing fns...
inline static void panicPutchar(char c) {