Our customer has a problem that SACKERR (Stop Mode Acknowledge Error Reset) occur after executing an WFI instruction.
According to the reference manual (K10P144M100SF2V2RM, Rev 2), this reset is generated if the core attempts to enter stop mode, but not all modules acknowledge stop mode within 1025 cycles of the 1 kHz LPO clock.
But they cannot find out detail information about why modules does not acknowledge stop mode.
Please send detail information and check list for the SACKERR reset as soon as possible.
As what i know now, following condition may cause this.
1. DSPI slave transfer ongoing, saying DSPI_PCS active, but transfer not ended in 1024 LPO cycles.
2. IIC transfer ongoing, not sure how to duplicate that case on silicon, but IIC can generate the SACKERR error reset
3. PMC HRUN mode, can not enter STOP mode, SACKERR reset will happen if trying enter STOP mode from HRUN mode
4. DMA transfer ongoing.
5. USB transfer ongoing,
6. LPUART transfer ongoing.
7. FlexCAN transfer ongoing.
8. SAI transfer ongoing.
9. GPIO event
I don't think all condition applied to K10 device, but you can check these conditions if you have. Please help to let us know the result.
Thank you for your reply.
I don't know PMC HRUN mode and I cannot find out PMC HRUN mode in the reference manual.
Please clarify PMC HRUN mode.
yes, HRUN mode is for some latest Kinetis MCUs not for K10. I hope these check items can be common for all future issues reference. Actually, I have duplicated SACKERR reset only for DSPI and HRUN mode. Other cases are not tested on silicon by me, but they are used as SACKERR reset sources from design perspective.
DSPI case is very easy to duplicate, you can put DSPI in slave mode, and tie DSPI_PCS low, then trying enter STOP mode. It will cause SACKERR reset.
Hope this helpful