mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
refactor(examples): group trace examples under examples/system/tracing/
Move 6 trace-related examples (app_trace_basic, app_trace_to_plot, esp_trace, 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 and component READMEs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KZAGzon27T12sGbDPPbZ8G
This commit is contained in:
@@ -420,7 +420,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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -101,8 +101,8 @@ 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/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/esp_trace_custom_library`: External trace library integration template
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
-------------
|
||||
|
||||
@@ -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
|
||||
-------------
|
||||
|
||||
@@ -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
|
||||
-------------
|
||||
|
||||
@@ -653,15 +653,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:
|
||||
@@ -673,39 +673,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.
|
||||
@@ -717,19 +717,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.
|
||||
|
||||
@@ -69,4 +69,4 @@ FreeRTOS 跟踪钩子
|
||||
应用示例
|
||||
--------
|
||||
|
||||
- :example:`system/esp_trace_custom_library` 是一个最简模板,演示如何接入外部编码器、说明 FreeRTOS 跟踪钩子头文件的包含链,以及通过编码器锁实现多核序列化。
|
||||
- :example:`system/tracing/esp_trace_custom_library` 是一个最简模板,演示如何接入外部编码器、说明 FreeRTOS 跟踪钩子头文件的包含链,以及通过编码器锁实现多核序列化。
|
||||
|
||||
@@ -23,4 +23,4 @@ Gcov 使用跟踪基础设施进行主机数据传输,但尚未完全遵循 :d
|
||||
应用示例
|
||||
--------
|
||||
|
||||
- :example:`system/gcov` 演示如何为项目添加代码覆盖率,并通过 JTAG 收集覆盖率数据。
|
||||
- :example:`system/tracing/gcov` 演示如何为项目添加代码覆盖率,并通过 JTAG 收集覆盖率数据。
|
||||
|
||||
@@ -101,8 +101,8 @@ 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/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/esp_trace_custom_library`:外部跟踪库集成模板
|
||||
|
||||
@@ -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 事件的同时,对堆内存分配进行跟踪。
|
||||
|
||||
@@ -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 参考
|
||||
--------
|
||||
|
||||
@@ -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 参考
|
||||
-------------
|
||||
|
||||
@@ -13,7 +13,7 @@ ESP Trace
|
||||
应用示例
|
||||
--------
|
||||
|
||||
- :example:`system/esp_trace_custom_library` 演示如何将外部跟踪库(编码器)与 ``esp_trace`` 核心集成。
|
||||
- :example:`system/tracing/esp_trace_custom_library` 演示如何将外部跟踪库(编码器)与 ``esp_trace`` 核心集成。
|
||||
|
||||
API 参考
|
||||
--------
|
||||
|
||||
@@ -653,15 +653,15 @@ ESP-IDF 集成了用于请求 :ref:`堆内存信息 <heap-information>`、:ref:`
|
||||
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:
|
||||
@@ -673,39 +673,39 @@ ESP-IDF 集成了用于请求 :ref:`堆内存信息 <heap-information>`、:ref:`
|
||||
/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.
|
||||
@@ -717,19 +717,19 @@ ESP-IDF 集成了用于请求 :ref:`堆内存信息 <heap-information>`、:ref:`
|
||||
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.
|
||||
|
||||
@@ -1,17 +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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
depends_components:
|
||||
- esp_trace
|
||||
- app_trace
|
||||
|
||||
examples/system/base_mac_address:
|
||||
depends_components:
|
||||
- *common_components
|
||||
@@ -60,21 +48,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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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,18 +62,6 @@ examples/system/flash_suspend:
|
||||
temporary: true
|
||||
reason: the other targets are not tested yet
|
||||
|
||||
examples/system/gcov:
|
||||
disable_test:
|
||||
- if: IDF_TARGET == "esp32h21"
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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")
|
||||
@@ -272,34 +233,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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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")
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
void blink_dummy_func(void)
|
||||
{
|
||||
static int i;
|
||||
printf("blink_dummy_func: Counter = %d\n", i++);
|
||||
}
|
||||
68
examples/system/tracing/.build-test-rules.yml
Normal file
68
examples/system/tracing/.build-test-rules.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
# 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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
depends_components:
|
||||
- esp_trace
|
||||
- freertos
|
||||
|
||||
examples/system/tracing/gcov:
|
||||
disable_test:
|
||||
- if: IDF_TARGET == "esp32h21"
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
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
|
||||
- if: IDF_TARGET == "esp32h4"
|
||||
temporary: true
|
||||
reason: lack of runners
|
||||
depends_components:
|
||||
- esp_trace
|
||||
- app_trace
|
||||
@@ -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
|
||||
@@ -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" : {
|
||||
|
Before Width: | Height: | Size: 787 KiB After Width: | Height: | Size: 787 KiB |
@@ -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.
|
||||
@@ -1,3 +1,8 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
*/
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
13
examples/system/tracing/gcov/main/gcov_example_func.c
Normal file
13
examples/system/tracing/gcov/main/gcov_example_func.c
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2026 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Unlicense OR CC0-1.0
|
||||
*/
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
void blink_dummy_func(void)
|
||||
{
|
||||
static int i;
|
||||
printf("blink_dummy_func: Counter = %d\n", i++);
|
||||
}
|
||||
@@ -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 <stdio.h>
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
@@ -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"
|
||||
@@ -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 <inttypes.h>
|
||||
@@ -843,9 +843,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
|
||||
@@ -856,8 +853,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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Build example `sysview_tracing_heap_log` project.
|
||||
|
||||
```
|
||||
cd $IDF_PATH/examples/system/sysview_tracing_heap_log
|
||||
cd $IDF_PATH/examples/system/tracing/sysview_tracing_heap_log
|
||||
idf.py set target esp32
|
||||
idf.py build
|
||||
cp build/sysview_tracing_heap_log.elf $IDF_PATH/tools/esp_app_trace/test/sysview/
|
||||
@@ -18,12 +18,12 @@
|
||||
Flash the example and run OpenOCD and GDB using the following command in a separate console
|
||||
|
||||
```
|
||||
cd $IDF_PATH/examples/system/sysview_tracing_heap_log
|
||||
cd $IDF_PATH/examples/system/tracing/sysview_tracing_heap_log
|
||||
idf.py openocd
|
||||
```
|
||||
|
||||
```
|
||||
cd $IDF_PATH/examples/system/sysview_tracing_heap_log
|
||||
cd $IDF_PATH/examples/system/tracing/sysview_tracing_heap_log
|
||||
xtensa-esp32-elf-gdb -x $IDF_PATH/tools/esp_app_trace/test/sysview/gdbinit build/sysview_tracing_heap_log.elf
|
||||
```
|
||||
When program stops at `heap_trace_stop` quit GDB and OpenOCD
|
||||
@@ -39,12 +39,12 @@
|
||||
Flash the example and run OpenOCD and GDB using the following command in a separate console
|
||||
|
||||
```
|
||||
cd $IDF_PATH/examples/system/sysview_tracing_heap_log
|
||||
cd $IDF_PATH/examples/system/tracing/sysview_tracing_heap_log
|
||||
idf.py openocd
|
||||
```
|
||||
|
||||
```
|
||||
cd $IDF_PATH/examples/system/sysview_tracing_heap_log
|
||||
cd $IDF_PATH/examples/system/tracing/sysview_tracing_heap_log
|
||||
xtensa-esp32-elf-gdb -x $IDF_PATH/tools/esp_app_trace/test/sysview/gdbinit-mcore build/sysview_tracing_heap_log.elf
|
||||
```
|
||||
When program stops at `heap_trace_stop` quit GDB and OpenOCD
|
||||
|
||||
Reference in New Issue
Block a user