How to reset system from CM4 ?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
jamec_2673086
Level 3
Level 3
5 likes given First like received First like given

Hello,

I am Jagir, I want to reset system on the perticuler event from CM4.

For that, I have used NVIC_SystemReset() function to be called from CM4 but the system is not being reset.

Do i need something else Or way is incorrect?

0 Likes
1 Solution

I made a test over this issue.

Either cm4 or cm0+ can assert a system reset through calling NVIC_SystemReset().

cm0+ can assert cm4 reset through calling Cy_SysLib_SoftResetCM4(), only on the condition that cm4 is under Deep Sleep mode.

From the test result, it looks cm4 can not assert reset of itself without system reset.

View solution in original post

0 Likes
6 Replies
AchimE_41
Employee
Employee
10 sign-ins 5 sign-ins First comment on KBA

Hi,

The CM4 can only reset itself but not the System, that has something to do with the security of PSoC 6 (CM4 is the Application processor, CM0+ the Host Processor).

That said, there is a way to reset the MCU by your application using a System Call through the IPC. Please have a look at the PSoC 6 Architecture Guide as reference. https://www.cypress.com/file/385621/download chapter "12.5.10 Soft Reset" on page 108.

Regards,

Achim

0 Likes

Hi,

Is it architecture related functionality that CM4 is application processor & CM0+ is a Host processor than It should not be work every time.

Surprisingly from yesterday, I am able to reset the system from CM4 which was not possible 2-3 days ago.

Can someone help me to know why now it's working?

0 Likes

Have you ever made any change before the cm4 is effective to assert system reset?

0 Likes

No, I did not make any changes to the firmware,

I am not getting this can someone give me a clear idea ?

0 Likes

I made a test over this issue.

Either cm4 or cm0+ can assert a system reset through calling NVIC_SystemReset().

cm0+ can assert cm4 reset through calling Cy_SysLib_SoftResetCM4(), only on the condition that cm4 is under Deep Sleep mode.

From the test result, it looks cm4 can not assert reset of itself without system reset.

0 Likes

Thanks, Wang for resolving this confusion.

0 Likes