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.

IWR6843ISK: Mss reset status check

Part Number: IWR6843ISK

Hi, I tried to view the MSS reset status by using MSS_RCM->RSTCAUSE register. However, regardless of power-on reset and watchDog reset, the status is 0010_0000(32) when I viewed before soc_init() or 0 when I viewed in _system_pre_init()。
I also tried to use ptrRTIBRegs->RTIWDSTATUS, and it didn't work either.
What is the reason for this? If I want to distinguish between the two status, what methos can I achieve.
Here is the code and result.

code when I viewed before soc_init:

int main (void)
{
RCMRegs* ptrRCMRegs;
TOPRCMRegs* ptrTOPRCMRegs;

ptrRCMRegs = (RCMRegs*)gSOCHwAttrib.rcmBaseAddress;
ptrTOPRCMRegs = (TOPRCMRegs*)gSOCHwAttrib.topRcmBaseAddress;

rcm_rstStatus = CSL_FEXTR(ptrRCMRegs->RSTCAUSE, 7U, 0U);
toprcm_rstStatus = CSL_FEXTR(ptrTOPRCMRegs->SYSRSTCAUSE, 3U, 0U);
rcm_softrst3 = CSL_FEXTR(ptrRCMRegs->SOFTRST3, 7U, 0U);

SBL_init();
return 0;
}

result:

rcm_rstStatus:32 toprcm_rstStatus:0 rcm_softrst3:173

code when I viewed in _system_pre_init() :

void _system_pre_init(void)
{
RCMRegs* ptrRCMRegs;
TOPRCMRegs* ptrTOPRCMRegs;

ptrRCMRegs = (RCMRegs*)gSOCHwAttrib.rcmBaseAddress;
ptrTOPRCMRegs = (TOPRCMRegs*)gSOCHwAttrib.topRcmBaseAddress;
rcm_rstStatus = ptrRCMRegs->RSTCAUSE;
toprcm_rstStatus = ptrTOPRCMRegs->SYSRSTCAUSE;
rcm_softrst3 = ptrRCMRegs->SOFTRST3;

return;
}

result:

rcm_rstStatus:0 toprcm_rstStatus:0 rcm_softrst3:24