From 19a27980a5c2c5ae3b5968de57e702541715835e Mon Sep 17 00:00:00 2001 From: Erhan Kurubas Date: Sun, 26 Jul 2026 15:06:22 +0300 Subject: [PATCH] refactor(examples): group trace examples under examples/system/tracing/ Move 7 trace-related examples (app_trace_basic, app_trace_to_plot, esp_trace_custom_library, function_tracing, gcov, sysview_tracing, sysview_tracing_heap_log) from examples/system/ into a dedicated examples/system/tracing/ subdirectory for better organization. Update all path references across documentation (en + zh_CN), build-test-rules, CI configs, Kconfig, and component READMEs. --- .gitlab/CODEOWNERS | 2 + components/esp_trace/Kconfig | 2 +- components/esp_trace/README.md | 8 +-- .../tracing/custom-trace-library.rst | 2 +- .../api-guides/tracing/function-tracing.rst | 2 +- docs/en/api-guides/tracing/gcov.rst | 2 +- docs/en/api-guides/tracing/index.rst | 12 ++-- docs/en/api-guides/tracing/sysview.rst | 4 +- docs/en/api-guides/tracing/transports.rst | 4 +- docs/en/api-reference/system/app_trace.rst | 4 +- docs/en/api-reference/system/esp_trace.rst | 2 +- docs/en/api-reference/system/heap_debug.rst | 32 ++++----- .../tracing/custom-trace-library.rst | 2 +- .../api-guides/tracing/function-tracing.rst | 2 +- docs/zh_CN/api-guides/tracing/gcov.rst | 2 +- docs/zh_CN/api-guides/tracing/index.rst | 12 ++-- docs/zh_CN/api-guides/tracing/sysview.rst | 4 +- docs/zh_CN/api-guides/tracing/transports.rst | 4 +- docs/zh_CN/api-reference/system/app_trace.rst | 4 +- docs/zh_CN/api-reference/system/esp_trace.rst | 2 +- .../zh_CN/api-reference/system/heap_debug.rst | 32 ++++----- examples/system/.build-test-rules.yml | 61 ----------------- examples/system/gcov/main/gcov_example_func.c | 8 --- examples/system/tracing/.build-test-rules.yml | 62 ++++++++++++++++++ .../app_trace_basic/CMakeLists.txt | 0 .../{ => tracing}/app_trace_basic/README.md | 0 .../app_trace_basic/main/CMakeLists.txt | 0 .../main/app_trace_basic_example_main.c | 0 .../app_trace_basic/pytest_app_trace_basic.py | 0 .../sdkconfig.ci.apptrace_jtag | 0 .../sdkconfig.ci.apptrace_uart | 0 .../app_trace_basic/sdkconfig.defaults | 0 .../app_trace_to_plot/CMakeLists.txt | 0 .../{ => tracing}/app_trace_to_plot/README.md | 4 +- .../{ => tracing}/app_trace_to_plot/data.json | 4 +- .../app_trace_to_plot/main/CMakeLists.txt | 0 .../main/app_trace_to_plot.c | 0 .../app_trace_to_plot/read_trace.py | 0 .../app_trace_to_plot/sdkconfig.defaults | 0 .../app_trace_to_plot/telemetry.png | Bin .../esp_trace_custom_library/CMakeLists.txt | 0 .../esp_trace_custom_library/README.md | 10 +-- .../components/ext_trace_lib/CMakeLists.txt | 0 .../include/esp_trace_freertos_impl.h | 0 .../ext_trace_lib/include/trace_FreeRTOS.h | 0 .../src/adapter_encoder_ext_trace_lib.c | 0 .../ext_trace_lib/src/trace_FreeRTOS.c | 0 .../main/CMakeLists.txt | 0 .../esp_trace_custom_library/main/app_main.c | 0 .../pytest_esp_trace_custom_library.py | 0 .../sdkconfig.defaults | 0 .../function_tracing/CMakeLists.txt | 0 .../{ => tracing}/function_tracing/README.md | 0 .../function_tracing/SYSVIEW_FreeRTOS.txt | 0 .../components/ft_demo/CMakeLists.txt | 0 .../components/ft_demo/ft_demo.c | 0 .../components/ft_demo/ft_demo_hot.c | 0 .../components/ft_demo/ft_demo_quiet.c | 0 .../components/ft_demo/include/ft_demo.h | 0 .../{ => tracing}/function_tracing/gdbinit | 0 .../function_tracing/main/CMakeLists.txt | 0 .../main/function_tracing_example_main.c | 0 .../function_tracing/main/idf_component.yml | 0 .../pytest_function_tracing.py | 0 .../function_tracing/sdkconfig.ci.jtag | 0 .../function_tracing/sdkconfig.defaults | 0 .../system/{ => tracing}/gcov/CMakeLists.txt | 0 examples/system/{ => tracing}/gcov/README.md | 0 .../gcov/components/sample/CMakeLists.txt | 0 .../gcov/components/sample/some_funcs.c | 5 ++ .../{ => tracing}/gcov/main/CMakeLists.txt | 0 .../{ => tracing}/gcov/main/Kconfig.projbuild | 0 .../tracing/gcov/main/gcov_example_func.c | 13 ++++ .../gcov/main/gcov_example_main.c | 13 ++-- .../{ => tracing}/gcov/main/idf_component.yml | 0 .../system/{ => tracing}/gcov/pytest_gcov.py | 0 .../{ => tracing}/gcov/sdkconfig.ci.gcov_jtag | 0 .../{ => tracing}/gcov/sdkconfig.ci.gcov_uart | 0 .../{ => tracing}/gcov/sdkconfig.defaults | 0 .../sysview_tracing/CMakeLists.txt | 0 .../{ => tracing}/sysview_tracing/README.md | 0 .../sysview_tracing/SYSVIEW_FreeRTOS.txt | 0 .../{ => tracing}/sysview_tracing/gdbinit | 0 .../sysview_tracing/main/CMakeLists.txt | 0 .../sysview_tracing/main/Kconfig.projbuild | 0 .../sysview_tracing/main/idf_component.yml | 0 .../sysview_tracing/main/sysview_tracing.c | 13 ++-- .../sysview_tracing/pytest_sysview_tracing.py | 0 .../sysview_tracing/sdkconfig.ci.sysview_jtag | 0 .../sysview_tracing/sdkconfig.ci.sysview_uart | 0 .../sdkconfig.ci.sysview_uart_esp32c2_26Mhz | 0 .../sysview_tracing/sdkconfig.ci.sysview_usj | 0 .../sysview_tracing/sdkconfig.defaults | 0 .../sysview_tracing_heap_log/CMakeLists.txt | 0 .../sysview_tracing_heap_log/README.md | 0 .../SYSVIEW_FreeRTOS.txt | 0 .../sysview_tracing_heap_log/gdbinit | 0 .../main/CMakeLists.txt | 0 .../main/idf_component.yml | 0 .../main/sysview_heap_log.c | 13 ++-- .../pytest_sysview_tracing_heap_log.py | 0 .../sdkconfig.ci.app_trace_jtag | 0 .../sdkconfig.ci.app_trace_uart | 0 .../sdkconfig.defaults | 0 .../sdkconfig.defaults.esp32 | 0 .../sdkconfig.defaults.esp32p4 | 0 .../sdkconfig.defaults.esp32s2 | 0 tools/ci/check_copyright_ignore.txt | 5 -- tools/ci/executable-list.txt | 2 +- 109 files changed, 176 insertions(+), 177 deletions(-) delete mode 100644 examples/system/gcov/main/gcov_example_func.c create mode 100644 examples/system/tracing/.build-test-rules.yml rename examples/system/{ => tracing}/app_trace_basic/CMakeLists.txt (100%) rename examples/system/{ => tracing}/app_trace_basic/README.md (100%) rename examples/system/{ => tracing}/app_trace_basic/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/app_trace_basic/main/app_trace_basic_example_main.c (100%) rename examples/system/{ => tracing}/app_trace_basic/pytest_app_trace_basic.py (100%) rename examples/system/{ => tracing}/app_trace_basic/sdkconfig.ci.apptrace_jtag (100%) rename examples/system/{ => tracing}/app_trace_basic/sdkconfig.ci.apptrace_uart (100%) rename examples/system/{ => tracing}/app_trace_basic/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/app_trace_to_plot/CMakeLists.txt (100%) rename examples/system/{ => tracing}/app_trace_to_plot/README.md (94%) rename examples/system/{ => tracing}/app_trace_to_plot/data.json (94%) rename examples/system/{ => tracing}/app_trace_to_plot/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/app_trace_to_plot/main/app_trace_to_plot.c (100%) rename examples/system/{ => tracing}/app_trace_to_plot/read_trace.py (100%) rename examples/system/{ => tracing}/app_trace_to_plot/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/app_trace_to_plot/telemetry.png (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/CMakeLists.txt (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/README.md (90%) rename examples/system/{ => tracing}/esp_trace_custom_library/components/ext_trace_lib/CMakeLists.txt (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/components/ext_trace_lib/include/esp_trace_freertos_impl.h (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/components/ext_trace_lib/include/trace_FreeRTOS.h (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/components/ext_trace_lib/src/adapter_encoder_ext_trace_lib.c (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/components/ext_trace_lib/src/trace_FreeRTOS.c (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/main/app_main.c (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/pytest_esp_trace_custom_library.py (100%) rename examples/system/{ => tracing}/esp_trace_custom_library/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/function_tracing/CMakeLists.txt (100%) rename examples/system/{ => tracing}/function_tracing/README.md (100%) rename examples/system/{ => tracing}/function_tracing/SYSVIEW_FreeRTOS.txt (100%) rename examples/system/{ => tracing}/function_tracing/components/ft_demo/CMakeLists.txt (100%) rename examples/system/{ => tracing}/function_tracing/components/ft_demo/ft_demo.c (100%) rename examples/system/{ => tracing}/function_tracing/components/ft_demo/ft_demo_hot.c (100%) rename examples/system/{ => tracing}/function_tracing/components/ft_demo/ft_demo_quiet.c (100%) rename examples/system/{ => tracing}/function_tracing/components/ft_demo/include/ft_demo.h (100%) rename examples/system/{ => tracing}/function_tracing/gdbinit (100%) rename examples/system/{ => tracing}/function_tracing/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/function_tracing/main/function_tracing_example_main.c (100%) rename examples/system/{ => tracing}/function_tracing/main/idf_component.yml (100%) rename examples/system/{ => tracing}/function_tracing/pytest_function_tracing.py (100%) rename examples/system/{ => tracing}/function_tracing/sdkconfig.ci.jtag (100%) rename examples/system/{ => tracing}/function_tracing/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/gcov/CMakeLists.txt (100%) rename examples/system/{ => tracing}/gcov/README.md (100%) rename examples/system/{ => tracing}/gcov/components/sample/CMakeLists.txt (100%) rename examples/system/{ => tracing}/gcov/components/sample/some_funcs.c (50%) rename examples/system/{ => tracing}/gcov/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/gcov/main/Kconfig.projbuild (100%) create mode 100644 examples/system/tracing/gcov/main/gcov_example_func.c rename examples/system/{ => tracing}/gcov/main/gcov_example_main.c (88%) rename examples/system/{ => tracing}/gcov/main/idf_component.yml (100%) rename examples/system/{ => tracing}/gcov/pytest_gcov.py (100%) rename examples/system/{ => tracing}/gcov/sdkconfig.ci.gcov_jtag (100%) rename examples/system/{ => tracing}/gcov/sdkconfig.ci.gcov_uart (100%) rename examples/system/{ => tracing}/gcov/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/sysview_tracing/CMakeLists.txt (100%) rename examples/system/{ => tracing}/sysview_tracing/README.md (100%) rename examples/system/{ => tracing}/sysview_tracing/SYSVIEW_FreeRTOS.txt (100%) rename examples/system/{ => tracing}/sysview_tracing/gdbinit (100%) rename examples/system/{ => tracing}/sysview_tracing/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/sysview_tracing/main/Kconfig.projbuild (100%) rename examples/system/{ => tracing}/sysview_tracing/main/idf_component.yml (100%) rename examples/system/{ => tracing}/sysview_tracing/main/sysview_tracing.c (95%) rename examples/system/{ => tracing}/sysview_tracing/pytest_sysview_tracing.py (100%) rename examples/system/{ => tracing}/sysview_tracing/sdkconfig.ci.sysview_jtag (100%) rename examples/system/{ => tracing}/sysview_tracing/sdkconfig.ci.sysview_uart (100%) rename examples/system/{ => tracing}/sysview_tracing/sdkconfig.ci.sysview_uart_esp32c2_26Mhz (100%) rename examples/system/{ => tracing}/sysview_tracing/sdkconfig.ci.sysview_usj (100%) rename examples/system/{ => tracing}/sysview_tracing/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/CMakeLists.txt (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/README.md (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/SYSVIEW_FreeRTOS.txt (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/gdbinit (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/main/CMakeLists.txt (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/main/idf_component.yml (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/main/sysview_heap_log.c (92%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/pytest_sysview_tracing_heap_log.py (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/sdkconfig.ci.app_trace_jtag (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/sdkconfig.ci.app_trace_uart (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/sdkconfig.defaults (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/sdkconfig.defaults.esp32 (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/sdkconfig.defaults.esp32p4 (100%) rename examples/system/{ => tracing}/sysview_tracing_heap_log/sdkconfig.defaults.esp32s2 (100%) diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS index c2111013f7b..7a2d85a1668 100644 --- a/.gitlab/CODEOWNERS +++ b/.gitlab/CODEOWNERS @@ -178,6 +178,7 @@ /docs/**/api-guides/esp-wifi-mesh.rst @esp-idf-codeowners/wifi /docs/**/api-guides/file-system-considerations.rst @esp-idf-codeowners/storage /docs/en/api-guides/jtag-debugging/ @esp-idf-codeowners/debugging +/docs/**/api-guides/tracing/ @esp-idf-codeowners/debugging /docs/**/api-reference/bluetooth/ @esp-idf-codeowners/bluetooth /docs/**/api-reference/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi /docs/**/api-reference/peripherals/ @esp-idf-codeowners/peripherals @@ -211,6 +212,7 @@ /examples/storage/ @esp-idf-codeowners/storage /examples/system/ @esp-idf-codeowners/system /examples/system/ota/ @esp-idf-codeowners/app-utilities +/examples/system/tracing/ @esp-idf-codeowners/debugging /examples/wifi/ @esp-idf-codeowners/wifi /examples/zigbee/ @esp-idf-codeowners/ieee802154 diff --git a/components/esp_trace/Kconfig b/components/esp_trace/Kconfig index 17ff851a229..468bc35ff3e 100644 --- a/components/esp_trace/Kconfig +++ b/components/esp_trace/Kconfig @@ -107,7 +107,7 @@ menu "ESP Trace Configuration" To trace a component or file, add the GCC function instrumentation flag from that component's CMakeLists.txt. See the Application Level Tracing - guide and examples/system/function_tracing for CMake examples. + guide and examples/system/tracing/function_tracing for CMake examples. Use the GCC -finstrument-functions-exclude-file-list and -finstrument-functions-exclude-function-list flags to skip diff --git a/components/esp_trace/README.md b/components/esp_trace/README.md index 6f9565dee78..1d4a2f37bcb 100644 --- a/components/esp_trace/README.md +++ b/components/esp_trace/README.md @@ -471,7 +471,7 @@ For detailed usage instructions, see: ## Examples Examples demonstrating trace usage can be found in: -- `examples/system/app_trace_basic/` - Basic application tracing -- `examples/system/sysview_tracing/` - SystemView tracing example -- `examples/system/esp_trace_custom_library/` - Minimal template for integrating an external trace library (encoder + FreeRTOS hooks + vtable lock) -- `examples/system/sysview_tracing_heap_log/` - SystemView heap and log tracing example +- `examples/system/tracing/app_trace_basic/` - Basic application tracing +- `examples/system/tracing/sysview_tracing/` - SystemView tracing example +- `examples/system/tracing/esp_trace_custom_library/` - Minimal template for integrating an external trace library (encoder + FreeRTOS hooks + vtable lock) +- `examples/system/tracing/sysview_tracing_heap_log/` - SystemView heap and log tracing example diff --git a/docs/en/api-guides/tracing/custom-trace-library.rst b/docs/en/api-guides/tracing/custom-trace-library.rst index 3053b607439..9d1ca4c142c 100644 --- a/docs/en/api-guides/tracing/custom-trace-library.rst +++ b/docs/en/api-guides/tracing/custom-trace-library.rst @@ -69,4 +69,4 @@ To capture FreeRTOS events, the external component implementing a trace encoder Application Example ------------------- -- :example:`system/esp_trace_custom_library` is a minimal template that wires up an external encoder, demonstrates the FreeRTOS trace-hook include chain, and shows cross-core serialization through the encoder lock. +- :example:`system/tracing/esp_trace_custom_library` is a minimal template that wires up an external encoder, demonstrates the FreeRTOS trace-hook include chain, and shows cross-core serialization through the encoder lock. diff --git a/docs/en/api-guides/tracing/function-tracing.rst b/docs/en/api-guides/tracing/function-tracing.rst index 41df1f63fe7..a63eafab48e 100644 --- a/docs/en/api-guides/tracing/function-tracing.rst +++ b/docs/en/api-guides/tracing/function-tracing.rst @@ -39,4 +39,4 @@ The ``-i func`` option selects the function-trace event stream. The script uses Application Example ------------------- -- :example:`system/function_tracing` demonstrates compiler-instrumented function entry/exit tracing and how to control which code is instrumented. +- :example:`system/tracing/function_tracing` demonstrates compiler-instrumented function entry/exit tracing and how to control which code is instrumented. diff --git a/docs/en/api-guides/tracing/gcov.rst b/docs/en/api-guides/tracing/gcov.rst index fafe15cf9c7..22f35db2028 100644 --- a/docs/en/api-guides/tracing/gcov.rst +++ b/docs/en/api-guides/tracing/gcov.rst @@ -23,4 +23,4 @@ Coverage data can be dumped either at a hard-coded point in your application (ov Application Example ------------------- -- :example:`system/gcov` demonstrates how to add code coverage to a project and collect coverage data over JTAG. +- :example:`system/tracing/gcov` demonstrates how to add code coverage to a project and collect coverage data over JTAG. diff --git a/docs/en/api-guides/tracing/index.rst b/docs/en/api-guides/tracing/index.rst index 3b925f00194..641f8b1efd7 100644 --- a/docs/en/api-guides/tracing/index.rst +++ b/docs/en/api-guides/tracing/index.rst @@ -104,9 +104,9 @@ Related Documentation Examples -------- -- :example:`system/app_trace_basic`: Basic application tracing -- :example:`system/sysview_tracing`: SystemView tracing example -- :example:`system/sysview_tracing_heap_log`: Heap tracing with SystemView -- :example:`system/gcov`: Source code coverage over JTAG -- :example:`system/function_tracing`: Compiler-instrumented function entry/exit tracing -- :example:`system/esp_trace_custom_library`: External trace library integration template +- :example:`system/tracing/app_trace_basic`: Basic application tracing +- :example:`system/tracing/sysview_tracing`: SystemView tracing example +- :example:`system/tracing/sysview_tracing_heap_log`: Heap tracing with SystemView +- :example:`system/tracing/gcov`: Source code coverage over JTAG +- :example:`system/tracing/function_tracing`: Compiler-instrumented function entry/exit tracing +- :example:`system/tracing/esp_trace_custom_library`: External trace library integration template diff --git a/docs/en/api-guides/tracing/sysview.rst b/docs/en/api-guides/tracing/sysview.rst index d579c7a85de..2d43074f0a0 100644 --- a/docs/en/api-guides/tracing/sysview.rst +++ b/docs/en/api-guides/tracing/sysview.rst @@ -136,5 +136,5 @@ Good instructions on how to install, configure, and visualize data in Impulse fr Application Examples -------------------- -- :example:`system/sysview_tracing` demonstrates how to trace FreeRTOS task and system events using SEGGER SystemView. -- :example:`system/sysview_tracing_heap_log` demonstrates heap allocation tracing alongside SystemView events. +- :example:`system/tracing/sysview_tracing` demonstrates how to trace FreeRTOS task and system events using SEGGER SystemView. +- :example:`system/tracing/sysview_tracing_heap_log` demonstrates heap allocation tracing alongside SystemView events. diff --git a/docs/en/api-guides/tracing/transports.rst b/docs/en/api-guides/tracing/transports.rst index c30eac780fc..e7a94ca8449 100644 --- a/docs/en/api-guides/tracing/transports.rst +++ b/docs/en/api-guides/tracing/transports.rst @@ -396,8 +396,8 @@ Optional arguments: Application Examples -------------------- -- :example:`system/app_trace_basic` demonstrates how to use the Application Level Tracing Library to log messages to a host via JTAG, providing a faster alternative to UART logs. -- :example:`system/app_trace_to_plot` demonstrates how to send and plot dummy sensor data to a host via JTAG. +- :example:`system/tracing/app_trace_basic` demonstrates how to use the Application Level Tracing Library to log messages to a host via JTAG, providing a faster alternative to UART logs. +- :example:`system/tracing/app_trace_to_plot` demonstrates how to send and plot dummy sensor data to a host via JTAG. API Reference ------------- diff --git a/docs/en/api-reference/system/app_trace.rst b/docs/en/api-reference/system/app_trace.rst index 06d71508df1..b38e1a85cab 100644 --- a/docs/en/api-reference/system/app_trace.rst +++ b/docs/en/api-reference/system/app_trace.rst @@ -17,9 +17,9 @@ Developers can use this library to send application specific state of execution Application Examples -------------------- -- :example:`system/app_trace_to_plot` demonstrates how to use the Application Level Tracing Library to send and plot dummy sensor data to a host via JTAG, providing a faster alternative to logging via UART. +- :example:`system/tracing/app_trace_to_plot` demonstrates how to use the Application Level Tracing Library to send and plot dummy sensor data to a host via JTAG, providing a faster alternative to logging via UART. -- :example:`system/app_trace_basic` demonstrates how to use the Application Level Tracing Library to log messages to a host via JTAG, providing a faster alternative to UART logs. +- :example:`system/tracing/app_trace_basic` demonstrates how to use the Application Level Tracing Library to log messages to a host via JTAG, providing a faster alternative to UART logs. API Reference ------------- diff --git a/docs/en/api-reference/system/esp_trace.rst b/docs/en/api-reference/system/esp_trace.rst index 4d0eb594459..1e7e3a17be1 100644 --- a/docs/en/api-reference/system/esp_trace.rst +++ b/docs/en/api-reference/system/esp_trace.rst @@ -13,7 +13,7 @@ For a conceptual overview, architecture, and usage guides, see :doc:`/api-guides Application Examples -------------------- -- :example:`system/esp_trace_custom_library` demonstrates how to integrate an external trace library (encoder) with the ``esp_trace`` core. +- :example:`system/tracing/esp_trace_custom_library` demonstrates how to integrate an external trace library (encoder) with the ``esp_trace`` core. API Reference ------------- diff --git a/docs/en/api-reference/system/heap_debug.rst b/docs/en/api-reference/system/heap_debug.rst index ab359aae8d3..31d9c9f985c 100644 --- a/docs/en/api-reference/system/heap_debug.rst +++ b/docs/en/api-reference/system/heap_debug.rst @@ -679,15 +679,15 @@ The output from the heap trace has a similar format to the following example: Stop parsing trace. (Timeout 0.000000 sec while reading 1 bytes!) Process events from '['/tmp/heap.svdat']'... [0.002244575] HEAP: Allocated 1 bytes @ 0x3ffaffd8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.002258425] HEAP: Allocated 2 bytes @ 0x3ffaffe0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.002563725] HEAP: Freed bytes @ 0x3ffaffe0 from task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.002782950] HEAP: Freed bytes @ 0x3ffb40b8 from task "main" on core 0 by: @@ -699,39 +699,39 @@ The output from the heap trace has a similar format to the following example: /home/user/projects/esp/esp-idf/components/freertos/tasks.c:4590 [0.102436025] HEAP: Allocated 2 bytes @ 0x3ffaffe0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.102449800] HEAP: Allocated 4 bytes @ 0x3ffaffe8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.102666150] HEAP: Freed bytes @ 0x3ffaffe8 from task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202436200] HEAP: Allocated 3 bytes @ 0x3ffaffe8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202451725] HEAP: Allocated 6 bytes @ 0x3ffafff0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202667075] HEAP: Freed bytes @ 0x3ffafff0 from task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302436000] HEAP: Allocated 4 bytes @ 0x3ffafff0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302451475] HEAP: Allocated 8 bytes @ 0x3ffb40b8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302667500] HEAP: Freed bytes @ 0x3ffb40b8 from task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) Processing completed. @@ -743,19 +743,19 @@ The output from the heap trace has a similar format to the following example: Processed 14 heap events. [0.002244575] HEAP: Allocated 1 bytes @ 0x3ffaffd8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.102436025] HEAP: Allocated 2 bytes @ 0x3ffaffe0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202436200] HEAP: Allocated 3 bytes @ 0x3ffaffe8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302436000] HEAP: Allocated 4 bytes @ 0x3ffafff0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) Found 10 leaked bytes in 4 blocks. diff --git a/docs/zh_CN/api-guides/tracing/custom-trace-library.rst b/docs/zh_CN/api-guides/tracing/custom-trace-library.rst index 993893578cc..e6391bc9a18 100644 --- a/docs/zh_CN/api-guides/tracing/custom-trace-library.rst +++ b/docs/zh_CN/api-guides/tracing/custom-trace-library.rst @@ -69,4 +69,4 @@ FreeRTOS 跟踪钩子 应用示例 -------- -- :example:`system/esp_trace_custom_library` 是一个最简模板,演示如何接入外部编码器、说明 FreeRTOS 跟踪钩子头文件的包含链,以及通过编码器锁实现多核序列化。 +- :example:`system/tracing/esp_trace_custom_library` 是一个最简模板,演示如何接入外部编码器、说明 FreeRTOS 跟踪钩子头文件的包含链,以及通过编码器锁实现多核序列化。 diff --git a/docs/zh_CN/api-guides/tracing/function-tracing.rst b/docs/zh_CN/api-guides/tracing/function-tracing.rst index 7e744e395ef..4dbc040a719 100644 --- a/docs/zh_CN/api-guides/tracing/function-tracing.rst +++ b/docs/zh_CN/api-guides/tracing/function-tracing.rst @@ -39,4 +39,4 @@ 应用示例 -------- -- :example:`system/function_tracing` 演示编译器插桩的函数进入或退出跟踪,以及如何控制对哪些代码进行插桩。 +- :example:`system/tracing/function_tracing` 演示编译器插桩的函数进入或退出跟踪,以及如何控制对哪些代码进行插桩。 diff --git a/docs/zh_CN/api-guides/tracing/gcov.rst b/docs/zh_CN/api-guides/tracing/gcov.rst index fb432339dfa..c72f7da3510 100644 --- a/docs/zh_CN/api-guides/tracing/gcov.rst +++ b/docs/zh_CN/api-guides/tracing/gcov.rst @@ -23,4 +23,4 @@ Gcov 使用跟踪基础设施进行主机数据传输,但尚未完全遵循 :d 应用示例 -------- -- :example:`system/gcov` 演示如何为项目添加代码覆盖率,并通过 JTAG 收集覆盖率数据。 +- :example:`system/tracing/gcov` 演示如何为项目添加代码覆盖率,并通过 JTAG 收集覆盖率数据。 diff --git a/docs/zh_CN/api-guides/tracing/index.rst b/docs/zh_CN/api-guides/tracing/index.rst index b7d9d14db40..2e5af43dfed 100644 --- a/docs/zh_CN/api-guides/tracing/index.rst +++ b/docs/zh_CN/api-guides/tracing/index.rst @@ -104,9 +104,9 @@ ESP-IDF 提供了一套跟踪系统,用于程序行为分析和调试。以较 示例 ---- -- :example:`system/app_trace_basic`:基础应用程序跟踪 -- :example:`system/sysview_tracing`:SystemView 跟踪示例 -- :example:`system/sysview_tracing_heap_log`:基于 SystemView 的堆跟踪 -- :example:`system/gcov`:通过 JTAG 获取源代码覆盖率 -- :example:`system/function_tracing`:编译器插桩的函数进入/退出跟踪 -- :example:`system/esp_trace_custom_library`:外部跟踪库集成模板 +- :example:`system/tracing/app_trace_basic`:基础应用程序跟踪 +- :example:`system/tracing/sysview_tracing`:SystemView 跟踪示例 +- :example:`system/tracing/sysview_tracing_heap_log`:基于 SystemView 的堆跟踪 +- :example:`system/tracing/gcov`:通过 JTAG 获取源代码覆盖率 +- :example:`system/tracing/function_tracing`:编译器插桩的函数进入/退出跟踪 +- :example:`system/tracing/esp_trace_custom_library`:外部跟踪库集成模板 diff --git a/docs/zh_CN/api-guides/tracing/sysview.rst b/docs/zh_CN/api-guides/tracing/sysview.rst index 73980d86ba0..20ce3177877 100644 --- a/docs/zh_CN/api-guides/tracing/sysview.rst +++ b/docs/zh_CN/api-guides/tracing/sysview.rst @@ -136,5 +136,5 @@ Start 子命令语法: 应用示例 -------- -- :example:`system/sysview_tracing` 演示如何使用 SEGGER SystemView 记录 FreeRTOS 任务与系统事件。 -- :example:`system/sysview_tracing_heap_log` 演示如何在记录 SystemView 事件的同时,对堆内存分配进行跟踪。 +- :example:`system/tracing/sysview_tracing` 演示如何使用 SEGGER SystemView 记录 FreeRTOS 任务与系统事件。 +- :example:`system/tracing/sysview_tracing_heap_log` 演示如何在记录 SystemView 事件的同时,对堆内存分配进行跟踪。 diff --git a/docs/zh_CN/api-guides/tracing/transports.rst b/docs/zh_CN/api-guides/tracing/transports.rst index b8818e72706..0243e500987 100644 --- a/docs/zh_CN/api-guides/tracing/transports.rst +++ b/docs/zh_CN/api-guides/tracing/transports.rst @@ -396,8 +396,8 @@ Log Trace Processor 命令选项 应用示例 -------- -- :example:`system/app_trace_basic` 演示如何使用应用层跟踪库通过 JTAG 将日志消息记录到主机,作为 UART 日志的更快替代方案。 -- :example:`system/app_trace_to_plot` 演示如何通过 JTAG 向主机发送并绘制虚拟传感器数据。 +- :example:`system/tracing/app_trace_basic` 演示如何使用应用层跟踪库通过 JTAG 将日志消息记录到主机,作为 UART 日志的更快替代方案。 +- :example:`system/tracing/app_trace_to_plot` 演示如何通过 JTAG 向主机发送并绘制虚拟传感器数据。 API 参考 -------- diff --git a/docs/zh_CN/api-reference/system/app_trace.rst b/docs/zh_CN/api-reference/system/app_trace.rst index f6da0b6bec1..d09c6f657e1 100644 --- a/docs/zh_CN/api-reference/system/app_trace.rst +++ b/docs/zh_CN/api-reference/system/app_trace.rst @@ -17,9 +17,9 @@ ESP-IDF 支持用于程序行为分析的 **应用级追踪** 功能。在 menuc 应用示例 --------------- -- :example:`system/app_trace_to_plot` 演示了如何使用应用层跟踪库通过 JTAG 发送并绘制虚拟传感器数据到主机上,提供了比通过 UART 记录更快的替代方案。 +- :example:`system/tracing/app_trace_to_plot` 演示了如何使用应用层跟踪库通过 JTAG 发送并绘制虚拟传感器数据到主机上,提供了比通过 UART 记录更快的替代方案。 -- :example:`system/app_trace_basic` 演示了如何使用应用层跟踪库通过 JTAG 向主机记录消息,提供了比 UART 记录更快的替代方案。 +- :example:`system/tracing/app_trace_basic` 演示了如何使用应用层跟踪库通过 JTAG 向主机记录消息,提供了比 UART 记录更快的替代方案。 API 参考 ------------- diff --git a/docs/zh_CN/api-reference/system/esp_trace.rst b/docs/zh_CN/api-reference/system/esp_trace.rst index dd34bc1ed05..c29d6bcb29b 100644 --- a/docs/zh_CN/api-reference/system/esp_trace.rst +++ b/docs/zh_CN/api-reference/system/esp_trace.rst @@ -13,7 +13,7 @@ ESP Trace 应用示例 -------- -- :example:`system/esp_trace_custom_library` 演示如何将外部跟踪库(编码器)与 ``esp_trace`` 核心集成。 +- :example:`system/tracing/esp_trace_custom_library` 演示如何将外部跟踪库(编码器)与 ``esp_trace`` 核心集成。 API 参考 -------- diff --git a/docs/zh_CN/api-reference/system/heap_debug.rst b/docs/zh_CN/api-reference/system/heap_debug.rst index 2fbef5cf556..e6811e9ff1d 100644 --- a/docs/zh_CN/api-reference/system/heap_debug.rst +++ b/docs/zh_CN/api-reference/system/heap_debug.rst @@ -679,15 +679,15 @@ KASAN 使用自己的堆内存钩子和红区方案。请勿同时启用堆内 Stop parsing trace. (Timeout 0.000000 sec while reading 1 byte!) Process events from '['/tmp/heap.svdat']'... [0.002244575] HEAP: Allocated 1 byte @ 0x3ffaffd8 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.002258425] HEAP: Allocated 2 bytes @ 0x3ffaffe0 from task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.002563725] HEAP: Freed bytes @ 0x3ffaffe0 from the task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.002782950] HEAP: Freed bytes @ 0x3ffb40b8 from the task "main" on core 0 by: @@ -699,39 +699,39 @@ KASAN 使用自己的堆内存钩子和红区方案。请勿同时启用堆内 /home/user/projects/esp/esp-idf/components/freertos/tasks.c:4590 [0.102436025] HEAP: Allocated 2 bytes @ 0x3ffaffe0 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.102449800] HEAP: Allocated 4 bytes @ 0x3ffaffe8 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.102666150] HEAP: Freed bytes @ 0x3ffaffe8 from the task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202436200] HEAP: Allocated 3 bytes @ 0x3ffaffe8 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202451725] HEAP: Allocated 6 bytes @ 0x3ffafff0 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202667075] HEAP: Freed bytes @ 0x3ffafff0 from the task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302436000] HEAP: Allocated 4 bytes @ 0x3ffafff0 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302451475] HEAP: Allocated 8 bytes @ 0x3ffb40b8 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:48 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:48 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302667500] HEAP: Freed bytes @ 0x3ffb40b8 from the task "free" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:31 (discriminator 9) /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) Processing completed. @@ -743,19 +743,19 @@ KASAN 使用自己的堆内存钩子和红区方案。请勿同时启用堆内 Processed 14 heap events. [0.002244575] HEAP: Allocated 1 bytes @ 0x3ffaffd8 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.102436025] HEAP: Allocated 2 bytes @ 0x3ffaffe0 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.202436200] HEAP: Allocated 3 bytes @ 0x3ffaffe8 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) [0.302436000] HEAP: Allocated 4 bytes @ 0x3ffafff0 from the task "alloc" on core 0 by: - /home/user/projects/esp/esp-idf/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c:47 + /home/user/projects/esp/esp-idf/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c:47 /home/user/projects/esp/esp-idf/components/freertos/port.c:355 (discriminator 1) Found 10 leaked bytes in 4 blocks. diff --git a/examples/system/.build-test-rules.yml b/examples/system/.build-test-rules.yml index 9dff4ad72cd..9c1a842962b 100644 --- a/examples/system/.build-test-rules.yml +++ b/examples/system/.build-test-rules.yml @@ -1,14 +1,5 @@ # Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps -examples/system/app_trace_basic: - disable_test: - - if: IDF_TARGET == "esp32h21" - temporary: true - reason: lack of runners - depends_components: - - esp_trace - - app_trace - examples/system/base_mac_address: depends_components: - *common_components @@ -63,18 +54,6 @@ examples/system/esp_timer: depends_components: - esp_timer -examples/system/esp_trace_custom_library: - disable: - - if: SOC_USB_SERIAL_JTAG_SUPPORTED != 1 - reason: example transport is USB Serial JTAG - disable_test: - - if: IDF_TARGET == "esp32h21" - temporary: true - reason: lack of runners - depends_components: - - esp_trace - - freertos - examples/system/eventfd: disable: - if: SOC_GPTIMER_SUPPORTED != 1 and (IDF_TARGET != "esp32" and (NIGHTLY_RUN != "1" or IDF_TARGET == "linux")) @@ -89,24 +68,6 @@ examples/system/flash_suspend: temporary: true reason: the other targets are not tested yet -examples/system/function_tracing: - disable_test: - - if: IDF_TARGET == "esp32h21" - temporary: true - reason: lack of runners - depends_components: - - esp_trace - - app_trace - -examples/system/gcov: - disable_test: - - if: IDF_TARGET == "esp32h21" - temporary: true - reason: lack of runners - depends_components: - - esp_trace - - app_trace - examples/system/heap_task_tracking: disable: - if: IDF_TARGET != "esp32c3" and (NIGHTLY_RUN != "1" or IDF_TARGET == "linux") @@ -278,28 +239,6 @@ examples/system/select: - *common_components - vfs -examples/system/sysview_tracing: - disable: - - if: SOC_GPTIMER_SUPPORTED != 1 - disable_test: - - if: IDF_TARGET == "esp32h21" - temporary: true - reason: lack of runners - depends_components: - - esp_trace - - app_trace - -examples/system/sysview_tracing_heap_log: - disable: - - if: SOC_GPTIMER_SUPPORTED != 1 - disable_test: - - if: IDF_TARGET == "esp32h21" - temporary: true - reason: lack of runners - depends_components: - - esp_trace - - app_trace - examples/system/task_watchdog: disable: - if: IDF_TARGET != "esp32" and (NIGHTLY_RUN != "1" or IDF_TARGET == "linux") diff --git a/examples/system/gcov/main/gcov_example_func.c b/examples/system/gcov/main/gcov_example_func.c deleted file mode 100644 index 6749df90889..00000000000 --- a/examples/system/gcov/main/gcov_example_func.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - - -void blink_dummy_func(void) -{ - static int i; - printf("blink_dummy_func: Counter = %d\n", i++); -} diff --git a/examples/system/tracing/.build-test-rules.yml b/examples/system/tracing/.build-test-rules.yml new file mode 100644 index 00000000000..25d1a2a021d --- /dev/null +++ b/examples/system/tracing/.build-test-rules.yml @@ -0,0 +1,62 @@ +# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps + +examples/system/tracing/app_trace_basic: + disable_test: + - if: IDF_TARGET == "esp32h21" + temporary: true + reason: lack of runners + depends_components: + - esp_trace + - app_trace + +examples/system/tracing/esp_trace_custom_library: + disable: + - if: SOC_USB_SERIAL_JTAG_SUPPORTED != 1 + reason: example transport is USB Serial JTAG + disable_test: + - if: IDF_TARGET == "esp32h21" + temporary: true + reason: lack of runners + depends_components: + - esp_trace + - freertos + +examples/system/tracing/function_tracing: + disable_test: + - if: IDF_TARGET == "esp32h21" + temporary: true + reason: lack of runners + depends_components: + - esp_trace + - app_trace + +examples/system/tracing/gcov: + disable_test: + - if: IDF_TARGET == "esp32h21" + temporary: true + reason: lack of runners + depends_components: + - esp_trace + - app_trace + +examples/system/tracing/sysview_tracing: + disable: + - if: SOC_GPTIMER_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET == "esp32h21" + temporary: true + reason: lack of runners + depends_components: + - esp_trace + - app_trace + +examples/system/tracing/sysview_tracing_heap_log: + disable: + - if: SOC_GPTIMER_SUPPORTED != 1 + disable_test: + - if: IDF_TARGET == "esp32h21" + temporary: true + reason: lack of runners + depends_components: + - esp_trace + - app_trace diff --git a/examples/system/app_trace_basic/CMakeLists.txt b/examples/system/tracing/app_trace_basic/CMakeLists.txt similarity index 100% rename from examples/system/app_trace_basic/CMakeLists.txt rename to examples/system/tracing/app_trace_basic/CMakeLists.txt diff --git a/examples/system/app_trace_basic/README.md b/examples/system/tracing/app_trace_basic/README.md similarity index 100% rename from examples/system/app_trace_basic/README.md rename to examples/system/tracing/app_trace_basic/README.md diff --git a/examples/system/app_trace_basic/main/CMakeLists.txt b/examples/system/tracing/app_trace_basic/main/CMakeLists.txt similarity index 100% rename from examples/system/app_trace_basic/main/CMakeLists.txt rename to examples/system/tracing/app_trace_basic/main/CMakeLists.txt diff --git a/examples/system/app_trace_basic/main/app_trace_basic_example_main.c b/examples/system/tracing/app_trace_basic/main/app_trace_basic_example_main.c similarity index 100% rename from examples/system/app_trace_basic/main/app_trace_basic_example_main.c rename to examples/system/tracing/app_trace_basic/main/app_trace_basic_example_main.c diff --git a/examples/system/app_trace_basic/pytest_app_trace_basic.py b/examples/system/tracing/app_trace_basic/pytest_app_trace_basic.py similarity index 100% rename from examples/system/app_trace_basic/pytest_app_trace_basic.py rename to examples/system/tracing/app_trace_basic/pytest_app_trace_basic.py diff --git a/examples/system/app_trace_basic/sdkconfig.ci.apptrace_jtag b/examples/system/tracing/app_trace_basic/sdkconfig.ci.apptrace_jtag similarity index 100% rename from examples/system/app_trace_basic/sdkconfig.ci.apptrace_jtag rename to examples/system/tracing/app_trace_basic/sdkconfig.ci.apptrace_jtag diff --git a/examples/system/app_trace_basic/sdkconfig.ci.apptrace_uart b/examples/system/tracing/app_trace_basic/sdkconfig.ci.apptrace_uart similarity index 100% rename from examples/system/app_trace_basic/sdkconfig.ci.apptrace_uart rename to examples/system/tracing/app_trace_basic/sdkconfig.ci.apptrace_uart diff --git a/examples/system/app_trace_basic/sdkconfig.defaults b/examples/system/tracing/app_trace_basic/sdkconfig.defaults similarity index 100% rename from examples/system/app_trace_basic/sdkconfig.defaults rename to examples/system/tracing/app_trace_basic/sdkconfig.defaults diff --git a/examples/system/app_trace_to_plot/CMakeLists.txt b/examples/system/tracing/app_trace_to_plot/CMakeLists.txt similarity index 100% rename from examples/system/app_trace_to_plot/CMakeLists.txt rename to examples/system/tracing/app_trace_to_plot/CMakeLists.txt diff --git a/examples/system/app_trace_to_plot/README.md b/examples/system/tracing/app_trace_to_plot/README.md similarity index 94% rename from examples/system/app_trace_to_plot/README.md rename to examples/system/tracing/app_trace_to_plot/README.md index 46d2bee75ce..7a6698c19a9 100644 --- a/examples/system/app_trace_to_plot/README.md +++ b/examples/system/tracing/app_trace_to_plot/README.md @@ -23,7 +23,7 @@ This example will assume that an ESP-WROVER-KIT is used. 1. Connect the JTAG interface to the target board. For details about how to set up JTAG interface, please see [JTAG Debugging](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/jtag-debugging/index.html). Power up both the JTAG debugger and target board. -2. To start the tcp socket server, you need to run `read_trace.py` tool under the `esp-idf/examples/system/app_trace_to_plot` path. +2. To start the tcp socket server, you need to run `read_trace.py` tool under the `esp-idf/examples/system/tracing/app_trace_to_plot` path. 3. After connecting JTAG interface and starting the tcp socket server, you need to [Run OpenOCD](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/jtag-debugging/index.html#run-openocd). @@ -46,7 +46,7 @@ idf.py -p PORT flash monitor (Replace PORT with the name of the serial port to use.) -**Run Plotting Tool** To plot data and open TCP socket, there is a tool named `read_trace.py` under the `examples/system/app_trace_to_plot` path. Run this tool in the terminal session with configured IDF development environment by entering the command below. This command opens a TCP socket and plots the given data when OpenOCD triggered to start App Trace. If you are running tool at first time, you need to install dash with `pip install dash` in the same terminal session after running configuring IDF development environment. +**Run Plotting Tool** To plot data and open TCP socket, there is a tool named `read_trace.py` under the `examples/system/tracing/app_trace_to_plot` path. Run this tool in the terminal session with configured IDF development environment by entering the command below. This command opens a TCP socket and plots the given data when OpenOCD triggered to start App Trace. If you are running tool at first time, you need to install dash with `pip install dash` in the same terminal session after running configuring IDF development environment. ```bash python read_trace.py --plot-config data.json --source tcp://localhost:53535 --output-file data.log diff --git a/examples/system/app_trace_to_plot/data.json b/examples/system/tracing/app_trace_to_plot/data.json similarity index 94% rename from examples/system/app_trace_to_plot/data.json rename to examples/system/tracing/app_trace_to_plot/data.json index 299d8d378b9..dc932f84fca 100644 --- a/examples/system/app_trace_to_plot/data.json +++ b/examples/system/tracing/app_trace_to_plot/data.json @@ -1,7 +1,7 @@ { "//data.json": "Apptrace plotting config file for 'read_trace.py'", "//Summary and usage": "This file is used for apptrace plotting. You can use this json file with '--plot-config' parameter of the 'read_trace.py' file is to configure graphs for visualizing sensor data", - "//More information": "To get more information about apptrace plotting and configuration file, please check 'app_trace_to_plot' example in '../examples/system' and 'read_trace.py' file", + "//More information": "To get more information about apptrace plotting and configuration file, please check 'app_trace_to_plot' example in '../examples/system/tracing' and 'read_trace.py' file", "Temperature sensors": { "data_streams" : { "Outside temperature": { @@ -27,7 +27,7 @@ } }, "xaxis_title": "Timestamp", - "yaxis_title": "Temperature in Celcius" + "yaxis_title": "Temperature in Celsius" }, "Altitude sensors": { "data_streams" : { diff --git a/examples/system/app_trace_to_plot/main/CMakeLists.txt b/examples/system/tracing/app_trace_to_plot/main/CMakeLists.txt similarity index 100% rename from examples/system/app_trace_to_plot/main/CMakeLists.txt rename to examples/system/tracing/app_trace_to_plot/main/CMakeLists.txt diff --git a/examples/system/app_trace_to_plot/main/app_trace_to_plot.c b/examples/system/tracing/app_trace_to_plot/main/app_trace_to_plot.c similarity index 100% rename from examples/system/app_trace_to_plot/main/app_trace_to_plot.c rename to examples/system/tracing/app_trace_to_plot/main/app_trace_to_plot.c diff --git a/examples/system/app_trace_to_plot/read_trace.py b/examples/system/tracing/app_trace_to_plot/read_trace.py similarity index 100% rename from examples/system/app_trace_to_plot/read_trace.py rename to examples/system/tracing/app_trace_to_plot/read_trace.py diff --git a/examples/system/app_trace_to_plot/sdkconfig.defaults b/examples/system/tracing/app_trace_to_plot/sdkconfig.defaults similarity index 100% rename from examples/system/app_trace_to_plot/sdkconfig.defaults rename to examples/system/tracing/app_trace_to_plot/sdkconfig.defaults diff --git a/examples/system/app_trace_to_plot/telemetry.png b/examples/system/tracing/app_trace_to_plot/telemetry.png similarity index 100% rename from examples/system/app_trace_to_plot/telemetry.png rename to examples/system/tracing/app_trace_to_plot/telemetry.png diff --git a/examples/system/esp_trace_custom_library/CMakeLists.txt b/examples/system/tracing/esp_trace_custom_library/CMakeLists.txt similarity index 100% rename from examples/system/esp_trace_custom_library/CMakeLists.txt rename to examples/system/tracing/esp_trace_custom_library/CMakeLists.txt diff --git a/examples/system/esp_trace_custom_library/README.md b/examples/system/tracing/esp_trace_custom_library/README.md similarity index 90% rename from examples/system/esp_trace_custom_library/README.md rename to examples/system/tracing/esp_trace_custom_library/README.md index abb90abdfcc..a818d1bec66 100644 --- a/examples/system/esp_trace_custom_library/README.md +++ b/examples/system/tracing/esp_trace_custom_library/README.md @@ -3,7 +3,7 @@ # ESP Trace External Library Integration Example -This example shows the **minimal** set of files and configuration needed to plug a third-party trace library into the [`esp_trace`](../../../components/esp_trace) component using the public `CONFIG_ESP_TRACE_LIB_EXTERNAL` extension point. It is meant as a copy-paste starting point for vendors and users who want to integrate their own trace recorder (e.g. Percepio TraceRecorder, a custom CTF emitter, a printf-style logger, …) without patching ESP-IDF itself. +This example shows the **minimal** set of files and configuration needed to plug a third-party trace library into the [`esp_trace`](../../../../components/esp_trace) component using the public `CONFIG_ESP_TRACE_LIB_EXTERNAL` extension point. It is meant as a copy-paste starting point for vendors and users who want to integrate their own trace recorder (e.g. Percepio TraceRecorder, a custom CTF emitter, a printf-style logger, …) without patching ESP-IDF itself. The example covers: @@ -94,7 +94,7 @@ esp_trace_custom_library/ ### 2. Providing the FreeRTOS trace hooks -`esp_trace`'s public header [`esp_trace_freertos.h`](../../../components/esp_trace/include/esp_trace_freertos.h) is included from `FreeRTOSConfig.h`. When `CONFIG_ESP_TRACE_LIB_EXTERNAL=y` is set, it pulls in **your** `esp_trace_freertos_impl.h`: +`esp_trace`'s public header [`esp_trace_freertos.h`](../../../../components/esp_trace/include/esp_trace_freertos.h) is included from `FreeRTOSConfig.h`. When `CONFIG_ESP_TRACE_LIB_EXTERNAL=y` is set, it pulls in **your** `esp_trace_freertos_impl.h`: ```c #if CONFIG_ESP_TRACE_LIB_EXTERNAL @@ -177,7 +177,7 @@ Because the transport is USB-Serial-JTAG and the console is on UART (`CONFIG_ESP ## Runtime Control — `esp_trace_start` / `_stop` / `_flush` -[`esp_trace.h`](../../../components/esp_trace/include/esp_trace.h) exposes three generic lifecycle calls that dispatch to the active encoder's vtable. The application uses only the public API — it never reaches into the external library: +[`esp_trace.h`](../../../../components/esp_trace/include/esp_trace.h) exposes three generic lifecycle calls that dispatch to the active encoder's vtable. The application uses only the public API — it never reaches into the external library: ```c esp_trace_start(); // resume emission (also resets the delta baseline) @@ -194,7 +194,7 @@ In this example the library boots with `s_enabled = false`, so nothing is emitte ## Other `esp_trace` Helpers -Beyond what this example uses, [`esp_trace.h`](../../../components/esp_trace/include/esp_trace.h) and [`esp_trace_util.h`](../../../components/esp_trace/include/esp_trace_util.h) also expose: +Beyond what this example uses, [`esp_trace.h`](../../../../components/esp_trace/include/esp_trace.h) and [`esp_trace_util.h`](../../../../components/esp_trace/include/esp_trace_util.h) also expose: * `esp_trace_is_host_connected()` — gate expensive work when no host is listening. * `esp_trace_get_link_type()` — returns `ESP_TRACE_LINK_DEBUG_PROBE`, `_UART`, or `_USB_SERIAL_JTAG`. @@ -203,5 +203,5 @@ Beyond what this example uses, [`esp_trace.h`](../../../components/esp_trace/inc ## See Also -* [`components/esp_trace/README.md`](../../../components/esp_trace/README.md) — full architecture overview and adapter API reference. +* [`components/esp_trace/README.md`](../../../../components/esp_trace/README.md) — full architecture overview and adapter API reference. * [`examples/system/sysview_tracing`](../sysview_tracing) — a production-grade integration of SEGGER SystemView built on the same extension points. diff --git a/examples/system/esp_trace_custom_library/components/ext_trace_lib/CMakeLists.txt b/examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/CMakeLists.txt similarity index 100% rename from examples/system/esp_trace_custom_library/components/ext_trace_lib/CMakeLists.txt rename to examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/CMakeLists.txt diff --git a/examples/system/esp_trace_custom_library/components/ext_trace_lib/include/esp_trace_freertos_impl.h b/examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/include/esp_trace_freertos_impl.h similarity index 100% rename from examples/system/esp_trace_custom_library/components/ext_trace_lib/include/esp_trace_freertos_impl.h rename to examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/include/esp_trace_freertos_impl.h diff --git a/examples/system/esp_trace_custom_library/components/ext_trace_lib/include/trace_FreeRTOS.h b/examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/include/trace_FreeRTOS.h similarity index 100% rename from examples/system/esp_trace_custom_library/components/ext_trace_lib/include/trace_FreeRTOS.h rename to examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/include/trace_FreeRTOS.h diff --git a/examples/system/esp_trace_custom_library/components/ext_trace_lib/src/adapter_encoder_ext_trace_lib.c b/examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/src/adapter_encoder_ext_trace_lib.c similarity index 100% rename from examples/system/esp_trace_custom_library/components/ext_trace_lib/src/adapter_encoder_ext_trace_lib.c rename to examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/src/adapter_encoder_ext_trace_lib.c diff --git a/examples/system/esp_trace_custom_library/components/ext_trace_lib/src/trace_FreeRTOS.c b/examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/src/trace_FreeRTOS.c similarity index 100% rename from examples/system/esp_trace_custom_library/components/ext_trace_lib/src/trace_FreeRTOS.c rename to examples/system/tracing/esp_trace_custom_library/components/ext_trace_lib/src/trace_FreeRTOS.c diff --git a/examples/system/esp_trace_custom_library/main/CMakeLists.txt b/examples/system/tracing/esp_trace_custom_library/main/CMakeLists.txt similarity index 100% rename from examples/system/esp_trace_custom_library/main/CMakeLists.txt rename to examples/system/tracing/esp_trace_custom_library/main/CMakeLists.txt diff --git a/examples/system/esp_trace_custom_library/main/app_main.c b/examples/system/tracing/esp_trace_custom_library/main/app_main.c similarity index 100% rename from examples/system/esp_trace_custom_library/main/app_main.c rename to examples/system/tracing/esp_trace_custom_library/main/app_main.c diff --git a/examples/system/esp_trace_custom_library/pytest_esp_trace_custom_library.py b/examples/system/tracing/esp_trace_custom_library/pytest_esp_trace_custom_library.py similarity index 100% rename from examples/system/esp_trace_custom_library/pytest_esp_trace_custom_library.py rename to examples/system/tracing/esp_trace_custom_library/pytest_esp_trace_custom_library.py diff --git a/examples/system/esp_trace_custom_library/sdkconfig.defaults b/examples/system/tracing/esp_trace_custom_library/sdkconfig.defaults similarity index 100% rename from examples/system/esp_trace_custom_library/sdkconfig.defaults rename to examples/system/tracing/esp_trace_custom_library/sdkconfig.defaults diff --git a/examples/system/function_tracing/CMakeLists.txt b/examples/system/tracing/function_tracing/CMakeLists.txt similarity index 100% rename from examples/system/function_tracing/CMakeLists.txt rename to examples/system/tracing/function_tracing/CMakeLists.txt diff --git a/examples/system/function_tracing/README.md b/examples/system/tracing/function_tracing/README.md similarity index 100% rename from examples/system/function_tracing/README.md rename to examples/system/tracing/function_tracing/README.md diff --git a/examples/system/function_tracing/SYSVIEW_FreeRTOS.txt b/examples/system/tracing/function_tracing/SYSVIEW_FreeRTOS.txt similarity index 100% rename from examples/system/function_tracing/SYSVIEW_FreeRTOS.txt rename to examples/system/tracing/function_tracing/SYSVIEW_FreeRTOS.txt diff --git a/examples/system/function_tracing/components/ft_demo/CMakeLists.txt b/examples/system/tracing/function_tracing/components/ft_demo/CMakeLists.txt similarity index 100% rename from examples/system/function_tracing/components/ft_demo/CMakeLists.txt rename to examples/system/tracing/function_tracing/components/ft_demo/CMakeLists.txt diff --git a/examples/system/function_tracing/components/ft_demo/ft_demo.c b/examples/system/tracing/function_tracing/components/ft_demo/ft_demo.c similarity index 100% rename from examples/system/function_tracing/components/ft_demo/ft_demo.c rename to examples/system/tracing/function_tracing/components/ft_demo/ft_demo.c diff --git a/examples/system/function_tracing/components/ft_demo/ft_demo_hot.c b/examples/system/tracing/function_tracing/components/ft_demo/ft_demo_hot.c similarity index 100% rename from examples/system/function_tracing/components/ft_demo/ft_demo_hot.c rename to examples/system/tracing/function_tracing/components/ft_demo/ft_demo_hot.c diff --git a/examples/system/function_tracing/components/ft_demo/ft_demo_quiet.c b/examples/system/tracing/function_tracing/components/ft_demo/ft_demo_quiet.c similarity index 100% rename from examples/system/function_tracing/components/ft_demo/ft_demo_quiet.c rename to examples/system/tracing/function_tracing/components/ft_demo/ft_demo_quiet.c diff --git a/examples/system/function_tracing/components/ft_demo/include/ft_demo.h b/examples/system/tracing/function_tracing/components/ft_demo/include/ft_demo.h similarity index 100% rename from examples/system/function_tracing/components/ft_demo/include/ft_demo.h rename to examples/system/tracing/function_tracing/components/ft_demo/include/ft_demo.h diff --git a/examples/system/function_tracing/gdbinit b/examples/system/tracing/function_tracing/gdbinit similarity index 100% rename from examples/system/function_tracing/gdbinit rename to examples/system/tracing/function_tracing/gdbinit diff --git a/examples/system/function_tracing/main/CMakeLists.txt b/examples/system/tracing/function_tracing/main/CMakeLists.txt similarity index 100% rename from examples/system/function_tracing/main/CMakeLists.txt rename to examples/system/tracing/function_tracing/main/CMakeLists.txt diff --git a/examples/system/function_tracing/main/function_tracing_example_main.c b/examples/system/tracing/function_tracing/main/function_tracing_example_main.c similarity index 100% rename from examples/system/function_tracing/main/function_tracing_example_main.c rename to examples/system/tracing/function_tracing/main/function_tracing_example_main.c diff --git a/examples/system/function_tracing/main/idf_component.yml b/examples/system/tracing/function_tracing/main/idf_component.yml similarity index 100% rename from examples/system/function_tracing/main/idf_component.yml rename to examples/system/tracing/function_tracing/main/idf_component.yml diff --git a/examples/system/function_tracing/pytest_function_tracing.py b/examples/system/tracing/function_tracing/pytest_function_tracing.py similarity index 100% rename from examples/system/function_tracing/pytest_function_tracing.py rename to examples/system/tracing/function_tracing/pytest_function_tracing.py diff --git a/examples/system/function_tracing/sdkconfig.ci.jtag b/examples/system/tracing/function_tracing/sdkconfig.ci.jtag similarity index 100% rename from examples/system/function_tracing/sdkconfig.ci.jtag rename to examples/system/tracing/function_tracing/sdkconfig.ci.jtag diff --git a/examples/system/function_tracing/sdkconfig.defaults b/examples/system/tracing/function_tracing/sdkconfig.defaults similarity index 100% rename from examples/system/function_tracing/sdkconfig.defaults rename to examples/system/tracing/function_tracing/sdkconfig.defaults diff --git a/examples/system/gcov/CMakeLists.txt b/examples/system/tracing/gcov/CMakeLists.txt similarity index 100% rename from examples/system/gcov/CMakeLists.txt rename to examples/system/tracing/gcov/CMakeLists.txt diff --git a/examples/system/gcov/README.md b/examples/system/tracing/gcov/README.md similarity index 100% rename from examples/system/gcov/README.md rename to examples/system/tracing/gcov/README.md diff --git a/examples/system/gcov/components/sample/CMakeLists.txt b/examples/system/tracing/gcov/components/sample/CMakeLists.txt similarity index 100% rename from examples/system/gcov/components/sample/CMakeLists.txt rename to examples/system/tracing/gcov/components/sample/CMakeLists.txt diff --git a/examples/system/gcov/components/sample/some_funcs.c b/examples/system/tracing/gcov/components/sample/some_funcs.c similarity index 50% rename from examples/system/gcov/components/sample/some_funcs.c rename to examples/system/tracing/gcov/components/sample/some_funcs.c index eccd94926d6..4473bef001d 100644 --- a/examples/system/gcov/components/sample/some_funcs.c +++ b/examples/system/tracing/gcov/components/sample/some_funcs.c @@ -1,3 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ #include diff --git a/examples/system/gcov/main/CMakeLists.txt b/examples/system/tracing/gcov/main/CMakeLists.txt similarity index 100% rename from examples/system/gcov/main/CMakeLists.txt rename to examples/system/tracing/gcov/main/CMakeLists.txt diff --git a/examples/system/gcov/main/Kconfig.projbuild b/examples/system/tracing/gcov/main/Kconfig.projbuild similarity index 100% rename from examples/system/gcov/main/Kconfig.projbuild rename to examples/system/tracing/gcov/main/Kconfig.projbuild diff --git a/examples/system/tracing/gcov/main/gcov_example_func.c b/examples/system/tracing/gcov/main/gcov_example_func.c new file mode 100644 index 00000000000..f8585fc6060 --- /dev/null +++ b/examples/system/tracing/gcov/main/gcov_example_func.c @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ +#include + + +void blink_dummy_func(void) +{ + static int i; + printf("blink_dummy_func: Counter = %d\n", i++); +} diff --git a/examples/system/gcov/main/gcov_example_main.c b/examples/system/tracing/gcov/main/gcov_example_main.c similarity index 88% rename from examples/system/gcov/main/gcov_example_main.c rename to examples/system/tracing/gcov/main/gcov_example_main.c index 2eddb7392d9..825982b413b 100644 --- a/examples/system/gcov/main/gcov_example_main.c +++ b/examples/system/tracing/gcov/main/gcov_example_main.c @@ -1,11 +1,8 @@ -/* Blink Example with covergae info - - This example code is in the Public Domain (or CC0 licensed, at your option.) - - Unless required by applicable law or agreed to in writing, this - software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. -*/ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ #include #include "freertos/FreeRTOS.h" #include "freertos/task.h" diff --git a/examples/system/gcov/main/idf_component.yml b/examples/system/tracing/gcov/main/idf_component.yml similarity index 100% rename from examples/system/gcov/main/idf_component.yml rename to examples/system/tracing/gcov/main/idf_component.yml diff --git a/examples/system/gcov/pytest_gcov.py b/examples/system/tracing/gcov/pytest_gcov.py similarity index 100% rename from examples/system/gcov/pytest_gcov.py rename to examples/system/tracing/gcov/pytest_gcov.py diff --git a/examples/system/gcov/sdkconfig.ci.gcov_jtag b/examples/system/tracing/gcov/sdkconfig.ci.gcov_jtag similarity index 100% rename from examples/system/gcov/sdkconfig.ci.gcov_jtag rename to examples/system/tracing/gcov/sdkconfig.ci.gcov_jtag diff --git a/examples/system/gcov/sdkconfig.ci.gcov_uart b/examples/system/tracing/gcov/sdkconfig.ci.gcov_uart similarity index 100% rename from examples/system/gcov/sdkconfig.ci.gcov_uart rename to examples/system/tracing/gcov/sdkconfig.ci.gcov_uart diff --git a/examples/system/gcov/sdkconfig.defaults b/examples/system/tracing/gcov/sdkconfig.defaults similarity index 100% rename from examples/system/gcov/sdkconfig.defaults rename to examples/system/tracing/gcov/sdkconfig.defaults diff --git a/examples/system/sysview_tracing/CMakeLists.txt b/examples/system/tracing/sysview_tracing/CMakeLists.txt similarity index 100% rename from examples/system/sysview_tracing/CMakeLists.txt rename to examples/system/tracing/sysview_tracing/CMakeLists.txt diff --git a/examples/system/sysview_tracing/README.md b/examples/system/tracing/sysview_tracing/README.md similarity index 100% rename from examples/system/sysview_tracing/README.md rename to examples/system/tracing/sysview_tracing/README.md diff --git a/examples/system/sysview_tracing/SYSVIEW_FreeRTOS.txt b/examples/system/tracing/sysview_tracing/SYSVIEW_FreeRTOS.txt similarity index 100% rename from examples/system/sysview_tracing/SYSVIEW_FreeRTOS.txt rename to examples/system/tracing/sysview_tracing/SYSVIEW_FreeRTOS.txt diff --git a/examples/system/sysview_tracing/gdbinit b/examples/system/tracing/sysview_tracing/gdbinit similarity index 100% rename from examples/system/sysview_tracing/gdbinit rename to examples/system/tracing/sysview_tracing/gdbinit diff --git a/examples/system/sysview_tracing/main/CMakeLists.txt b/examples/system/tracing/sysview_tracing/main/CMakeLists.txt similarity index 100% rename from examples/system/sysview_tracing/main/CMakeLists.txt rename to examples/system/tracing/sysview_tracing/main/CMakeLists.txt diff --git a/examples/system/sysview_tracing/main/Kconfig.projbuild b/examples/system/tracing/sysview_tracing/main/Kconfig.projbuild similarity index 100% rename from examples/system/sysview_tracing/main/Kconfig.projbuild rename to examples/system/tracing/sysview_tracing/main/Kconfig.projbuild diff --git a/examples/system/sysview_tracing/main/idf_component.yml b/examples/system/tracing/sysview_tracing/main/idf_component.yml similarity index 100% rename from examples/system/sysview_tracing/main/idf_component.yml rename to examples/system/tracing/sysview_tracing/main/idf_component.yml diff --git a/examples/system/sysview_tracing/main/sysview_tracing.c b/examples/system/tracing/sysview_tracing/main/sysview_tracing.c similarity index 95% rename from examples/system/sysview_tracing/main/sysview_tracing.c rename to examples/system/tracing/sysview_tracing/main/sysview_tracing.c index 18a2413b2ca..9985d524906 100644 --- a/examples/system/sysview_tracing/main/sysview_tracing.c +++ b/examples/system/tracing/sysview_tracing/main/sysview_tracing.c @@ -1,11 +1,8 @@ -/* Application Trace to Host Example - - This example code is in the Public Domain (or CC0 licensed, at your option.) - - Unless required by applicable law or agreed to in writing, this - software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. -*/ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ #include "esp_err.h" #include "sdkconfig.h" diff --git a/examples/system/sysview_tracing/pytest_sysview_tracing.py b/examples/system/tracing/sysview_tracing/pytest_sysview_tracing.py similarity index 100% rename from examples/system/sysview_tracing/pytest_sysview_tracing.py rename to examples/system/tracing/sysview_tracing/pytest_sysview_tracing.py diff --git a/examples/system/sysview_tracing/sdkconfig.ci.sysview_jtag b/examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_jtag similarity index 100% rename from examples/system/sysview_tracing/sdkconfig.ci.sysview_jtag rename to examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_jtag diff --git a/examples/system/sysview_tracing/sdkconfig.ci.sysview_uart b/examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_uart similarity index 100% rename from examples/system/sysview_tracing/sdkconfig.ci.sysview_uart rename to examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_uart diff --git a/examples/system/sysview_tracing/sdkconfig.ci.sysview_uart_esp32c2_26Mhz b/examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_uart_esp32c2_26Mhz similarity index 100% rename from examples/system/sysview_tracing/sdkconfig.ci.sysview_uart_esp32c2_26Mhz rename to examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_uart_esp32c2_26Mhz diff --git a/examples/system/sysview_tracing/sdkconfig.ci.sysview_usj b/examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_usj similarity index 100% rename from examples/system/sysview_tracing/sdkconfig.ci.sysview_usj rename to examples/system/tracing/sysview_tracing/sdkconfig.ci.sysview_usj diff --git a/examples/system/sysview_tracing/sdkconfig.defaults b/examples/system/tracing/sysview_tracing/sdkconfig.defaults similarity index 100% rename from examples/system/sysview_tracing/sdkconfig.defaults rename to examples/system/tracing/sysview_tracing/sdkconfig.defaults diff --git a/examples/system/sysview_tracing_heap_log/CMakeLists.txt b/examples/system/tracing/sysview_tracing_heap_log/CMakeLists.txt similarity index 100% rename from examples/system/sysview_tracing_heap_log/CMakeLists.txt rename to examples/system/tracing/sysview_tracing_heap_log/CMakeLists.txt diff --git a/examples/system/sysview_tracing_heap_log/README.md b/examples/system/tracing/sysview_tracing_heap_log/README.md similarity index 100% rename from examples/system/sysview_tracing_heap_log/README.md rename to examples/system/tracing/sysview_tracing_heap_log/README.md diff --git a/examples/system/sysview_tracing_heap_log/SYSVIEW_FreeRTOS.txt b/examples/system/tracing/sysview_tracing_heap_log/SYSVIEW_FreeRTOS.txt similarity index 100% rename from examples/system/sysview_tracing_heap_log/SYSVIEW_FreeRTOS.txt rename to examples/system/tracing/sysview_tracing_heap_log/SYSVIEW_FreeRTOS.txt diff --git a/examples/system/sysview_tracing_heap_log/gdbinit b/examples/system/tracing/sysview_tracing_heap_log/gdbinit similarity index 100% rename from examples/system/sysview_tracing_heap_log/gdbinit rename to examples/system/tracing/sysview_tracing_heap_log/gdbinit diff --git a/examples/system/sysview_tracing_heap_log/main/CMakeLists.txt b/examples/system/tracing/sysview_tracing_heap_log/main/CMakeLists.txt similarity index 100% rename from examples/system/sysview_tracing_heap_log/main/CMakeLists.txt rename to examples/system/tracing/sysview_tracing_heap_log/main/CMakeLists.txt diff --git a/examples/system/sysview_tracing_heap_log/main/idf_component.yml b/examples/system/tracing/sysview_tracing_heap_log/main/idf_component.yml similarity index 100% rename from examples/system/sysview_tracing_heap_log/main/idf_component.yml rename to examples/system/tracing/sysview_tracing_heap_log/main/idf_component.yml diff --git a/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c b/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c similarity index 92% rename from examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c rename to examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c index 9fedde99b98..3d54bc7e76e 100644 --- a/examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c +++ b/examples/system/tracing/sysview_tracing_heap_log/main/sysview_heap_log.c @@ -1,11 +1,8 @@ -/* Application Trace to Host Example - - This example code is in the Public Domain (or CC0 licensed, at your option.) - - Unless required by applicable law or agreed to in writing, this - software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR - CONDITIONS OF ANY KIND, either express or implied. -*/ +/* + * SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ #include "sdkconfig.h" #include diff --git a/examples/system/sysview_tracing_heap_log/pytest_sysview_tracing_heap_log.py b/examples/system/tracing/sysview_tracing_heap_log/pytest_sysview_tracing_heap_log.py similarity index 100% rename from examples/system/sysview_tracing_heap_log/pytest_sysview_tracing_heap_log.py rename to examples/system/tracing/sysview_tracing_heap_log/pytest_sysview_tracing_heap_log.py diff --git a/examples/system/sysview_tracing_heap_log/sdkconfig.ci.app_trace_jtag b/examples/system/tracing/sysview_tracing_heap_log/sdkconfig.ci.app_trace_jtag similarity index 100% rename from examples/system/sysview_tracing_heap_log/sdkconfig.ci.app_trace_jtag rename to examples/system/tracing/sysview_tracing_heap_log/sdkconfig.ci.app_trace_jtag diff --git a/examples/system/sysview_tracing_heap_log/sdkconfig.ci.app_trace_uart b/examples/system/tracing/sysview_tracing_heap_log/sdkconfig.ci.app_trace_uart similarity index 100% rename from examples/system/sysview_tracing_heap_log/sdkconfig.ci.app_trace_uart rename to examples/system/tracing/sysview_tracing_heap_log/sdkconfig.ci.app_trace_uart diff --git a/examples/system/sysview_tracing_heap_log/sdkconfig.defaults b/examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults similarity index 100% rename from examples/system/sysview_tracing_heap_log/sdkconfig.defaults rename to examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults diff --git a/examples/system/sysview_tracing_heap_log/sdkconfig.defaults.esp32 b/examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults.esp32 similarity index 100% rename from examples/system/sysview_tracing_heap_log/sdkconfig.defaults.esp32 rename to examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults.esp32 diff --git a/examples/system/sysview_tracing_heap_log/sdkconfig.defaults.esp32p4 b/examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults.esp32p4 similarity index 100% rename from examples/system/sysview_tracing_heap_log/sdkconfig.defaults.esp32p4 rename to examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults.esp32p4 diff --git a/examples/system/sysview_tracing_heap_log/sdkconfig.defaults.esp32s2 b/examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults.esp32s2 similarity index 100% rename from examples/system/sysview_tracing_heap_log/sdkconfig.defaults.esp32s2 rename to examples/system/tracing/sysview_tracing_heap_log/sdkconfig.defaults.esp32s2 diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index 4343968a736..18255a658a5 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -840,9 +840,6 @@ examples/system/esp_event/user_event_loops/main/main.c examples/system/esp_timer/main/esp_timer_example_main.c examples/system/eventfd/main/eventfd_example.c examples/system/freertos/real_time_stats/main/real_time_stats_example_main.c -examples/system/gcov/components/sample/some_funcs.c -examples/system/gcov/main/gcov_example_func.c -examples/system/gcov/main/gcov_example_main.c examples/system/gdbstub/main/gdbstub_main.c examples/system/himem/main/himem_example_main.c examples/system/ota/advanced_https_ota/main/advanced_https_ota_example.c @@ -853,8 +850,6 @@ examples/system/ota/simple_ota_example/main/simple_ota_example.c examples/system/perfmon/main/perfmon_example_main.c examples/system/select/main/select_example.c examples/system/startup_time/main/hello_world_main.c -examples/system/sysview_tracing/main/sysview_tracing.c -examples/system/sysview_tracing_heap_log/main/sysview_heap_log.c examples/system/task_watchdog/main/task_watchdog_example_main.c examples/system/unit_test/components/testable/include/testable.h examples/system/unit_test/components/testable/mean.c diff --git a/tools/ci/executable-list.txt b/tools/ci/executable-list.txt index 923ee7fd520..0ebf0d55f63 100644 --- a/tools/ci/executable-list.txt +++ b/tools/ci/executable-list.txt @@ -42,10 +42,10 @@ examples/build_system/cmake/idf_as_lib/run.sh examples/common_components/protocol_examples_tapif_io/make_tap_netif examples/storage/parttool/parttool_example.py examples/storage/parttool/parttool_example.sh -examples/system/app_trace_to_plot/read_trace.py examples/system/ota/otatool/get_running_partition.py examples/system/ota/otatool/otatool_example.py examples/system/ota/otatool/otatool_example.sh +examples/system/tracing/app_trace_to_plot/read_trace.py install.fish install.sh tools/activate.py