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