zephyr/samples/subsys/tracing
Johann Fischer 1174308df8 tracing: port USB backend to the new USB device stack
Port USB backend to the new USB device stack.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-06-17 16:03:44 +02:00
..
boards
src tracing: port USB backend to the new USB device stack 2025-06-17 16:03:44 +02:00
CMakeLists.txt tracing: port USB backend to the new USB device stack 2025-06-17 16:03:44 +02:00
gpio.overlay samples: tracing: update sample app for gpio tracing 2024-12-04 14:12:58 -05:00
Kconfig tracing: port USB backend to the new USB device stack 2025-06-17 16:03:44 +02:00
prj_gpio.conf samples: tracing: update sample app for gpio tracing 2024-12-04 14:12:58 -05:00
prj_native_ctf.conf
prj_percepio.conf
prj_uart_ctf.conf
prj_uart.conf
prj_usb_ctf.conf tracing: port USB backend to the new USB device stack 2025-06-17 16:03:44 +02:00
prj_user.conf
prj.conf
README.rst tracing: port USB backend to the new USB device stack 2025-06-17 16:03:44 +02:00
sample.yaml tracing: port USB backend to the new USB device stack 2025-06-17 16:03:44 +02:00

.. zephyr:code-sample:: tracing
   :name: Tracing

   Send tracing formatted packet to the host with supported backends.

This application can be used to demonstrate the tracing feature. The tracing
formatted packet will be sent to the host with the currently supported tracing
backend under tracing generic infrastructure.

Requirements
************

Depends of the boards which you are using, choose one of .conf files for use tracing subsys.

Usage for UART Tracing Backend
******************************

Build a UART-tracing image with:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: mps2/an521
	:conf: "prj_uart.conf"
	:goals: build
	:compact:

or:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: mps2/an521
	:conf: "prj_uart_ctf.conf"
	:goals: build
	:compact:

.. note::
   You may need to set "zephyr,tracing-uart" property under the chosen node in your devicetree.
   See :zephyr_file:`samples/subsys/tracing/boards/mps2_an521_cpu0.overlay` for an example.

After the application has run for a while, check the trace output file.

Usage for USB Tracing Backend
*****************************

Build a USB-tracing image with:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: reel_board
	:conf: "prj_usb_ctf.conf"
	:goals: build
	:compact:

After the serial console has stable output like this:

.. code-block:: console

	threadA: Hello World!
	threadB: Hello World!
	threadA: Hello World!
	threadB: Hello World!

Connect the board's USB port to the host device and
run the :zephyr_file:`scripts/tracing/trace_capture_usb.py` script on the host:

.. code-block:: console

	sudo python3 trace_capture_usb.py -v 0x2FE3 -p 0x0001 -o channel0_0

The VID and PID of USB device can be configured, just adjusting it accordingly.

Usage for POSIX Tracing Backend
*******************************

Build a POSIX-tracing image with:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: native_sim
	:goals: build
	:compact:

or:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: native_sim
	:conf: "prj_native_ctf.conf"
	:goals: build
	:compact:

After the application has run for a while, check the trace output file.

Usage for USER Tracing Backend
*******************************

Build a USER-tracing image with:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: qemu_x86
	:conf: "prj_user.conf"
	:goals: build
	:compact:

After the application has run for a while, check the trace output file.

Usage for SEGGER SystemView RTT
*******************************

Build a SystemView-tracing image with the :ref:`snippet-rtt-tracing`:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: frdm_k64f
	:snippets: rtt-tracing
	:goals: build
	:compact:

After the application has run for a while, check the trace output file.

Usage for GPIO Tracing Backend
*******************************

Build a GPIO-tracing image with:

.. zephyr-app-commands::
	:zephyr-app: samples/subsys/tracing
	:board: native_sim
	:conf: "prj_gpio.conf"
	:goals: build
	:compact:

After the application has run for a while, check the trace output file.