S32K314 Reboot

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

S32K314 Reboot

988 次查看
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 项奖励
回复
5 回复数

962 次查看
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 项奖励
回复

820 次查看
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 项奖励
回复

720 次查看
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 项奖励
回复

935 次查看
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 项奖励
回复

922 次查看
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 项奖励
回复