16.10.2.2 Operation From a Debug Adapter

Debug adapters must access the DSU registers in the external address range [0x100 – 0x1FFF].

If STATUSB.DAL is equal to 0x0, accessing the first 0x100 bytes causes the DSU security filter to return an error to the DAP.

(PIC32CM LS00/LS60 only): If STATUSB.DAL is equal to 0x1, debug accesses will go through the DSU security filter but will be forced as non-secure, therefore the DSU internal address space will not be accessible and any access in this case is discarded (writes are ignored, reads return 0) and raise STATUSA.PERR.

Table 16-5. DAP transaction authorizations and error response types
DALDebugger Access TypeDAP transaction allowed?
DSU internal address spaceDSU external address spaceOther than PPBPPB
0SecureNo (Bus Error)YesNo (Bus Error)No (Bus Error)
0Non-SecureNo (Bus Error)YesNo (Bus Error)No (Bus Error)
1

(PIC32CM LS00/LS60 only)

SecureNo (PERR)YesYes (NS,PERR)Yes (ARMv8M)
1

(PIC32CM LS00/LS60 only)

Non-SecureNo (PERR)YesYes (NS,PERR)Yes (ARMv8M)
2SecureYesYesYes Yes
2Non-SecureNo (PERR)YesYes Yes

Bus Error: A Bus Error is sent back to the DAP setting its sticky bit error.

PERR: No bus error, STATUSA.PERR rises, writes are discarded, reads always return 0

NS, PERR: Access forced to non-secure, secure violations are reported in STATUSA.PERR.

Note: Refer to the Non-volatile Memory Controller (NVMCTRL) for details.