nRF54H20: STM-based tracing

nRF Util

tags
nRF Util

nRF54H20 domains include ARM Coresight System Trace Macrocell (STM) hardware, which collects trace data from multiple domains using standalone or assisted multicore logging. The Embedded Trace Router (ETR) is a hardware feature that provides a circular buffer in RAM for trace data.

To show the logs for a given nRF54H20 domain in the UART output, you must enable the STM for both the application core (as the ETR buffer processing proxy) and that domain's CPU. To do so, use the Nordic Standalone STM logging snippet (nordic-log-stm-dict) when building the application for the related cores. For example, the following command uses the snippet when building for the application core:

west build -b nrf54h20dk/nrf54h20/cpuapp -S nordic-log-stm-dict

All cores must use the same logging configuration.

Note

The nordic-log-stm-dict snippet in Zephyr does not support the ASCII output format.

After building your application, the build directories for each core (build/<app_name>/zephyr/, where <app_name> is the application name for each core) will contain a dictionary database file named log_database.json. This file is crucial for decoding the logs and updates with every build.