This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM57L843: what happens when trying to write over WDKEY before enabling DWWD counter?

Part Number: RM57L843

Hello,

An example code for RTI DWWD usage works perfectly. I was wondering what happens if I try to write the WDKEY key values without enabling the counter? Tried doing that and my system goes into a complete hang state:

"Trouble Halting Target CPU:
(Error -1060 @ 0x0)
Device is not responding to the request.
Reset the device, and retry the operation.
If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings *e.g. lower TCLK).
(Emulation package 5.0.747.0)"


I am confident that the issue is with accessing the WDKEY before enabling the counter and couldn't find any information relating to it in the ref manuals. Any information on the system state when this happens would be helpful.

Thank you!

  • Hi Snigdha,

    What value do you write to the WDKEY before the DWD is enabled? Are you able to connect back to the part using a debugger? What status flags are set in the DWD status register? If you put a scope on the nRST terminal, do you see the part in a "code-execute" to reset loop?

    Regards, Sunil

  • Hi Mr. Sunil,

    I am trying to pet/kick it before enabling the counter i.e. writing in A35Ch and E51Ah one after the other. I am only able to connect back on resetting it completely(RST+ PORRST buttons on the board since I cannot talk to the board using a JTAG), but usually during a watchdog reset, the debugger has no reason to get detached as the code loops back to the main() code on DWD reset.

    initially the WDSTATUS is at 0, however since the debugger detaches at exactly that like where petting is done, I am unable to read the register values(so I am not sure how the WDSTATUS register changes at that write in).

    Does this usually happen for registers that are write-protected  until other registers (like enable) are written in first?

    Thank you!

  • Hi Snigdha,

    You are writing 0xE51A followed by 0xA35C to the WDKEY register. It is this second write to the WDKEY that causes a "Start time violation" for the windowed watchdog. That means that the watchdog was serviced before the service window was "open". This is the expected behavior. It causes a system reset and the reset handler can identify the cause of reset to be a watchdog reset.

    Regards, Sunil