This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] J722SXH01EVM:CANFD 网关开发问题

Guru**** 2330840 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1519931/j722sxh01evm-canfd-gateway-development-issue

器件型号:J722SXH01EVM

工具/软件:

我正在使用运行 Linux 的 J722S EVM 板、并开发支持 CAN FD 的 CAN 网关应用。

我在跨多个 CAN 通道测试 CAN FD 功能时遇到问题。 我的意见如下:

观察结果:

  • mcan1:CAN FD 发送和接收成功工作(64字节 DLC)。
  • mcu_mcan0和 main_mcan0:标准 CAN 正常工作、但 CAN FD 不工作或帧无法传输。
    • 错误:"没有可用的缓冲区空间"或 CAN FD 帧未得到确认。
    • 我使用"sudo ip link set canx type can bitrate 500000 dbitrate 1000000 fd on"验证了比特率设置。

是否存在的任何已知硬件或固件限制 mcu_mcan0或 main_mcan0 相关问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Aditya:

    我之前没有看到"No buffer space available"(无可用缓冲区空间)错误消息。 与 MCU_mcan1相比、MCU_mcan0和 MAIN_mcan0不应有额外的硬件/固件限制。 我可以 给出一些想法、您可以尝试进行一些初始故障排除。

    1. 在网上看,我看到一些 关于 can-utils 存储库的在线讨论,似乎将 txqueuelen 与错误消息相关联。
      1. 对于故障排除、 可以使用"ifconfig -a"打印输出 txqueuelen 和其他信息。 您可以比较工作中的 mcu_mcan1和非工作中的 mcu_mcan0、以查看是否有任何明显的差异。
      2. 对于实验、可以使用"ifconfig mcu_mcan0 txqueueelen 1000"更改此值
    2. 否则、 这里记录了我过去在 MCAN 中遇到的所有问题、我会在遇到新问题时更新这些问题、并附有预期输出和错误消息: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1474001/faq-tda4ven-q1-how-to-enable-troubleshoot-and-debug-mcan-can-fd-interface-not-working-in-linux。 您可以浏览它们、查看它们中是否有任何一个听起来可能与您的系统上观察到的行为有关。  

    此致、

    Takuma