S32K314 Reboot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K314 Reboot

945 Views
abhijith_r
Contributor III

Hi,

I am doing a project in S32K314 with freertos. In some cases we need to reboot the device. Is there any API to reboot the device? Or how can I implement ?

0 Kudos
Reply
5 Replies

919 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@abhijith_r

you can take a look at the API "Power_Ip_MC_ME.c"

->Power_Ip_MC_ME_SocTriggerResetEvent(Power_Ip_PowerModeType PowerMode)

S32K3 has many reset sources, for example, the user can also use the watchdog timeout reset

0 Kudos
Reply

777 Views
abhijith_r
Contributor III

Hi @Senlent ,

Power_Ip_MC_ME_SocTriggerResetEvent this API works but I found some issues while using this API.

The issue is I just created one timer function and put one counter. When the counter reaches a particular value I call this API for rebooting and it is rebooting the device. I tried it continuously. But after 8-9 times it will hang up at reboot API. I tried several times and it shows same behaviour. After 8-9 reboot the device become hang at this API calling.

0 Kudos
Reply

677 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@abhijith_r

Indeed, I've seen some similar questions on internal forums,this may be duo to the version of sBAF.

The new silicon with new sBAF should be working as described in the RM.

Right now, we suggested the customer to use the code "IP_MC_RGM->FREC = 0x0000000F;" during

application initialization to clear functional reset counter register manually.

0 Kudos
Reply

892 Views
abhijith_r
Contributor III

Hi @Senlent ,

How can I access or jump to  Reset vector address? Is there any other way to reboot using registers?

0 Kudos
Reply

879 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@abhijith_r

I roughly understand that your needs are similar to the jump of the program address when using the bootloader.

I suggest you read this program: S32K344_CAN_Bootloader_RTD100

https://community.nxp.com/t5/S32K-Knowledge-Base/Unified-bootloader-Demo/ta-p/1423099 

I copied the implemented function as follows:

/*FUNCTION**********************************************************************
 *
 * Function Name : Boot_JumpToApp
 * Description   : This function is jump to app.
 *
 * Implements : 
 *END**************************************************************************/
typedef void (*AppAddr)(void);
AppAddr JumpAppAddr = NULL;
void Boot_JumpToApp(const uint32 i_AppAddr)
{
	AppAddr resetHandle = (AppAddr)(i_AppAddr);

	(resetHandle)();
}

 

0 Kudos
Reply