mirror of
https://github.com/espressif/esp-idf.git
synced 2026-08-18 06:35:35 +03:00
Merge branch 'move_sysview_to_component_registry' into 'master'
Move sysview to component registry Closes IDF-13403 and DOC-12867 See merge request espressif/esp-idf!43011
This commit is contained in:
@@ -22,7 +22,6 @@ PROJECT_NAME = "IDF Programming Guide"
|
||||
|
||||
INPUT = \
|
||||
$(PROJECT_PATH)/components/app_trace/include/esp_app_trace.h \
|
||||
$(PROJECT_PATH)/components/app_trace/include/esp_sysview_trace.h \
|
||||
$(PROJECT_PATH)/components/app_update/include/esp_ota_ops.h \
|
||||
$(PROJECT_PATH)/components/bootloader_support/include/bootloader_random.h \
|
||||
$(PROJECT_PATH)/components/bootloader_support/include/esp_app_format.h \
|
||||
|
||||
@@ -400,7 +400,20 @@ Another useful ESP-IDF feature built on top of application tracing library is th
|
||||
How To Use It
|
||||
"""""""""""""
|
||||
|
||||
Support for this feature is enabled by ``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``SEGGER SystemView`` menuconfig option. There are several other options enabled under the same menu:
|
||||
SystemView support is provided by the managed component ``espressif/esp_sysview``. The SystemView menu becomes visible only after:
|
||||
|
||||
1. Adding the component dependency in ``idf_component.yml``:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
espressif/esp_sysview: ^1
|
||||
|
||||
2. Selecting the external library in menuconfig: ``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``External library from component registry``.
|
||||
|
||||
After that, you can configure SystemView in ``Component config`` > ``SEGGER SystemView Configuration``. For full, up-to-date instructions, see the component README: `esp_sysview <https://components.espressif.com/components/espressif/esp_sysview>`_.
|
||||
|
||||
There are several other options enabled under the same menu:
|
||||
|
||||
1. {IDF_TARGET_NAME} timer to use as SystemView timestamp source: (:ref:`CONFIG_ESP_TRACE_TIMESTAMP_SOURCE`) selects the source of timestamps for SystemView events. In the single core mode, timestamps are generated using {IDF_TARGET_NAME} internal cycle counter running at maximum frequency. (:ref:`CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ`) In the dual-core mode, external timer is used to generate timestamps. It's frequency is 1/2 of the CPU frequency.
|
||||
|
||||
@@ -513,7 +526,7 @@ After trace data are collected, users can use a special tool to visualize the re
|
||||
|
||||
This command will create a single trace file that can be loaded directly into SystemView 3.60+ for multi-core visualization.
|
||||
|
||||
**Note:** SystemView versions before 3.60 do not support multi-core tracing. For older versions, when tracing from {IDF_TARGET_NAME} with JTAG interfaces in the dual-core mode, two separate files are generated: one for PRO CPU and another for APP CPU. Users can load each file into separate instances of the tool. For tracing over UART, users can select ``Component config`` > ``ESP Trace Configuration`` > ``SEGGER SystemView`` in menuconfig to choose which CPU (Pro or App) has to be traced.
|
||||
**Note:** SystemView versions before 3.60 do not support multi-core tracing. For older versions, when tracing from {IDF_TARGET_NAME} with JTAG interfaces in the dual-core mode, two separate files are generated: one for PRO CPU and another for APP CPU. Users can load each file into separate instances of the tool. For tracing over UART, after selecting the external library in menuconfig, users can select ``Component config`` > ``SEGGER SystemView Configuration`` to choose which CPU (Pro or App) has to be traced.
|
||||
|
||||
For older SystemView versions, analyzing data for every core in separate instances can be awkward. An alternative is to use the Eclipse plugin called *Impulse*, which can load several trace files, making it possible to inspect events from both cores in one view. This plugin also has no limitation of 1,000,000 events as compared to the free version of SystemView.
|
||||
|
||||
|
||||
@@ -25,4 +25,3 @@ API Reference
|
||||
-------------
|
||||
|
||||
.. include-build-file:: inc/esp_app_trace.inc
|
||||
.. include-build-file:: inc/esp_sysview_trace.inc
|
||||
|
||||
@@ -134,10 +134,26 @@ New configuration:
|
||||
CONFIG_APPTRACE_DEST_UART=y
|
||||
CONFIG_APPTRACE_DEST_UART_NUM=0 # or 1, 2 depending on target
|
||||
|
||||
SystemView Configuration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
SEGGER SystemView
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
The SystemView configuration has been moved to a new location in the menuconfig: ``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``SEGGER SystemView``.
|
||||
The SystemView component has been moved to a separate repository. `esp_sysview <https://components.espressif.com/components/espressif/esp_sysview>`_ is now a managed component.
|
||||
|
||||
Configuration
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
The SystemView configuration has been moved to a new location in the menuconfig. It becomes visible only when the project adds the ``esp_sysview`` component dependency in ``idf_component.yml`` and the external library is selected in menuconfig.
|
||||
|
||||
Add the dependency in your component manifest:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
espressif/esp_sysview: ^1
|
||||
|
||||
Then, in menuconfig, select: ``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``External library from component registry``.
|
||||
|
||||
After that, the SystemView configuration can be shown by selecting ``Component config`` > ``SEGGER SystemView Configuration``.
|
||||
|
||||
The SystemView no longer has its own separate destination configuration. It shares the configuration with the application tracing transport (JTAG or UART).
|
||||
|
||||
|
||||
@@ -400,7 +400,20 @@ ESP-IDF 中另一个基于应用层跟踪库的实用功能是系统级跟踪,
|
||||
如何使用
|
||||
""""""""
|
||||
|
||||
若需使用这个功能,需要在 menuconfig 中通过 ``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``SEGGER SystemView`` 选项启用此功能。同一菜单栏下还有其它几个选项:
|
||||
SystemView 功能由托管组件 ``espressif/esp_sysview`` 提供。完成以下步骤后才会显示 SystemView 配置菜单:
|
||||
|
||||
1. 在 ``idf_component.yml`` 中添加组件依赖:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
espressif/esp_sysview: ^1
|
||||
|
||||
2. 在 menuconfig 中选择外部库:``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``External library from component registry``。
|
||||
|
||||
之后,可通过 ``Component config`` > ``SEGGER SystemView Configuration`` 配置 SystemView。完整的最新使用指南,请参阅 `esp_sysview README <https://components.espressif.com/components/espressif/esp_sysview>`_。
|
||||
|
||||
此配置菜单还包含以下选项:
|
||||
|
||||
1. {IDF_TARGET_NAME} 用作 SystemView 时间戳源的定时器选择:(:ref:`CONFIG_ESP_TRACE_TIMESTAMP_SOURCE`)用于选择 SystemView 事件的时间戳源。在单核模式下,时间戳由以最大频率运行的 {IDF_TARGET_NAME} 内部周期计数器生成。(:ref:`CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ`)在双核模式下,使用外部定时器生成时间戳,其频率为 CPU 频率的 1/2。
|
||||
|
||||
@@ -513,7 +526,7 @@ Start 子命令语法:
|
||||
|
||||
此命令将创建一个单独的跟踪文件,可以直接加载到 SystemView 3.60+ 中进行多核可视化。
|
||||
|
||||
**注意:** SystemView 3.60 之前的版本不支持多核跟踪。对于旧版本,当使用 JTAG 接口跟踪双核模式下的 {IDF_TARGET_NAME} 时会生成两个文件:一个用于 PRO CPU,另一个用于 APP CPU。用户可将每个文件载入不同的工具实例。使用 UART 进行跟踪时,用户可以在 menuconfig 中选择 ``Component config`` > ``ESP Trace Configuration`` > ``SEGGER SystemView`` 来指定需要跟踪的 CPU(Pro 或 App)。
|
||||
**注意:** SystemView 3.60 之前的版本不支持多核跟踪。对于旧版本,当使用 JTAG 接口跟踪双核模式下的 {IDF_TARGET_NAME} 时会生成两个文件:一个用于 PRO CPU,另一个用于 APP CPU。用户可将每个文件载入不同的工具实例。使用 UART 进行跟踪时,在 menuconfig 中选择外部库后,用户可以选择 ``Component config`` > ``SEGGER SystemView Configuration`` 来指定需要跟踪的 CPU(Pro 或 App)。
|
||||
|
||||
对于旧版本的 SystemView,在不同的实例中分别分析每个核的数据可能较为不便。另一个选择是使用名为 *Impulse* 的 Eclipse 插件,该插件可同时加载多个跟踪文件,实现在同一视图中检查来自两个核心的事件。与 SystemView 免费版相比,此插件还不受 100 万事件数量的限制。
|
||||
|
||||
|
||||
@@ -25,4 +25,3 @@ API 参考
|
||||
-------------
|
||||
|
||||
.. include-build-file:: inc/esp_app_trace.inc
|
||||
.. include-build-file:: inc/esp_sysview_trace.inc
|
||||
|
||||
@@ -134,10 +134,26 @@ UART 目标配置已简化:
|
||||
CONFIG_APPTRACE_DEST_UART=y
|
||||
CONFIG_APPTRACE_DEST_UART_NUM=0 # 或 1、2,具体取决于目标芯片
|
||||
|
||||
SystemView 配置
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
SEGGER SystemView
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
SystemView 配置已移至 menuconfig 中的新位置:``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``SEGGER SystemView``。
|
||||
SystemView 组件已迁移至独立仓库。`esp_sysview <https://components.espressif.com/components/espressif/esp_sysview>`_ 现为托管组件。
|
||||
|
||||
配置
|
||||
^^^^
|
||||
|
||||
SystemView 配置在 menuconfig 中的位置已变更。仅当项目在 ``idf_component.yml`` 中添加 ``esp_sysview`` 组件依赖,并在 menuconfig 中选择外部库时,相关配置选项才会显示。
|
||||
|
||||
在组件清单中添加依赖:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
dependencies:
|
||||
espressif/esp_sysview: ^1
|
||||
|
||||
随后在 menuconfig 中依次选择:``Component config`` > ``ESP Trace Configuration`` > ``Trace library`` > ``External library from component registry``。
|
||||
|
||||
之后,可通过 ``Component config`` > ``SEGGER SystemView Configuration`` 查看 SystemView 配置选项。
|
||||
|
||||
SystemView 不再拥有独立的传输目标配置。它与应用程序跟踪传输方式(JTAG 或 UART)共享配置。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user