SDK Bug in CAN FIFO

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

SDK Bug in CAN FIFO

1,143 次查看
wangshizhen
Contributor I

Hello:

   I has a project that need the FIFO of CAN. CAN 0 FIFO work fine, but when i use CAN1 FIFO,the programe will enter DefaultISR.

  I found a bug when I debug CAN SDK(085 or 086) API, The CAN 1 only have max 16 RXIMR,but the the SDK use 32 to initial RXIMR:

FLEXCAN_DRV_Init-->FLEXCAN_EnableRxFifo:

code:

for (i = 0; i < CAN_RXIMR_COUNT; i++)
{
/* RX individual mask */
base->RXIMR[i] = (CAN_RXIMR_MI_MASK << CAN_ID_EXT_SHIFT) & (CAN_ID_STD_MASK | CAN_ID_EXT_MASK);
}

the CAN_RXIMR_COUNT is 32.

The CAN1 FIFO program will work fine when I change CAN_RXIMR_COUNT to 16 .

kind regards

标签 (1)
标记 (4)
1 回复

785 次查看
AnaAldescu
NXP Employee
NXP Employee

Hello,

The number of RXIMR registers is equal to the number of message buffer for each instance. Thank you for reporting this issue. It will be fixed in the next release for S32 SDK for S32K1xx devices.

Best regards,

Ana