MCU Communication Coordinator Daemon
This is the MCU communication coordinator (MCC) daemon sample application.
Functionalities
These are the functionalities of the MCU communication coordinator daemon process (MCC daemon):- Relays the messages and responses among IST Client, DRIVE Update, and Common IF clients on NVIDIA DRIVE Orin™ SoC and MCU.
- Communicates with clients on NVIDIA DRIVE Orin™ SoC using NvSciIpc.
- Communicates with the MCU side using UDP socket communication.
Design Aspects
Implementation on NVIDIA DRIVE Orin™ SoC
IST Client, DRIVE Update, and Common IF clients can send a message to the MCC daemon over their respective NvSciIpc channels, and the daemon relays the message over the corresponding UDP socket. For DRIVE Update and Common IF client messages, it waits for a response from the UDP socket. Upon receipt of the response, the daemon writes it to the corresponding NvSciIpc channel.
Another thread of the MCC daemon is dedicated to waiting for messages on UDP socket for any communication from IST Manager on MCU. Once received, it writes the message to NvSciIpc channel corresponding to IST Client.
In case of timeout or errors, fixed number of retries are done.
The following are the configuration parameters:- UDP socket parameters taken from the tacp.cfg file:
AURIX_IP_ADDRESS=10.42.0.146AURIX_SERVER_PORT=5000AURIX_BOOTCHAIN_PORT=5001CLIENT_IP_ADDRESS=10.42.0.28
- Default timeout:
1second - Default number of retries during init time:
120 - Default number of retries during the runtime:
5- Note that clients should wait for more than
5 * 1seconds to assume request might have failed. For example,7retries with1second timeout.
- Note that clients should wait for more than
- NvSciIpc channels:
- For IST:
nvmcc_ist_ipc_0, nvmcc_ist_ipc_1 - For DU:
nvmcc_du_ipc_0, nvmcc_du_ipc_1 - For Common IF:
nvmcc_cif_ipc_0, nvmcc_cif_ipc_1 - As a convention: The daemon should open
<nvsciipc_ep_name>_0endpoint and clients should open corresponding<nvsciipc_ep_name>_1endpoint.
- For IST:
Linux-Specific Settings
Ensure that NvSciIpc and socket (tacp) services are marked as dependency before launching the MCC daemon.
Source Path
<PDK>/samples/mcc_daemon