About entering IVOR1_Handler when using FlexCAN

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

About entering IVOR1_Handler when using FlexCAN

跳至解决方案
1,982 次查看
H-chips
Contributor III

When I used multiple CAN channels of MPC5748G in FreeRTOS, in the execution
FLEXCAN_DRV_RxFifo(INST_CANCOM2,&recvBuff);
Or FLEXCAN_DRV_Receive(INST_CANCOM2,RX_MAILBOX2,&recvBuff); Until we have this problem:
Enter into
IVOR1_Vector:
e_b IVOR1_Handler


Part of the program is as follows:

#if CAN1_EN
FLEXCAN_DRV_Init(INST_CANCOM1, &canCom1_State, &canCom1_InitConfig0); //CAN0
FLEXCAN_DRV_ConfigRxMb(INST_CANCOM1, RX_MAILBOX, &RXdataInfo1, RX_MSG_ID);
FLEXCAN_DRV_ConfigTxMb(INST_CANCOM1, TX_MAILBOX, &TXdataInfo1, TX_MSG_ID);
if(! canCom1_InitConfig0.fd_enable)
{
FLEXCAN_DRV_ConfigRxFifo(INST_CANCOM1,FLEXCAN_RX_FIFO_ID_FORMAT_A,&RX_id_table1);
}
FLEXCAN_DRV_InstallEventCallback(INST_CANCOM1,CAN_CallBackHandle,NULL);
if(canCom1_InitConfig0.fd_enable)
{
FLEXCAN_DRV_Receive(INST_CANCOM1,RX_MAILBOX,&recvBuff);
}
else
{
FLEXCAN_DRV_RxFifo(INST_CANCOM1,&recvBuff);
}
#endif
#if CAN2_EN
FLEXCAN_DRV_Init(INST_CANCOM2, &canCom2_State, &canCom2_InitConfig0); //CAN1
FLEXCAN_DRV_ConfigRxMb(INST_CANCOM2, RX_MAILBOX2, &RXdataInfo2, RX_MSG_ID);
FLEXCAN_DRV_ConfigTxMb(INST_CANCOM2, TX_MAILBOX, &TXdataInfo2, TX_MSG_ID);
if(! canCom2_InitConfig0.fd_enable)
{
FLEXCAN_DRV_ConfigRxFifo(INST_CANCOM2,FLEXCAN_RX_FIFO_ID_FORMAT_A,&RX_id_table2);
}
FLEXCAN_DRV_InstallEventCallback(INST_CANCOM2,CAN_CallBackHandle,NULL);
if(canCom2_InitConfig0.fd_enable)
{
FLEXCAN_DRV_Receive(INST_CANCOM2,RX_MAILBOX2,&recvBuff);
}
else
{
FLEXCAN_DRV_RxFifo(INST_CANCOM2,&recvBuff);
}

 

MPC5748G-GW-RDB 

0 项奖励
回复
1 解答
1,831 次查看
H-chips
Contributor III

I have solved this problem by increasing the FreeRTOS heap size.

This is done by increasing the size of configTOTAL_HEAP_SIZE in FreeRTOSConfig.h

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,832 次查看
H-chips
Contributor III

I have solved this problem by increasing the FreeRTOS heap size.

This is done by increasing the size of configTOTAL_HEAP_SIZE in FreeRTOSConfig.h

0 项奖励
回复
1,955 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

can you share full simplified project, so it can be tested?

BR, Petr

0 项奖励
回复
1,936 次查看
H-chips
Contributor III

