Should the NRST external reset (PINRST) be set on an STM32F407 after a power reset?
I want to be able to count the number of each type of resets in my code. The problem that I have is that the NRST pin reset is always set after a power cycle. I check it and then clear the register each boot cycle, so I don't think that this should be happening. Also, if I pull the NRST pin low while the power is up (to manually generate an external reset), I only get an NRST pin reset and not a power reset (which is expected).
// The flag will be set if this reset has occured and never cleared
if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) == SET) m_ResetOccured[RST_IWDG] = true;
if (RCC_GetFlagStatus(RCC_FLAG_SFTRST ) == SET) m_ResetOccured[RST_SFT ] = true;
if (RCC_GetFlagStatus(RCC_FLAG_PORRST ) == SET) m_ResetOccured[RST_PWR ] = true;
if (RCC_GetFlagStatus(RCC_FLAG_PINRST ) == SET) m_ResetOccured[RST_NRST] = true;
if (RCC_GetFlagStatus(RCC_FLAG_BORRST ) == SET) m_ResetOccured[RST_BOR ] = true;
// Clears reset flags
Am I correct in assuming that the PINRST should not be set during a power cycle?