Recover XMC4400 from fatal SSW error / diagnostic monitor mode?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User18113
Level 1
Level 1
We have written a BSL for our XMC4400 device that does some firmware update checking and then launches our APP via the ABM0 mechanism. This all works correctly.

However, due to a misconfiguration of our build settings, we programmed a device with an invalid ABM0 header. Now, of course, the device doesn't boot because the SSW audit of the ABM0 header fails and the processor enters a "diagnostics monitor mode". According to the reference manual, this is a fatal error, so all clocks are disabled and the processor goes to sleep.

Is there any way to recover from this mode? Our development system (IAR EWARM with XMCLink debug pod) needs the device to be awake in order to gain control, but on PORST the device goes to sleep too quickly for us to be able to get control. Any way out of this, or have we created a brick?
0 Likes
2 Replies
User16529
Level 4
Level 4
First solution authored
You can try to erase the entire flash with the xmc flasher tool that works with the segger programmer. You can download the xmc flasher from https://www.infineon.com/cms/en/product/microcontroller/32-bit-industrial-microcontroller-based-on-a...
Go to "Tools & software" -> XMC Development Tools Ecosystem and Software -> Programmers/Flash Tools and scroll until you find Infineon -> XMC flasher
Once you've erased the flash, you can re-pogrogram the xmc4400 as you wish
0 Likes
onour
Employee
Employee
10 replies posted 25 sign-ins 5 solutions authored

Hello, did you solve the issue ?

0 Likes