Hi,
I failed to test NVIC_SystemReset on i.MX RT1170 EVK.
I use hello world example to test software reset.
The attachment is my test project. My SDK version is 2.10.0 and MCUXPRESSO version is 11.4.0
Could you point out what's wrong or provide a example which could do software reset.
int main(void)
{
char ch;
/* Init board hardware. */
BOARD_ConfigMPU();
BOARD_InitPins();
BOARD_BootClockRUN();
BOARD_InitDebugConsole();
PRINTF("hello world.\r\n");
PRINTF("\r\nBBB!\r\n");
__disable_irq();
NVIC_SystemReset();
//SRC_AssertSliceSoftwareReset(SRC, kSRC_M7CoreSlice);
PRINTF("\r\nWon't get here\r\n");
while (1)
{
ch = GETCHAR();
PUTCHAR(ch);
}
}
Thanks,
解決済! 解決策の投稿を見る。
Hello Sean,
In the screenshot of the RT1170, I can see that you are on the debug session. This is why you are only seeing the Hello World one time. If you exit the debug session, you will see the same results as in the LPC. Here's a screenshot of my results.
Regards,
Victor
Hi Victor
Thank you for your testing.
May I know your UART log messages?
There is my UART log, I expect that Hello World would be printed over and over again.
But there only print Hello World once in UART.
Dose your "Hello World" could continuous printing by software reset?
Below screenshot is LPC55S28 software reset test in hello world example.
LPC55S28 could be reset again and again. I want to do this on i.mxRT1176.
Thank you,
Sean
Hello Sean,
In the screenshot of the RT1170, I can see that you are on the debug session. This is why you are only seeing the Hello World one time. If you exit the debug session, you will see the same results as in the LPC. Here's a screenshot of my results.
Regards,
Victor
Hello,
I just made a couple of tests, and I didn't face any problems. I took the same example, hello_world_demo_cm7, and I made the same modifications. Everything went fine on my end.
int main(void)
{
char ch;
/* Init board hardware. */
BOARD_ConfigMPU();
BOARD_InitPins();
BOARD_BootClockRUN();
BOARD_InitDebugConsole();
PRINTF("hello world.\r\n");
__disable_irq();
NVIC_SystemReset();
PRINTF("Not reaching this point!\r\n");
while (1)
{
ch = GETCHAR();
PUTCHAR(ch);
}
}
Regards,
Victor