J-Link ARMv8-M

From SEGGER Wiki
Revision as of 11:03, 8 May 2024 by Erik (talk | contribs) (Secure debug access)
Jump to: navigation, search

This article describes the debugging specifics for devices based on the ARMv8-M architecture.

TrustZone

Secure debug access

In secure mode, access to all system resources (memory, peripherals, ...) is possible. The secure part of the application can be debugged in this mode, only. In debug mode, switching from non-secure debug domain to secure debug domain is possible if DHCSR.S_SDE is set, only.

Non-secure debug access

In non-secure mode, access to certain system resources (memory, peripherals, ...) is limited to protect resources which are classified as secure. The following list gives an overview of restrictions which need to be considered:

  • The reset functionality (via SYSRESETREQ) can be disabled for non-secure mode using the AIRCR.SYSRESETREQS bit. Unfortunately, the debugger cannot read the SYSRESETREQS bit in non-secure mode thus cannot determine if reset functionality is available or not. The only possibility to determine if it's available or not is to issue a reset via AIRCR.SYSRESETREQ and to check if DHCSR.S_RESET_ST gets set afterwards. If not, reset is not available in the current configuration.