RT1165: reset system by using SRC

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

RT1165: reset system by using SRC

跳至解决方案
910 次查看
kyle81
Contributor II

Hi,

This is a question about how to reset whole system in CM4

The scenario is:

1. RT1165 boots from CM7 and run boot1 XIP,

2. boot1 will load boot2 into ITCM and CM7 will jump to execute boot2 in ITCM. 

3. boot2 will release CM4 and CM4 will execute APP XIP

I added codes in APP (CM4) as below, but it will take a very long time to reset system.

SRC_SetGlobalSystemResetMode(SRC, kSRC_M4RequestReset, kSRC_ResetSystem);
NVIC_SystemReset(); // or SRC_AssertSliceSoftwareReset(SRC, kSRC_M4CoreSlice);

So my question is why it will take a long time ~45s  to reset system in APP (CM4)?

If I put the same codes in boot2 (CM7 )or boot1 (CM7), it will reset system immediately.

SRC_SetGlobalSystemResetMode(SRC, kSRC_M7RequestReset, kSRC_ResetSystem);
NVIC_SystemReset(); // or SRC_AssertSliceSoftwareReset(SRC, kSRC_M7CoreSlice);

Is there any other way to reset whole system in CM4?

 

Thanks,

Kyle

0 项奖励
回复
1 解答
884 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello
Hope you are well

There are four situations, which will cause a reset event. They are:
• Power-on reset (POR)
• Global system reset request
• Software configuration
• Low-power mode transaction

My suggestion for resetting only the CM4 core is through software reset so the two methods applied(NVIC_SystemReset and AsserSliceSoftwareReset) are the correct way to reset the system.

Please check that all status flags or pending interrupts are cleared before reset to avoid this long time.

If you have more questions do not hesitate to ask me.
Best regards,
Omar

在原帖中查看解决方案

0 项奖励
回复
1 回复
885 次查看
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello
Hope you are well

There are four situations, which will cause a reset event. They are:
• Power-on reset (POR)
• Global system reset request
• Software configuration
• Low-power mode transaction

My suggestion for resetting only the CM4 core is through software reset so the two methods applied(NVIC_SystemReset and AsserSliceSoftwareReset) are the correct way to reset the system.

Please check that all status flags or pending interrupts are cleared before reset to avoid this long time.

If you have more questions do not hesitate to ask me.
Best regards,
Omar

0 项奖励
回复