Kconfig 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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_GPTIMER 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_GPTIMER
  93. bool "General Purpose Timer (Timer Group)"
  94. depends on !PM_ENABLE && !IDF_TARGET_ESP32C3
  95. config APPTRACE_SV_TS_SOURCE_ESP_TIMER
  96. bool "esp_timer high resolution timer"
  97. endchoice
  98. config APPTRACE_SV_MAX_TASKS
  99. int "Maximum supported tasks"
  100. depends on APPTRACE_SV_ENABLE
  101. range 1 64
  102. default 16
  103. help
  104. Configures maximum supported tasks in sysview debug
  105. config APPTRACE_SV_BUF_WAIT_TMO
  106. int "Trace buffer wait timeout"
  107. depends on APPTRACE_SV_ENABLE
  108. default 500
  109. help
  110. Configures timeout (in us) to wait for free space in trace buffer.
  111. Set to -1 to wait forever and avoid lost events.
  112. config APPTRACE_SV_EVT_OVERFLOW_ENABLE
  113. bool "Trace Buffer Overflow Event"
  114. depends on APPTRACE_SV_ENABLE
  115. default y
  116. help
  117. Enables "Trace Buffer Overflow" event.
  118. config APPTRACE_SV_EVT_ISR_ENTER_ENABLE
  119. bool "ISR Enter Event"
  120. depends on APPTRACE_SV_ENABLE
  121. default y
  122. help
  123. Enables "ISR Enter" event.
  124. config APPTRACE_SV_EVT_ISR_EXIT_ENABLE
  125. bool "ISR Exit Event"
  126. depends on APPTRACE_SV_ENABLE
  127. default y
  128. help
  129. Enables "ISR Exit" event.
  130. config APPTRACE_SV_EVT_ISR_TO_SCHED_ENABLE
  131. bool "ISR Exit to Scheduler Event"
  132. depends on APPTRACE_SV_ENABLE
  133. default y
  134. help
  135. Enables "ISR to Scheduler" event.
  136. config APPTRACE_SV_EVT_TASK_START_EXEC_ENABLE
  137. bool "Task Start Execution Event"
  138. depends on APPTRACE_SV_ENABLE
  139. default y
  140. help
  141. Enables "Task Start Execution" event.
  142. config APPTRACE_SV_EVT_TASK_STOP_EXEC_ENABLE
  143. bool "Task Stop Execution Event"
  144. depends on APPTRACE_SV_ENABLE
  145. default y
  146. help
  147. Enables "Task Stop Execution" event.
  148. config APPTRACE_SV_EVT_TASK_START_READY_ENABLE
  149. bool "Task Start Ready State Event"
  150. depends on APPTRACE_SV_ENABLE
  151. default y
  152. help
  153. Enables "Task Start Ready State" event.
  154. config APPTRACE_SV_EVT_TASK_STOP_READY_ENABLE
  155. bool "Task Stop Ready State Event"
  156. depends on APPTRACE_SV_ENABLE
  157. default y
  158. help
  159. Enables "Task Stop Ready State" event.
  160. config APPTRACE_SV_EVT_TASK_CREATE_ENABLE
  161. bool "Task Create Event"
  162. depends on APPTRACE_SV_ENABLE
  163. default y
  164. help
  165. Enables "Task Create" event.
  166. config APPTRACE_SV_EVT_TASK_TERMINATE_ENABLE
  167. bool "Task Terminate Event"
  168. depends on APPTRACE_SV_ENABLE
  169. default y
  170. help
  171. Enables "Task Terminate" event.
  172. config APPTRACE_SV_EVT_IDLE_ENABLE
  173. bool "System Idle Event"
  174. depends on APPTRACE_SV_ENABLE
  175. default y
  176. help
  177. Enables "System Idle" event.
  178. config APPTRACE_SV_EVT_TIMER_ENTER_ENABLE
  179. bool "Timer Enter Event"
  180. depends on APPTRACE_SV_ENABLE
  181. default y
  182. help
  183. Enables "Timer Enter" event.
  184. config APPTRACE_SV_EVT_TIMER_EXIT_ENABLE
  185. bool "Timer Exit Event"
  186. depends on APPTRACE_SV_ENABLE
  187. default y
  188. help
  189. Enables "Timer Exit" event.
  190. endmenu
  191. config APPTRACE_GCOV_ENABLE
  192. bool "GCOV to Host Enable"
  193. depends on APPTRACE_ENABLE && !APPTRACE_SV_ENABLE
  194. select ESP_DEBUG_STUBS_ENABLE
  195. default n
  196. help
  197. Enables support for GCOV data transfer to host.
  198. endmenu