Hello,
I have an RZ/N1D on a custom board and I am trying to get the CM3 to reset itself without making use of the CA7 or the watchdog. The standard method seems to be writing to the SYSRESETREQ bit of the CM3's Application Interrupt and Reset Control Register. There is a function in the cmsis code I'm using that does this, NVIC_SystemReset(), which writes that bit along with the vectkey, and then drops into an infinite loop to wait for the reset. When I call this function however, after writing the register and dropping into the loop, nothing happens, no reset is triggered and execution stays in the loop. The SYSRESET_REQ bit in the RSTEN register is set.
When researching this I noticed in the ARM developer docs that the implementation of the SYSRESETREQ signal is vendor dependent, so I'm wondering if this signal is expected to work on this system, and if so, if I could get some information on it to help me figure out why it isn't. Thank you.
the SYSRESETREQ signal is connected to system control block of RZ/N1 to trigger System Reset. The setting RSTEN.CM3SYSRESET_EN=1 is required to enable the function. Please refer to Table 4.2 Reset Domain Definition in UM Introduction.
A “System Reset” resets many parts of RZ/N1 including CA7. With this the CM3 cannot trigger a reset just for itself.
Even with the CM3SYSRESET_EN bit set, SYSRESETREQ doesn't seem to do anything
Did you take into account the MRESET_EN bit in the RSTEN register?
Enable bit of system reset Bit6..1 are activated if this bit is set to 1.
When this bit is 0 the other reset enable bits are still not active.
Ah, that did the trick, thank you