Nordic Semiconductor nRF54H20

From SEGGER Knowledge Base
Jump to navigation Jump to search

The Nordic Semiconductor nRF54H20 are ultra low-power multiprotocol wireless System-on-Chip (SoC) supporting Bluetooth Low Energy, Bluetooth mesh, Thread, and Matter technologies.

Flash Banks

Flash Bank Base address J-Link Support Loader
Name Size
MRAM 0x0E003000 YES.png Default 1988 KB
UICR APP core 0x0FFF8000 YES.png Default 1976 B
UICR RADIO core 0x0FFFA000 YES.png Default 72 B


Note:
Flash programming is supported through SECURE core while in life cycle state EMPTY.

Watchdog Handling

  • The device has two watchdogs WDT010, WDT011.
  • The watchdogs are fed during flash programming.

Multi-Core Support

Before proceeding with this article, please check out the generic article regarding Multi-Core debugging here.
Depending on the life cycle state (LCS) different cores are available.

Core LCS J-Link Support
SECURE EMPTY YES.png
APP RoT YES.png
RADIO RoT after unlock through APP core YES.png

In below, the debug related multi-core behavior of the J-Link is described for each core:

SECURE core

Init/Setup

  • Enables debugging
  • Initializes MPC so that MRAM is in readable state

Reset

  • No reset is performed.

APP core

Init/Setup

  • The core is only available after transitioning to LCS state EMPTY.

Reset

  • Performs a reset via CTRL-AP

RADIO core

Init/Setup

  • The core is only available after transitioning to LCS state EMPTY.
  • The core needs to be enabled by APP core application.

STM tracing

The NRF54H20 includes a STM. It can be used for system tracing.

Minimum requirements

  • J-Trace Pro V3 or later
  • Trace pinout on board
  • Target application that initializes Arm Coresight and configures STM to send data (recommended STM trace ID is 0x40)
  • J-Link software V7.94i or later
  • nRF54H20-DK eval board
  • Python V3.10 installed

Example setup

  • Download the following example setup and unzip it: File:nRF54 STM ExampleSetup.zip
  • Make sure your target application is already flashed which fulfills the requirements above.
  • Open STM_Trace_TestClient.py and leave the launched window open
  • Open a terminal from the unzipped folder
  • Call the JLink.exe file with the following command line: -device Cortex-M33 -JLinkScriptFile .\nRF54_Connect.JLinkScript -if SWD -speed 4000 -CommandFile .\nRF54_Command.jlink
    • On Linux or macOS systems replace the JLink.exe with the host specific executable for the J-Link Commander
  • The raw STM data from the target device will now be stored in the STMData.bin file
  • To stop the recording simply type q in the J-Link Commander and press enter

Capture with Nordic nrfutil

It is also possible to capture the stream with Nordics nrfutil tool.

Installation guides can be found here:

The required command line call is: nrfutil trace stm --input-jtrace-serial-number <J-Trace serial number> --stdout ascii

Simply replace <J-Trace serial number> with your actual J-Trace Pro serial number.

If everything was set up correctly you should see the received STM printf data displayed in the terminal.