Skip to main content

[TriCore] Why do CPU writes to Cerberus registers cause a Trap only when the debugger is attached? - Knowledgebase / FAQs by core architecture / TriCore - Lauterbach Support

[TriCore] Why do CPU writes to Cerberus registers cause a Trap only when the debugger is attached?

Authors list

By default, TRACE32 configures the registers CBS_ACCEN0 and CBS_ACCEN1 on TriCore AURIX™ TC3xx devices to prevent the application from unintentionally modifying debug-related CBS registers. As a result, application code will trigger a protection trap when writing to Cerberus registers, e.g.: CBS_OCNTRL.B.WDTSUS

This produces the following behavior:

  • The target application runs correctly without the debugger attached.

  • The target application triggers a Trap when the debugger is attached.

If the application must manage CBS access permissions itself, configure:

SYStem.Option.CBSACCEN0 TarGeT
SYStem.Option.CBSACCEN1 TarGeT

Alternatively, TRACE32 can be configured to explicitly allow selected Master Tags.

Example:

SYStem.Option.CBSACCEN0 CerBeruS 0x000000001 0x00000002

Refer to TriCore Debugger and Trace for more details about the commands SYStem.Option.CBSACCEN<x>



Helpful Unhelpful

Add a comment

ID-0
To prove you are a human, please tell us the text you see in the CAPTCHA image