Kconfig 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. menu "Application Level Tracing"
  2. choice APPTRACE_DESTINATION
  3. prompt "Data Destination"
  4. default APPTRACE_DEST_NONE
  5. help
  6. Select destination for application trace: JTAG or none (to disable).
  7. config APPTRACE_DEST_JTAG
  8. bool "JTAG"
  9. select APPTRACE_DEST_TRAX if IDF_TARGET_ARCH_XTENSA
  10. select APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE
  11. select APPTRACE_ENABLE
  12. config APPTRACE_DEST_NONE
  13. bool "None"
  14. endchoice
  15. config APPTRACE_DEST_TRAX
  16. bool
  17. depends on IDF_TARGET_ARCH_XTENSA && !ESP32_TRAX && !ESP32S2_TRAX && !ESP32S3_TRAX
  18. select ESP32_MEMMAP_TRACEMEM
  19. select ESP32S2_MEMMAP_TRACEMEM
  20. select ESP32S3_MEMMAP_TRACEMEM
  21. select ESP32_MEMMAP_TRACEMEM_TWOBANKS
  22. select ESP32S2_MEMMAP_TRACEMEM_TWOBANKS
  23. select ESP32S3_MEMMAP_TRACEMEM_TWOBANKS
  24. default n
  25. help
  26. Enables/disable TRAX tracing HW.
  27. config APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE
  28. bool
  29. default n
  30. help
  31. Enables/disable swapping memory buffers tracing protocol.
  32. config APPTRACE_ENABLE
  33. bool
  34. default n
  35. help
  36. Enables/disable application tracing module.
  37. config APPTRACE_LOCK_ENABLE
  38. bool
  39. default !APPTRACE_SV_ENABLE
  40. help
  41. Enables/disable application tracing module internal sync lock.
  42. config APPTRACE_ONPANIC_HOST_FLUSH_TMO
  43. int "Timeout for flushing last trace data to host on panic"
  44. depends on APPTRACE_ENABLE
  45. range -1 5000
  46. default -1
  47. help
  48. Timeout for flushing last trace data to host in case of panic. In ms.
  49. Use -1 to disable timeout and wait forever.
  50. config APPTRACE_POSTMORTEM_FLUSH_THRESH
  51. int "Threshold for flushing last trace data to host on panic"
  52. depends on APPTRACE_ENABLE
  53. range 0 16384
  54. default 0
  55. help
  56. Threshold for flushing last trace data to host on panic in post-mortem mode.
  57. This is minimal amount of data needed to perform flush. In bytes.
  58. config APPTRACE_BUF_SIZE
  59. int "Size of the apptrace buffer"
  60. depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE && !APPTRACE_DEST_TRAX
  61. default 16384
  62. help
  63. Size of the memory buffer for trace data in bytes.
  64. config APPTRACE_PENDING_DATA_SIZE_MAX
  65. int "Size of the pending data buffer"
  66. depends on APPTRACE_MEMBUFS_APPTRACE_PROTO_ENABLE
  67. default 0
  68. help
  69. Size of the buffer for events in bytes. It is useful for buffering events from
  70. the time critical code (scheduler, ISRs etc). If this parameter is 0 then
  71. events will be discarded when main HW buffer is full.
  72. menu "FreeRTOS SystemView Tracing"
  73. depends on APPTRACE_ENABLE
  74. config APPTRACE_SV_ENABLE
  75. bool "SystemView Tracing Enable"
  76. depends on APPTRACE_ENABLE
  77. default n
  78. help
  79. Enables supporrt for SEGGER SystemView tracing functionality.
  80. choice APPTRACE_SV_TS_SOURCE
  81. prompt "Timer to use as timestamp source"
  82. depends on APPTRACE_SV_ENABLE
  83. default APPTRACE_SV_TS_SOURCE_CCOUNT if FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
  84. default APPTRACE_SV_TS_SOURCE_TIMER_00 if !FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
  85. default APPTRACE_SV_TS_SOURCE_ESP_TIMER if PM_ENABLE || IDF_TARGET_ESP32C3
  86. help
  87. SystemView needs to use a hardware timer as the source of timestamps
  88. when tracing. This option selects the timer for it.
  89. config APPTRACE_SV_TS_SOURCE_CCOUNT
  90. bool "CPU cycle counter (CCOUNT)"
  91. depends on FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
  92. config APPTRACE_SV_TS_SOURCE_TIMER_00
  93. bool "Timer 0, Group 0"
  94. depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
  95. config APPTRACE_SV_TS_SOURCE_TIMER_01
  96. bool "Timer 1, Group 0"
  97. depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
  98. config APPTRACE_SV_TS_SOURCE_TIMER_10
  99. bool "Timer 0, Group 1"
  100. depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
  101. config APPTRACE_SV_TS_SOURCE_TIMER_11
  102. bool "Timer 1, Group 1"
  103. depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
  104. config APPTRACE_SV_TS_SOURCE_ESP_TIMER
  105. bool "esp_timer high resolution timer"
  106. endchoice
  107. config APPTRACE_SV_MAX_TASKS
  108. int "Maximum supported tasks"
  109. depends on APPTRACE_SV_ENABLE
  110. range 1 64
  111. default 16
  112. help
  113. Configures maximum supported tasks in sysview debug
  114. config APPTRACE_SV_BUF_WAIT_TMO
  115. int "Trace buffer wait timeout"
  116. depends on APPTRACE_SV_ENABLE
  117. default 500
  118. help
  119. Configures timeout (in us) to wait for free space in trace buffer.
  120. Set to -1 to wait forever and avoid lost events.
  121. config APPTRACE_SV_EVT_OVERFLOW_ENABLE
  122. bool "Trace Buffer Overflow Event"
  123. depends on APPTRACE_SV_ENABLE
  124. default y
  125. help
  126. Enables "Trace Buffer Overflow" event.
  127. config APPTRACE_SV_EVT_ISR_ENTER_ENABLE
  128. bool "ISR Enter Event"
  129. depends on APPTRACE_SV_ENABLE
  130. default y
  131. help
  132. Enables "ISR Enter" event.
  133. config APPTRACE_SV_EVT_ISR_EXIT_ENABLE
  134. bool "ISR Exit Event"
  135. depends on APPTRACE_SV_ENABLE
  136. default y
  137. help
  138. Enables "ISR Exit" event.
  139. config APPTRACE_SV_EVT_ISR_TO_SCHED_ENABLE
  140. bool "ISR Exit to Scheduler Event"
  141. depends on APPTRACE_SV_ENABLE
  142. default y
  143. help
  144. Enables "ISR to Scheduler" event.
  145. config APPTRACE_SV_EVT_TASK_START_EXEC_ENABLE
  146. bool "Task Start Execution Event"
  147. depends on APPTRACE_SV_ENABLE
  148. default y
  149. help
  150. Enables "Task Start Execution" event.
  151. config APPTRACE_SV_EVT_TASK_STOP_EXEC_ENABLE
  152. bool "Task Stop Execution Event"
  153. depends on APPTRACE_SV_ENABLE
  154. default y
  155. help
  156. Enables "Task Stop Execution" event.
  157. config APPTRACE_SV_EVT_TASK_START_READY_ENABLE
  158. bool "Task Start Ready State Event"
  159. depends on APPTRACE_SV_ENABLE
  160. default y
  161. help
  162. Enables "Task Start Ready State" event.
  163. config APPTRACE_SV_EVT_TASK_STOP_READY_ENABLE
  164. bool "Task Stop Ready State Event"
  165. depends on APPTRACE_SV_ENABLE
  166. default y
  167. help
  168. Enables "Task Stop Ready State" event.
  169. config APPTRACE_SV_EVT_TASK_CREATE_ENABLE
  170. bool "Task Create Event"
  171. depends on APPTRACE_SV_ENABLE
  172. default y
  173. help
  174. Enables "Task Create" event.
  175. config APPTRACE_SV_EVT_TASK_TERMINATE_ENABLE
  176. bool "Task Terminate Event"
  177. depends on APPTRACE_SV_ENABLE
  178. default y
  179. help
  180. Enables "Task Terminate" event.
  181. config APPTRACE_SV_EVT_IDLE_ENABLE
  182. bool "System Idle Event"
  183. depends on APPTRACE_SV_ENABLE
  184. default y
  185. help
  186. Enables "System Idle" event.
  187. config APPTRACE_SV_EVT_TIMER_ENTER_ENABLE
  188. bool "Timer Enter Event"
  189. depends on APPTRACE_SV_ENABLE
  190. default y
  191. help
  192. Enables "Timer Enter" event.
  193. config APPTRACE_SV_EVT_TIMER_EXIT_ENABLE
  194. bool "Timer Exit Event"
  195. depends on APPTRACE_SV_ENABLE
  196. default y
  197. help
  198. Enables "Timer Exit" event.
  199. endmenu
  200. config APPTRACE_GCOV_ENABLE
  201. bool "GCOV to Host Enable"
  202. depends on APPTRACE_ENABLE && !APPTRACE_SV_ENABLE
  203. select ESP_DEBUG_STUBS_ENABLE
  204. default n
  205. help
  206. Enables support for GCOV data transfer to host.
  207. endmenu