This adds detection of UART core dumps to IDF monitor. By default, core dumps are not printed to the console, but are processed by espcoredump.py using 'info_corefile' command. The result is printed to stdout. This feature can be disabled in menuconfig. In the future this can be extended to allow running espcoredump.py with 'dbg_corefile' argument, which is similar to the current GDB Stub behavior. Related to IDF-52.
94 lines
3.3 KiB
Text
94 lines
3.3 KiB
Text
menu "Core dump"
|
|
|
|
choice ESP32_COREDUMP_TO_FLASH_OR_UART
|
|
prompt "Data destination"
|
|
default ESP32_ENABLE_COREDUMP_TO_NONE
|
|
help
|
|
Select place to store core dump: flash, uart or none (to disable core dumps generation).
|
|
|
|
If core dump is configured to be stored in flash and custom partition table is used add
|
|
corresponding entry to your CSV. For examples, please see predefined partition table CSV descriptions
|
|
in the components/partition_table directory.
|
|
|
|
config ESP32_ENABLE_COREDUMP_TO_FLASH
|
|
bool "Flash"
|
|
select ESP32_ENABLE_COREDUMP
|
|
config ESP32_ENABLE_COREDUMP_TO_UART
|
|
bool "UART"
|
|
select ESP32_ENABLE_COREDUMP
|
|
config ESP32_ENABLE_COREDUMP_TO_NONE
|
|
bool "None"
|
|
endchoice
|
|
|
|
choice ESP32_COREDUMP_DATA_FORMAT
|
|
prompt "Core dump data format"
|
|
default ESP32_COREDUMP_DATA_FORMAT_ELF
|
|
depends on !ESP32_ENABLE_COREDUMP_TO_NONE
|
|
help
|
|
Select the data format for core dump.
|
|
config ESP32_COREDUMP_DATA_FORMAT_BIN
|
|
bool "Binary format"
|
|
config ESP32_COREDUMP_DATA_FORMAT_ELF
|
|
bool "ELF format"
|
|
endchoice
|
|
|
|
choice ESP32_COREDUMP_CHECKSUM
|
|
prompt "Core dump data integrity check"
|
|
default ESP32_COREDUMP_CHECKSUM_CRC32
|
|
depends on !ESP32_ENABLE_COREDUMP_TO_NONE
|
|
help
|
|
Select the integrity check for the core dump.
|
|
config ESP32_COREDUMP_CHECKSUM_CRC32
|
|
bool "Use CRC32 for integrity verification"
|
|
config ESP32_COREDUMP_CHECKSUM_SHA256
|
|
bool "Use SHA256 for integrity verification"
|
|
depends on ESP32_COREDUMP_DATA_FORMAT_ELF
|
|
endchoice
|
|
|
|
config ESP32_ENABLE_COREDUMP
|
|
bool
|
|
default F
|
|
help
|
|
Enables/disable core dump module.
|
|
|
|
config ESP32_CORE_DUMP_MAX_TASKS_NUM
|
|
int "Maximum number of tasks"
|
|
depends on ESP32_ENABLE_COREDUMP
|
|
default 64
|
|
help
|
|
Maximum number of tasks snapshots in core dump.
|
|
|
|
config ESP32_CORE_DUMP_UART_DELAY
|
|
int "Delay before print to UART"
|
|
depends on ESP32_ENABLE_COREDUMP_TO_UART
|
|
default 0
|
|
help
|
|
Config delay (in ms) before printing core dump to UART.
|
|
Delay can be interrupted by pressing Enter key.
|
|
|
|
config ESP32_CORE_DUMP_STACK_SIZE
|
|
int "Reserved stack size"
|
|
depends on ESP32_ENABLE_COREDUMP
|
|
default 0
|
|
help
|
|
Size of the memory to be reserved for core dump stack. If 0 core dump process will run on
|
|
the stack of crashed task/ISR, otherwise special stack will be allocated.
|
|
To ensure that core dump itself will not overflow task/ISR stack set this to the value above 800.
|
|
NOTE: It eats DRAM.
|
|
|
|
choice ESP32_CORE_DUMP_DECODE
|
|
prompt "Handling of UART core dumps in IDF Monitor"
|
|
depends on ESP32_ENABLE_COREDUMP_TO_UART
|
|
config ESP32_CORE_DUMP_DECODE_INFO
|
|
bool "Decode and show summary (info_corefile)"
|
|
config ESP32_CORE_DUMP_DECODE_DISABLE
|
|
bool "Don't decode"
|
|
endchoice
|
|
|
|
config ESP32_CORE_DUMP_DECODE
|
|
string
|
|
default "disable" if ESP32_CORE_DUMP_DECODE_DISABLE
|
|
default "info" if ESP32_CORE_DUMP_DECODE_INFO
|
|
|
|
endmenu
|
|
|