1、运行内核:MCU域MCU1_0
2、问题详述:
2.1、主域Main_CAN2/Main_CAN3/Main_CAN4无法正常通信
2.2、主域Main_CAN4配置失效“CAN_APP: Error in SciClient Interrupt Params Configuration!!! 6”
3、MCU域串口log:

注意:MCU域MCU_CAN0/MCU_CAN1,主域Main_CAN0/Main_CAN1能正常通信
4、CAN配置代码
void CanApp_BuildIntList(void)
{
uint32 idx, flag, intNum;
const Can_ConfigType *Can_ConfigPtr;
CanApp_IsrType pIsrHandler = NULL;
uint32 canMaxControllerCnt = 0U;
uint32 canDevId, routIntNum = 0U;//20230419
/*
* 1. Determine the number of Can Instances used
* 2. Build valid Can Instances list
* 3. Build isr and interrupt number for enabled Can Instances only
*/
/* Do Can Init */
#if (STD_ON == CAN_VARIANT_PRE_COMPILE)
Can_ConfigPtr = &CAN_INIT_CONFIG_PC;
Can_Init((const Can_ConfigType *) NULL_PTR);
#if (CAN_INITIAL_PRINT_DISABLE_BEFORE_CAN_RESPONSE == STD_OFF)
/*AppUtils_Printf(MSG_NORMAL, MSG_APP_NAME
"Variant - Pre Compile being used !!!\n");*/
#endif
#else
Can_ConfigPtr = &CanConfigSet;
Can_Init(Can_ConfigPtr);
#if (CAN_INITIAL_PRINT_DISABLE_BEFORE_CAN_RESPONSE == STD_OFF)
AppUtils_Printf(MSG_NORMAL, MSG_APP_NAME
"Variant - Post Build being used !!!\n");
#endif
#endif
/* Enable SCI Client */
Sciclient_init(NULL_PTR);
canMaxControllerCnt = Can_ConfigPtr->CanMaxControllerCount;
for (idx = 0U; idx < canMaxControllerCnt; idx++)
{
CanApp_IntNumbers[idx] = 0U;
CanApp_InstanceSrcId[idx] = 0U;
CanApp_RoutIntNumbers[idx] = 0U;
}
for (idx = 0U; idx < canMaxControllerCnt; idx++)
{
flag = 0U;
if (CAN_CONTROLLER_INSTANCE_MCU_MCAN0 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCU_MCAN_0_INT0;
pIsrHandler = Can_0_Int0ISR;
canDevId = TISCI_DEV_MCU_MCAN0;//20230419
flag = 1U;
}
if (CAN_CONTROLLER_INSTANCE_MCU_MCAN1 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCU_MCAN_1_INT0;
pIsrHandler = Can_1_Int0ISR;
canDevId = TISCI_DEV_MCU_MCAN1;//20230419
flag = 1U;
}
//20230419
if (CAN_CONTROLLER_INSTANCE_MCAN0 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCAN_0_INT0;
pIsrHandler = Can_2_Int0ISR;
routIntNum = INTRTR_CFG_MAIN_DOMAIN_MCAN_0_OUT_INT_NO +
INTRTR_CFG_START_LEVEL_INT_NUMBER;
canDevId = TISCI_DEV_MCAN0;
flag = 1U;
}
//20230505 Add Main_MCAN1
if (CAN_CONTROLLER_INSTANCE_MCAN1 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCAN_1_INT0;
pIsrHandler = Can_3_Int0ISR;
routIntNum = INTRTR_CFG_MAIN_DOMAIN_MCAN_1_OUT_INT_NO +
INTRTR_CFG_START_LEVEL_INT_NUMBER;
canDevId = TISCI_DEV_MCAN1;
flag = 1U;
}
//20230508 Add Main_MCAN2
if (CAN_CONTROLLER_INSTANCE_MCAN2 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCAN_2_INT0;
pIsrHandler = Can_4_Int0ISR;
routIntNum = INTRTR_CFG_MAIN_DOMAIN_MCAN_2_OUT_INT_NO +
INTRTR_CFG_START_LEVEL_INT_NUMBER;
canDevId = TISCI_DEV_MCAN2;
flag = 1U;
}
//20230508 Add Main_MCAN3
if (CAN_CONTROLLER_INSTANCE_MCAN3 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCAN_3_INT0;
pIsrHandler = Can_5_Int0ISR;
routIntNum = INTRTR_CFG_MAIN_DOMAIN_MCAN_3_OUT_INT_NO +
INTRTR_CFG_START_LEVEL_INT_NUMBER;
canDevId = TISCI_DEV_MCAN3;
flag = 1U;
}
//20230508 Add Main_MCAN4
if (CAN_CONTROLLER_INSTANCE_MCAN4 ==
CanConfigSet_CanController_List_PC[idx]->CanControllerInst)
{
intNum = APP_MCAN_4_INT0;
pIsrHandler = Can_6_Int0ISR;
routIntNum = INTRTR_CFG_MAIN_DOMAIN_MCAN_4_OUT_INT_NO +
INTRTR_CFG_START_LEVEL_INT_NUMBER;
canDevId = TISCI_DEV_MCAN4;
flag = 1U;
}
if (0U != flag)
{
CanApp_IntNumbers[idx] = intNum;
CanApp_Isr[idx] = pIsrHandler;
CanApp_InstanceSrcId[idx] = canDevId;//20230419
CanApp_RoutIntNumbers[idx] = routIntNum;//20230419
flag = 0U;
}
}
return;
}




