Hello:
I have found a error in the power_smc_hw_access.c in S32_SDK_DFP1.2.0 that in line 363 the register to juge is SMC->PMPROT but the mask bit is PMCTRL, is this a error? ( The Appendix below shows )
And I have met a application problem: When I allow going to VLPS/HSRUN mode by setting the bits in PMPORT, then go into VLPS mode, but I get a 1 status by reading VLPSA in PMCTRL after wakup by GPIO interrupt. And Only when I make POR reset, the status is correct indicating that I have succeffuly gone into VLPS.
Thanks! Best Regards!
Appendix:
static bool SMC_CheckVlpsa(const SMC_Type * const baseAddr)
{
bool retValue;
uint32_t regValue = (uint32_t)baseAddr->PMPROT;
regValue = (regValue & SMC_PMCTRL_VLPSA_MASK) >> SMC_PMCTRL_VLPSA_SHIFT;
retValue = (regValue == 0UL) ? false : true;
return retValue;
}
Somebody meet the same confuse?
Hello Dan,
You are right, the code is not correct. However, this SW is from Keil MDK. I suggest contacting directly Keil Product Support
Best regards,
Diana