How to do SW reset on i.mxRT117x

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

How to do SW reset on i.mxRT117x

Jump to solution
1,556 Views
revolutesea
Contributor II

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,

 

0 Kudos
1 Solution
1,533 Views
victorjimenez
NXP TechSupport
NXP TechSupport

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. 

victorjimenez_0-1629829532160.png

Regards,
Victor 

View solution in original post

3 Replies
1,541 Views
revolutesea
Contributor II

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?

revolutesea_0-1629696008472.png

 

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. 

revolutesea_3-1629697160170.png

 

 

 

Thank you,

Sean

 

0 Kudos
1,534 Views
victorjimenez
NXP TechSupport
NXP TechSupport

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. 

victorjimenez_0-1629829532160.png

Regards,
Victor 

1,549 Views
victorjimenez
NXP TechSupport
NXP TechSupport

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 

0 Kudos