Difference between revisions of "J-Link ARMv8-M"
(→Non-secure debug access) |
(→Secure debug access) |
||
Line 4: | Line 4: | ||
== TrustZone == |
== TrustZone == |
||
=== Secure debug access=== |
=== Secure debug access=== |
||
− | In secure mode, access to all system resources (memory, peripherals, ...) is |
+ | In secure mode, access to all system resources (memory, peripherals, ...) is allowed. 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=== |
=== Non-secure debug access=== |
Revision as of 11:05, 8 May 2024
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 allowed. 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. If the DHCSR.S_SDE bit is cleared, secure invasive debug (switching from non-secure to secure domain) is prohibited. The following list gives an overview of restrictions which need to be considered in non-secure mode:
- 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.