Part Number: SK-AM62B-P1
I'm trying to enable graceful shutdown using this:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/09_02_00_38/exports/docs/api_guide_am62x/GRACEFUL_REMOTECORE_SHUTDOWN.html
Where exactly are these,in the mcu sdk directory:
- On the callback unblock the RPMessage for all the RPMsg objects used in the code.
volatile uint8_t gbShutdown = 0u;volatile uint8_t gbShutdownRemotecoreID = 0u;void ipc_rp_mbox_callback(uint16_t remoteCoreId, uint16_t clientId, uint32_t msgValue, void *args){if (clientId == IPC_NOTIFY_CLIENT_ID_RP_MBOX){{gbShutdown = 1u;gbShutdownRemotecoreID = remoteCoreId;RPMessage_unblock(&gIpcRecvMsgObject[0]);RPMessage_unblock(&gIpcRecvMsgObject[1]);}}}
- On the main thread where the IPC is happening, break all the loops when gbShutdown == 1
- Then follow the below sequence to go to WFI
- Close all the dirvers used
- Send acknowledgement to Linux core that the core is ready for shutdown
- Deinit system (It will disable the interrupts and stops the tick timer)
- Go to WFI / IDLE
This is implemented on IPC RP Message Linux Echo