MCU Communication Coordinator for IST Client
The IST client MCU communication coordinator (ist_client_mcc) provides APIs enabling the IST client to communicate with IST manager.
Functionalities
- Provide an interface for communication between the IST client running on NVIDIA DRIVE Orin™ SoC and IST manager running on MCU.
- Communication frame format and protocol to pass messages between MCU and IST client are defined in this module.
APIs
The following APIs must be implemented and exported in
libist_client_mcc.so:
/**
* Do everything needed for MCC and send KIST result
*
* @param [in] result: KIST result data
* @returns 0 on success
*/
extern int ISTClient_mcc_send_results(ist_client_result_t result);
Types
Types defined in
ist_client_mcc.h
:/**
* IST diagnostic result structure
*/
typedef struct ist_client_result {
uint8_t hw_result; /**< hw_result value (opaque to mcc) */
uint8_t reserved_0; /**< reserved_0 value (opaque to mcc) */
uint8_t sw_rpl_status; /**< sw_rpl_status value (opaque to mcc) */
uint8_t sw_preist_status; /**< sw_preist_status value (opaque to mcc) */
} ist_client_result_t;
Usage
The following pseudo code is provided to illustrate how the ist_client uses the APIs
provided by the ist_client_mcc
library.
static ist_client_result_t g_ist_client_keyist_result = {0};
int ist_client_main(int argc, char *argv[])
{
/* Store result in g_ist_client_keyist_result */
/* Send results to MCU */
ISTClient_mcc_send_results(g_ist_client_keyist_result);
return 0;
}
Security Configuration
Customer implementations of libist_client_mcc.so may require additional QNX abilities and GIDs for ist_client. Refer to "Rebuilding the Internal File System" and "Working with QNX Security Policies" in the NVIDIA DRIVE OS Safety Developer Guide.