When does an MCU+ application need Linux RPMsg?#
Linux RPMsg can be used to communicate with Linux, as well as enabling features like graceful shutdown.
Linux RPMsg for inter-processor communication#
Linux RPMsg is the TI-supported option for general purpose communication between Linux and MCU+ cores.
RPMsg can be utilized to send data 496 bytes at a time, or RPMsg can be used as a notification mechanism if a “shared memory” approach is used to transmit large amounts of data between cores. Customers can also implement other forms of IPC that are not developed or supported by TI.
Linux RPMsg to enable graceful shutdown#
Some Linux remoteproc features are only available if Linux RPMsg is enabled in the remote core. Graceful shutdown requires specific code to be added to the remote core firmware (in addition to enabling Linux RPMsg in the SysConfig project settings).
If graceful shutdown is not enabled in the remote core firmware, Linux will NOT be able to shut down a remote core during runtime.
If your design uses low power modes, and you are using remote cores, then you MUST have graceful shutdown enabled on the remote cores.
Linux puts remote cores (other than DM R5F) into suspend mode before going into a low power state. If graceful shutdown is not enabled on the remote core, the remote core will not go into suspend, and the processor will fail to enter low power mode.
For more information about graceful shutdown, reference section Graceful shutdown.