Other Parts Discussed in Thread: SYSBIOS
In mrr_18xx lab demo, I understand below code is for receiving the CAN message from external device.
void Can_Initialize(void){ ... rxMsgObjectParams.direction = CANFD_Direction_RX; rxMsgObjectParams.msgIdType = CANFD_MCANXidType_11_BIT; rxMsgObjectParams.msgIdentifier = 0xA1 | CAN_MESSAGE_PARK_SENS_POS; rxMsgObjHandle = CANFD_createMsgObject (canHandle, &rxMsgObjectParams, &errCode); if (rxMsgObjHandle == NULL) { System_printf ("Error: CANFD create Rx message object failed [Error code %d]\n", errCode); return ; } ... } ... static void MCANAppCallback(CANFD_MsgObjHandle handle, CANFD_Reason reason){ ... retVal = CANFD_getData (handle, &id, &rxFrameType, &rxIdType, &rxDataLength, &rxData[0], &errCode); ... }
I tested mrr_18xx lab demo's CAN Rx feature by sending one CAN message (ID: 0xA1) from PCAN example tool to AWR1843BOOST. The demo running in AWR1843BOOST crashes once the message was send.
In debug mode, I get the below error:
ti.sysbios.gates.GateMutex: line 99: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details.
xdc.runtime.Error.raise: terminating execution
Does mrr-18xx demo support CAN Rx? Could you please check this issue in your side?
Thanks