I am trying to port a K64/KDS3.2/SDK2.X project to MCUXpresso 10.3.X and SDK 2.5. I have made changes in the code of the KDS project to adapt the changes made in the new device drivers, and the new MCUXpresso project can be build and run.
I noticed that my CAN tasks can run but they cannot receive nor transmit any CAN messages. I used BDM to trace it down and found out that is because the transmitting MBOX is not available after sending the first frame out. Please refer to the screenshot below, it can only pass the condition in line 725 first time.
I was thinking it may be related to the changes made in fsl_flexcan.c/h, so I swapped fsl_flexcan.c/h files of SKD 2.x of KDS and SDK2.5 of MCUXpresso(with minor modification in both projects app), then find out, both flexcan device drivers of SDK2.x and SKD2.5 work for the KDS project but none of them work for MCUXpresso project.
Then, if it is not because of device drivers, what else? I am wondering if somebody else has seen the problem.
(I checked the flexcan examples, but FLEXCAN_TransferReceiveNonBlocking() was used there, not the API FLEXCAN_WriteTxMb() I was using)