NXP MCU 技术论坛
直播中

张燕

7年用户 1315经验值
私信 关注
[问答]

使用S32K148,当FlexCAN MCR->FDEN位未设置且MCU接收到DLC > 8的FD帧时会发生什么情况?

使用 S32K148,当 FlexCAN MCR->FDEN(灵活数据速率启用)位未设置且 MCU 接收到 DLC > 8 的 FD 帧时会发生什么情况?我们已经在许多车辆中安装了包含此 MCU 的设备,并且我们看到了一种特定的最新车型出现故障。使用 SDK 4.0.1,我们的代码在 flexcan_hw_access.c 的 FLEXCAN_ReadRxFifo() 中的第 1616 行附近崩溃。这两行之一
          mbWord = flexcan_mb_data_32[databyte >> 2U];
          FlexcanSwapBytesInWord(mbWord, msgData_32[databyte >> 2U]);当数据长度大于 8 的帧到达时,似乎会导致 MCU 崩溃,因为我们只提供了一个 8 字节的缓冲区。关闭FDEN后,为什么MCU仍会收到数据长度码大于8的帧?这里正确的解决方法是什么——当我开始读取时我是否需要传递一个更大的缓冲区,或者这仍然会崩溃,因为我使用的 Rx FIFO 只能容纳 8 个字节的数据空间?

更多回帖

发帖
×
20
完善资料,
赚取积分