Kconfig 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. menu "Core dump"
  2. choice ESP_COREDUMP_TO_FLASH_OR_UART
  3. prompt "Data destination"
  4. default ESP_COREDUMP_ENABLE_TO_NONE
  5. help
  6. Select place to store core dump: flash, uart or none (to disable core dumps generation).
  7. Core dumps to Flash are not available if PSRAM is used for task stacks.
  8. If core dump is configured to be stored in flash and custom partition table is used add
  9. corresponding entry to your CSV. For examples, please see predefined partition table CSV descriptions
  10. in the components/partition_table directory.
  11. config ESP_COREDUMP_ENABLE_TO_FLASH
  12. bool "Flash"
  13. select ESP_COREDUMP_ENABLE
  14. config ESP_COREDUMP_ENABLE_TO_UART
  15. bool "UART"
  16. select ESP_COREDUMP_ENABLE
  17. config ESP_COREDUMP_ENABLE_TO_NONE
  18. bool "None"
  19. endchoice
  20. choice ESP_COREDUMP_DATA_FORMAT
  21. prompt "Core dump data format"
  22. default ESP_COREDUMP_DATA_FORMAT_ELF
  23. depends on !ESP_COREDUMP_ENABLE_TO_NONE
  24. help
  25. Select the data format for core dump.
  26. config ESP_COREDUMP_DATA_FORMAT_BIN
  27. bool "Binary format"
  28. config ESP_COREDUMP_DATA_FORMAT_ELF
  29. bool "ELF format"
  30. endchoice
  31. choice ESP_COREDUMP_CHECKSUM
  32. prompt "Core dump data integrity check"
  33. default ESP_COREDUMP_CHECKSUM_CRC32
  34. depends on !ESP_COREDUMP_ENABLE_TO_NONE
  35. help
  36. Select the integrity check for the core dump.
  37. config ESP_COREDUMP_CHECKSUM_CRC32
  38. bool "Use CRC32 for integrity verification"
  39. config ESP_COREDUMP_CHECKSUM_SHA256
  40. bool "Use SHA256 for integrity verification"
  41. depends on ESP_COREDUMP_DATA_FORMAT_ELF && IDF_TARGET_ESP32
  42. endchoice
  43. config ESP_COREDUMP_CHECK_BOOT
  44. bool "Check core dump data integrity on boot"
  45. default y
  46. depends on ESP_COREDUMP_ENABLE_TO_FLASH
  47. help
  48. When enabled, if any data are found on the flash core dump partition,
  49. they will be checked by calculating their checksum.
  50. config ESP_COREDUMP_ENABLE
  51. bool
  52. default F
  53. help
  54. Enables/disable core dump module.
  55. config ESP_COREDUMP_LOGS
  56. bool "Enable coredump logs for debugging"
  57. depends on ESP_COREDUMP_ENABLE
  58. default y
  59. help
  60. Enable/disable coredump logs. Logs strings from espcoredump component are
  61. placed in DRAM. Disabling these helps to save ~5KB of internal memory.
  62. config ESP_COREDUMP_MAX_TASKS_NUM
  63. int "Maximum number of tasks"
  64. depends on ESP_COREDUMP_ENABLE
  65. default 64
  66. help
  67. Maximum number of tasks snapshots in core dump.
  68. config ESP_COREDUMP_UART_DELAY
  69. int "Delay before print to UART"
  70. depends on ESP_COREDUMP_ENABLE_TO_UART
  71. default 0
  72. help
  73. Config delay (in ms) before printing core dump to UART.
  74. Delay can be interrupted by pressing Enter key.
  75. config ESP_COREDUMP_FLASH_NO_OVERWRITE
  76. bool "Don't overwrite existing core dump"
  77. depends on ESP_COREDUMP_ENABLE_TO_FLASH
  78. default n
  79. help
  80. Don't overwrite an existing core dump already present in flash.
  81. Enable this option to only keep the first of multiple core dumps.
  82. If enabled, the core dump partition must be erased before the first
  83. core dump can be written.
  84. config ESP_COREDUMP_USE_STACK_SIZE
  85. bool
  86. default y if ESP_COREDUMP_ENABLE_TO_FLASH && SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
  87. default n
  88. help
  89. Force the use of a custom DRAM stack for coredump when Task stacks can be in PSRAM.
  90. config ESP_COREDUMP_STACK_SIZE
  91. int "Reserved stack size"
  92. depends on ESP_COREDUMP_ENABLE
  93. range 0 4096 if !ESP_COREDUMP_USE_STACK_SIZE
  94. range 1280 4096 if ESP_COREDUMP_USE_STACK_SIZE
  95. default 0 if !ESP_COREDUMP_USE_STACK_SIZE
  96. default 1280 if ESP_COREDUMP_USE_STACK_SIZE
  97. help
  98. Size of the memory to be reserved for core dump stack. If 0 core dump process will run on
  99. the stack of crashed task/ISR, otherwise special stack will be allocated.
  100. To ensure that core dump itself will not overflow task/ISR stack set this to the value above 800.
  101. NOTE: It eats DRAM.
  102. config ESP_COREDUMP_SUMMARY_STACKDUMP_SIZE
  103. int "Size of the stack dump buffer"
  104. depends on ESP_COREDUMP_DATA_FORMAT_ELF && ESP_COREDUMP_ENABLE_TO_FLASH && IDF_TARGET_ARCH_RISCV
  105. range 512 4096
  106. default 1024
  107. help
  108. Size of the buffer that would be reserved for extracting backtrace info summary.
  109. This buffer will contain the stack dump of the crashed task. This dump is useful in generating backtrace
  110. choice ESP_COREDUMP_DECODE
  111. prompt "Handling of UART core dumps in IDF Monitor"
  112. depends on ESP_COREDUMP_ENABLE_TO_UART
  113. config ESP_COREDUMP_DECODE_INFO
  114. bool "Decode and show summary (info_corefile)"
  115. config ESP_COREDUMP_DECODE_DISABLE
  116. bool "Don't decode"
  117. endchoice
  118. config ESP_COREDUMP_DECODE
  119. string
  120. default "disable" if ESP_COREDUMP_DECODE_DISABLE
  121. default "info" if ESP_COREDUMP_DECODE_INFO
  122. endmenu