Sure. Thank you very much for taking the time to help me troubleshooting the problem.
My project is a collection of ENET and CAN project based on the sample program, if you want to execute to send the wrong place, may require you to complete the TCP connection.
My test project looks like this:

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1987724%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8%20FlexCAN%20%E6%97%B6%E8%BE%93%E5%85%A5%20IVOR1_Handler%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1987724%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%BD%93%E6%88%91%E5%9C%A8%20FreeRTOS%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20MPC5748G%20%E7%9A%84%E5%A4%9A%E4%B8%AA%20CAN%20%E9%80%9A%E9%81%93%E6%97%B6%EF%BC%8C%E5%9C%A8%E6%89%A7%E8%A1%8C%3CBR%20%2F%3Eflexcan_drv_rxfifo%EF%BC%88inst_cancom2%EF%BC%8C%26amp%3Brecvbuf%EF%BC%89%EF%BC%9B%3CBR%20%2F%3E%E6%88%96%E8%80%85%20FLEXCAN_DRV_Receive(INST_CANCOM2%2CRX_MAILBOX2%2C%26amp%3BrecvBuff)%3B%20%E7%9B%B4%E5%88%B0%E6%88%91%E4%BB%AC%E9%81%87%E5%88%B0%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%9A%3CBR%20%2F%3E%E8%BF%9B%E5%85%A5%3CBR%20%2F%3EIVOR1_%E5%90%91%E9%87%8F%EF%BC%9A%3CBR%20%2F%3E%20e_b%20IVOR1_Handler%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E9%83%A8%E5%88%86%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CP%3E%23if%20CAN1_EN%3CBR%20%2F%3EFLEXCAN_DRV_Init(INST_CANCOM1%2C%20%26amp%3BcanCom1_State%2C%20%26amp%3BcanCom1_InitConfig0)%3B%20%2F%2FCAN0%3CBR%20%2F%3EFLEXCAN_DRV_ConfigRxMb(INST_CANCOM1%2C%20RX_MAILBOX%2C%20%26amp%3BRXdataInfo1%2C%20RX_MSG_ID)%3B%3CBR%20%2F%3EFLEXCAN_DRV_ConfigTxMb(INST_CANCOM1%2C%20TX_MAILBOX%2C%20%26amp%3BTXdataInfo1%2C%20TX_MSG_ID)%3B%3CBR%20%2F%3Eif(!%20canCom1_InitConfig0.fd_enable)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EFLEXCAN_DRV_ConfigRxFifo(INST_CANCOM1%2CFLEXCAN_RX_FIFO_ID_FORMAT_A%2C%26amp%3BRX_id_table1)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3EFLEXCAN_DRV_InstallEventCallback(INST_CANCOM1%2CCAN_CallBackHandle%2CNULL)%3B%3CBR%20%2F%3Eif(canCom1_InitConfig0.fd_enable)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EFLEXCAN_DRV_Receive(INST_CANCOM1%2CRX_MAILBOX%2C%26amp%3BrecvBuff)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3Eelse%3CBR%20%2F%3E%7B%3CBR%20%2F%3EFLEXCAN_DRV_RxFifo(INST_CANCOM1%2C%26amp%3BrecvBuff)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%23endif%3CBR%20%2F%3E%23if%20CAN2_EN%3CBR%20%2F%3EFLEXCAN_DRV_Init(INST_CANCOM2%2C%20%26amp%3BcanCom2_State%2C%20%26amp%3BcanCom2_InitConfig0)%3B%20%2F%2FCAN1%3CBR%20%2F%3EFLEXCAN_DRV_ConfigRxMb(INST_CANCOM2%2C%20RX_MAILBOX2%2C%20%26amp%3BRXdataInfo2%2C%20RX_MSG_ID)%3B%3CBR%20%2F%3EFLEXCAN_DRV_ConfigTxMb(INST_CANCOM2%2C%20TX_MAILBOX%2C%20%26amp%3BTXdataInfo2%2C%20TX_MSG_ID)%3B%3CBR%20%2F%3Eif(!%20canCom2_InitConfig0.fd_enable)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EFLEXCAN_DRV_ConfigRxFifo(INST_CANCOM2%2CFLEXCAN_RX_FIFO_ID_FORMAT_A%2C%26amp%3BRX_id_table2)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3EFLEXCAN_DRV_InstallEventCallback(INST_CANCOM2%2CCAN_CallBackHandle%2CNULL)%3B%3CBR%20%2F%3Eif(canCom2_InitConfig0.fd_enable)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EFLEXCAN_DRV_Receive(INST_CANCOM2%2CRX_MAILBOX2%2C%26amp%3BrecvBuff)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3Eelse%3CBR%20%2F%3E%7B%3CBR%20%2F%3EFLEXCAN_DRV_RxFifo(INST_CANCOM2%2C%26amp%3BrecvBuff)%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fc-pwmxy87654%2FMPC5748G-GW-RDB%2Fpd-p%2FMPC5748G-GW-RDB%22%20class%3D%22lia-product-mention%22%20data-product%3D%222405-1%22%20target%3D%22_blank%22%3EMPC5748G-GW-RDB%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1998007%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%20%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8FlexCAN%E6%97%B6%E8%BE%93%E5%85%A5IVOR1_Handler%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1998007%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E9%80%9A%E8%BF%87%E5%A2%9E%E5%8A%A0%20FreeRTOS%20%E5%A0%86%E5%A4%A7%E5%B0%8F%E8%A7%A3%E5%86%B3%E4%BA%86%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E3%80%82%3C%2FP%3E%3CP%3E%E8%BF%99%E6%98%AF%E9%80%9A%E8%BF%87%E5%A2%9E%E5%8A%A0%20FreeRTOSConfig.h%20%E4%B8%AD%E7%9A%84%20configTOTAL_HEAP_SIZE%20%E7%9A%84%E5%A4%A7%E5%B0%8F%E6%9D%A5%E5%AE%9E%E7%8E%B0%E7%9A%84%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1990610%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8%20FlexCAN%20%E6%97%B6%E8%BE%93%E5%85%A5%20IVOR1_Handler%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1990610%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%BD%93%E7%84%B6%E3%80%82%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%E6%82%A8%E8%8A%B1%E6%97%B6%E9%97%B4%E5%B8%AE%E5%8A%A9%E6%88%91%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98%E3%80%82%3CBR%20%2F%3E%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E6%98%AF%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E%E7%A4%BA%E4%BE%8B%E7%A8%8B%E5%BA%8F%E7%9A%84ENET%E5%92%8CCAN%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%9B%86%E5%90%88%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%A6%81%E6%89%A7%E8%A1%8C%E5%8F%91%E9%80%81%E9%94%99%E8%AF%AF%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E5%8F%AF%E8%83%BD%E9%9C%80%E8%A6%81%E6%82%A8%E5%AE%8C%E6%88%90TCP%E8%BF%9E%E6%8E%A5%E3%80%82%3CBR%20%2F%3E%E6%88%91%E7%9A%84%E6%B5%8B%E8%AF%95%E9%A1%B9%E7%9B%AE%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1990233%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E5%85%B3%E4%BA%8E%E4%BD%BF%E7%94%A8%20FlexCAN%20%E6%97%B6%E8%BE%93%E5%85%A5%20IVOR1_Handler%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1990233%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E8%83%BD%E5%88%86%E4%BA%AB%E5%AE%8C%E6%95%B4%E7%AE%80%E5%8C%96%E7%9A%84%E9%A1%B9%E7%9B%AE%E4%BB%A5%E4%BE%BF%E8%BF%9B%E8%A1%8C%E6%B5%8B%E8%AF%95%E5%90%97%EF%BC%9F%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E