This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62B-P1: M4F shutdown on non-TI kernel

Part Number: SK-AM62B-P1

Hello,

I'm trying to understand the difference in behavior with my application running on M4F core of AM62x platform. I'm testing with the example "ipc_rpmsg_echo_linux" using SDK-11-00-00-16. I build that example for M4F with FreeRTOS and load it on my AM62x evaluation board running kernel 6.12.57-ti-rt. I can run "echo start" / "echo stop" to start/stop M4 and I see the prints from the example showing start up and shutdown:

Start

[IPC RPMSG ECHO] Version: REL.MCUSDK.K3.11.00.00.16+ (Jan 27 2026 12:05:53):
[IPC RPMSG ECHO] Remote Core waiting for messages at end point 13 ... !!!
[IPC RPMSG ECHO] Remote Core waiting for messages at end point 14 ... !!!

Stop

[IPC RPMSG ECHO] Shutdown flag is set ... !!!
[IPC RPMSG ECHO] Closing all drivers and going to WFI ... !!!

Now, running the same binary on another board running main line kernel 6.12.16, I see the same prints when the binary is loaded on M4 at boot time. However, when I try to stop M4 with "echo stop", I don't see the shutdown prints although Linux sees the M4 as having been stopped gracefully. I can start it up again with "echo start" and see the startup prints but never see the shutdown prints.

So, is there a difference in the stop command between TI kernel and main line kernel? My application has code that calls Board_gpioInit() at startup and Board_gpioDeinit() when M4 is stopped. That works as the example when running on TI kernel. However, running my application on main line kernel seems to have a problem when I run "echo stop". From Linux, it looks as M4 was shutdown gracefully but it appears that the Board_gpioDeinit() wasn't called during the shutdown, so when I try to do "echo start", I get an assertion in Board_gpioInit() because the Deinit() wasn't called during stop. Any idea why the TI kernel is different from main line kernel in the stop mechanism? Thanks in advance.

-Ayman