Hi NXP team,
Our company has already signed an NDA, and I'm not sure where to post a question about the DryIce module. So please correct me if this is an inappropriate place.
So here is a brief summary of the system that I'm working on: The DryIce module is set up with a tamper pin pulled high by external circuit (the assertion condition is low). I'm using a K21 as a pass-through for a firmware uploading process. After the fw file is received and stored in an external flash, the K21 is reset by
SCB_AIRCR = SCB_AIRCR_VECTKEY(0x5FA) | SCB_AIRCR_SYSRESETREQ_MASK;
The bootloader then starts and begins to apply the new firmware.
The problem is after the firmware has been received and the soft reset is issued, I observed that the tamper pin goes LOW. The key inside the key store is the erased. The bootloader now sees no key, then throw away the new firmware. Then the old firmware starts, the tamper pin then goes HIGH as per my settings.
Looking at the Reference Manual (Rev. 3, May 2014, pg. 193), it is mentioned that
The SYSRESETREQ bit in the NVIC application interrupt and reset control register can
be set to force a software reset on the device. (See ARM's NVIC documentation for the
full description of the register fields, especially the VECTKEY field requirements.)
Setting SYSRESETREQ generates a software reset request. This reset forces a system
reset of all major components except for the debug module. A software reset causes the
RCM's SRS1[SW] bit to set.
Should the DryIce module reset as part of the "major components"?