Part Number:TDA4VM
TDA4VM main域MCU2_1工程
CAN示例程序参考
\ti-processor-sdk-rtos-j721e-evm-07_03_00_07\pdk_jacinto_07_03_00_29\packages\ti\csl\example\mcan\mcanEvmLoopback\mcan_evm_loopback_app_main.c
将其中的ID过滤数量修改为了27
然后分别对过滤ID进行配置
其他参数和示例程序一致
最后验证发现,总共配置了27个过滤ID,但是只有前25个ID报文可以进入中断,最后两个无法进入中断
Shine:
请尝试加大堆栈试试。
,
hangtai wang:
请问是系统的堆栈吗,在哪里配置的呢
,
Shine:
我把您的问题升级到英文e2e了https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1130765/tda4vm-the-last-two-filter-id-can-t-enter-the-interrupt能否发一下您图2的代码?图片看不清,太小了。
,
hangtai wang:
stdFiltelem.sfec = 0x7;
stdFiltelem.sft = 0x0;
for(i = 0; i < (sizeod(gCanCmdParamConfig[mcanIdx])/sizeof(gCanCmdParamConfig[mcanIdx][0])); i++)
{
if(gCanCmdParamConfig[mcanIdx][i].can_id[0] == 0)
{
continue;
}
stdFiltelem.sfid2 = i;
stdFiltelem.sfid1 = gCanCmdParamConfig[mcanIdx][i].can_id[0];
MCAN_addStdMsgIDFilter(mcanAddr, i, &stdFiltelem);
}
程序对一个需要过滤的ID表,不断通过MCAN_addStdMsgIDFilter()添加过滤ID,然后一共是27个,但是只有前25个起作用了,后两个ID的报文收不到
,
Shine:
请看下面工程师的回复。Can you confirm what is the value of msgRAMConfigParams.lse you are programing? This is 1 by default as APP_MCAN_EXT_ID_FILTER_NUM is defined as 1U in the SDK example.
,
hangtai wang:
这个APP_MCAN_EXT_ID_FILTER_NUM宏定义不是代表扩展CANID的吗,但是我需要过滤的是标准ID,应该是APP_MCAN_STD_ID_FILTER_NUM才对,我把它改成了64
,
Shine:
已把您的问题更新到e2e帖子,请关注帖子的回复。
,
Shine:
请参考下面工程师的回复。Shine said:
Does APP_MCAN_EXT_ID_FILTER_NUM macro refer to CANID extension? Customer wanted to filter the standard ID, he set APP_MCAN_STD_ID_FILTER_NUM to 64, is it correct?
Yes, the APP_MCAN_EXT_ID_FILTER_NUM is for filters for extended ID, APP_MCAN_STD_ID_FILETER_NUM is correctly set to 64U.c It's maximum value can be 128U.
The configuration seems correct, is it possible to share the full application code from the customer so that I can try replicating this on my side on the EVM?