Hope it will be useful to you @189659318
"Now, I want the scu would reply to m4 when it receives the message from m4. Similar logic has not been found in the SDK." - Let's consider a FreeRTOS example for M4 cores:
IPC uses MU that is bi-directional connections, thus, the protocol that is used always works as a following:
M4/AP cores : ipc_write(some command)
SCU ipc_handler:
-----SCU ipc_read(cmd) - > perform command
-----SCU ipc_write(result)
M4/Ap core result =ipc_read()
Take a look at
SCU platform/svc/misc/rpc_clnt.c : sc_misc_set_control it calls sc_call_rpc
NXP SDK devices/MIMX8QM6/scfw_api/main/ipc_imx8qm.c: sc_call_rpc -
you will see sequential execution of commands:
sc_call_rpc()
....
sc_ipc_write(ipc, msg);
sc_ipc_read(ipc, msg);
Regards,
Bulat