CAN PAL Dev Assert Issue

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

CAN PAL Dev Assert Issue

跳至解决方案
969 次查看
zubizeratta
Contributor II

Hello,

MCU: S32K118

SDK : S32SDK_S32K1XX_RTM_4.0.1

In the CAN Driver, can_pal.c , Can_AllocateState function there's a DEV_ASSERT check which fails: 

(NO_OF_FLEXCAN_INSTS_FOR_CAN =1)

for (i = 0; i < NO_OF_FLEXCAN_INSTS_FOR_CAN; i++)
{
if (isAllocated[i] == false)
{
instanceMapping[i] = instance;
isAllocated[i] = true;
break;
}
}

if (i >= NO_OF_FLEXCAN_INSTS_FOR_CAN)
{
/* Should Never Reach Here */
DEV_ASSERT(false);
i = (NO_OF_FLEXCAN_INSTS_FOR_CAN-1U);
}

 

Even though value of 1 is valid for NO_OF_FLEXCAN_INSTS_FOR_CAN I don't get it exactly why it's checked if it's equal or greated than one. Shouldn't it be just ">1) ? 

 

标记 (2)
0 项奖励
回复
1 解答
952 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @zubizeratta,

The second part of the CAN_AllocateState function should never be reached if the structure selected for allocating is available/correctly defined. It simply checks if the previous for cycle failed to allocate any of the available structures to the instances, hence the break statement in order to exit the function.

Have you correctly configured the instance to initialize in the CAN_Init function? Please refer to the example if needed:

Julin_AragnM_0-1728410534509.png

Best regards,
Julián

在原帖中查看解决方案

0 项奖励
回复
2 回复数
953 次查看
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @zubizeratta,

The second part of the CAN_AllocateState function should never be reached if the structure selected for allocating is available/correctly defined. It simply checks if the previous for cycle failed to allocate any of the available structures to the instances, hence the break statement in order to exit the function.

Have you correctly configured the instance to initialize in the CAN_Init function? Please refer to the example if needed:

Julin_AragnM_0-1728410534509.png

Best regards,
Julián

0 项奖励
回复
939 次查看
zubizeratta
Contributor II

Hi Julián,

It seems to be allocated but I will check again if something is wrong . Thanks.

zubizeratta_0-1728455713988.pngzubizeratta_1-1728455734907.png

 

0 项奖励
回复