ST意法半导体
直播中

李之涵

7年用户 225经验值
私信 关注
[问答]

FlexCAN过滤器在所有配置上都是重复的

你好,

我在SPC5 Studio 3.4.3上使用SPC56EL60的FlexCAN,我想为每个人定义过滤器。我为每个包含不同过滤器的配置创建了一个配置。 CAN1有16个滤波器,从0x200到0x20F,CAN2有16个滤波器,从0x400到0x40F。
  - >第一个问题:所有过滤器都在所有配置中合并(CAN1过滤器配置为0x200到0x20F和0x400到0x40F)。我必须手动编辑can_lld_cfg.c。
  - >第二个问题:两个FlexCAN的Rx邮箱号码都是固定的。代码生成器不允许为每个FlexCAN设置特定的编号。
  - >第3个问题:将Rx邮箱号设置为16不会影响函数can_lld_is_rx_nonempty,该函数仅在不使用CAN_ANY_MAILBOX常量时检查前8个邮箱。

以上来自于谷歌翻译


以下为原文




Hello,

I'm using both FlexCAN of SPC56EL60 on SPC5 Studio 3.4.3 and I wanted to define filters for each of them. I created a config for each of them containing different filters. CAN1 has 16 filters from 0x200 to 0x20F and CAN2 has 16 filters from 0x400 to 0x40F.
--> 1st problem: all filters are merged in all config (CAN1 filters config was 0x200 to 0x20F AND 0x400 to 0x40F). I had to edit can_lld_cfg.c manually.
--> 2nd problem: the Rx mailbox number is fixed for both FlexCAN. The code generator does not allow to set a specific number for each FlexCAN.
--> 3rd problem: setting Rx mailbox number to 16 does not affect the function can_lld_is_rx_nonempty which only checks the first 8 mailboxes when not using the CAN_ANY_MAILBOX constant.

回帖(3)

刘鑫

2019-4-15 13:07:24
你好Aurélien,
 
 
- >第一个问题:所有过滤器都在所有配置中合并(CAN1过滤器配置为0x200到0x20F和0x400到0x40F)。我必须手动编辑can_lld_cfg.c。
 
你是对的 ,
这是CAN层(ftl文件)中的问题
我们已经为此提交了一张票。 (错误报告)
 
- >第二个问题:两个FlexCAN的Rx邮箱号码都是固定的。代码生成器不允许为每个FlexCAN设置特定的编号。
 
不,在这种情况下......这是不可能的。
这是对此的更改请求。
 
- >第3个问题:将Rx邮箱号设置为16不会影响函数can_lld_is_rx_nonempty,该函数仅在不使用CAN_ANY_MAILBOX常量时检查前8个邮箱。
 
是的,这是另一个ER。
 
作为临时解决方案,您可以在components / lib / src或include文件中修补文件。
我们会尽快处理预期成果。
 
 最好的祝福
 
 二万

以上来自于谷歌翻译


以下为原文





Hello Aurélien ,


--> 1st problem: all filters are merged in all config (CAN1 filters config was 0x200 to 0x20F AND 0x400 to 0x40F). I had to edit can_lld_cfg.c manually.

You are right ,
it is a issue in CAN Layer (ftl file)
we have submitted a ticket for this. (Error report)

--> 2nd problem: the Rx mailbox number is fixed for both FlexCAN. The code generator does not allow to set a specific number for each FlexCAN.

No , in this case .. it is not possible.
It is a change request for this.

--> 3rd problem: setting Rx mailbox number to 16 does not affect the function can_lld_is_rx_nonempty which only checks the first 8 mailboxes when not using the CAN_ANY_MAILBOX constant.

Yes , it is another ER.

As a temporary solution , you can patch the file in components/lib/src or include file.
We will handle the ERs as soon as possible.

   Best regards

               Erwan
举报

李之涵

2019-4-15 13:25:44
关于第二个问题,不同的FlexCAN如何能够拥有不同数量的Rx邮箱,因为所有CAN配置定义都基于使用唯一CAN_RX_MAILBOXES大小定义的CANConfig类型?

以上来自于谷歌翻译


以下为原文





Regarding the 2nd problem, how could different FlexCANs could have a different number of Rx mailboxes since all CAN config definition are based on the CANConfig type which is using the unique CAN_RX_MAILBOXES size definition?
举报

刘鑫

2019-4-15 13:42:28
是的,我们在数据库中提交了一个更改请求,以获得一组不同的Rx邮箱号码。
 
 最好的祝福
 
 二万

以上来自于谷歌翻译


以下为原文







Yes , we have submitted in our database a change request  to have a different set of Rx Mailbox Number.

Best regards

                     Erwan
举报

更多回帖

发帖
×
20
完善资料,
赚取积分