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.

[参考译文] Linux/AM4376:CAN 错误

Guru**** 2602665 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/646612/linux-am4376-can-error

器件型号:AM4376

工具/软件:Linux

你(们)好

我们遇到了 CAN 驱动器问题。 当我们使用设置 CAN0的 IP 链路建立网络时、内核消息中出现 timeut 错误:

C_CAN_HW_RAMINIT_WAIT_SYSCON:超时

很遗憾、我没有内核日志和 DTS 文件、但客户告诉我电路板 DTS 文件没有从 EVM 更改、只是激活了 Dcan0和 Dcan1。 此外、内核日志中没有任何与 CAN 驱动程序相关的错误。

我做了一些研究、发现其他人也有这个问题。

那么、这条消息意味着什么呢?

此致、

Robert

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

    请至少提供您使用的 Linux 版本的信息。 DTS 和日志文件也将有所帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Biser

    它是最新的 TI SDK、内核4.9.41
    DTS 文件中的 CAN 节点尚未更改。

    很抱歉、我现在没有更多信息。 他们想知道该错误的含义、这是否是一个问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我测试了 CAN0和 CAN1、它们工作正常。 但消息仍然存在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Robert、

    我将更深入地了解这条消息、但目前正在使用什么内核配置? 它是 TI 提供的内核配置吗? 如果内核配置已更改、您可以附加它吗?

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

    你(们)好

    内核配置已更改。 但源代码是 TI SDK。

    其他人也有这个问题。 我甚至在 Compulab 的 CM-T43和 CL-SOM-AM57x 页面上看到过它。

    我想、如果您尝试使用 EVM 板、您也应该看到此消息。

    e2e.ti.com/.../3056_2E00_.config.zip

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

    您好!

    感谢您发布内核配置。 配置具有 内置的 CAN 驱动器模块(Y)、TI 配置具有这些模块作为可加载模块 (M)。

    我建议尝试根据附加的文档在内核配置中设置 CAN 支持、以测试这是否会删除您看到的消息。 我在 AM335x 上启动了一个 CAN 接口、但未使用 预构建的 TI 内核看到超时消息。

    此致、

    Schuyler

    e2e.ti.com/.../TI_5F00_CAN_5F00_default_5F00_kernel_5F00_config.docx

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

    他们希望运行最小操作系统、而不想使用 insmod 或 modprobe。 所有内核驱动程序都是内置的。
    CAN 驱动器按这种方式加载是否重要?
    您还应在 AM437x 或 AM57x 电路板上尝试。

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

    我将在 AM437板上尝试驱动程序测试。 不过、AM3、AM4和 AM5处理器的内部 IP 是相同的、我不希望出现差异、但应予以确认。

    我需要与驱动程序团队核实内置与可加载之间的区别。 不过、为了确认接口是否正常工作、它只是与之相关的消息本身? 查看驱动程序中显示消息打印出来的代码、由于遇到超时、驱动程序不执行任何操作。 此外、还应注意、此驱动程序主要由 Linux 社区编写。

    您之前提到您没有控制台日志、如果客户将共享该日志、您可以从客户的主板上附加一个显示该消息的控制台日志吗?

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

    你(们)好

    [引用用户="Schuyler Patton"
    我将在 AM437板上尝试驱动程序测试。 不过、AM3、AM4和 AM5处理器的内部 IP 是相同的、我不希望出现差异、但应予以确认。
    [/报价]
    谢谢你。

    [引用用户="Schuyler Patton"
    不过、为了确认接口是否正常工作、它只是与之相关的消息本身?
    [/报价]
    是的、它在工作。 但是、正如您所说的、该消息是相关的。

    [引用用户="Schuyler Patton"
    查看驱动程序中显示消息打印出来的代码、由于遇到超时、驱动程序不执行任何操作。 此外、还应注意、此驱动程序主要由 Linux 社区编写。
    [/报价]
    是的、我第一次看到消息源时检查了消息源。 它只是返回、函数为 void。 正常退出或超时之间没有区别。

    [引用用户="Schuyler Patton"
    您之前提到您没有控制台日志、如果客户将共享该日志、您可以从客户的主板上附加一个显示该消息的控制台日志吗?
    [/报价]
    我附加了我正在处理的电路板日志、它具有相同的问题。

    此致、
    Robert

    e2e.ti.com/.../4212.Boot-Log.txt

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

    感谢您发布引导日志。 但是、我看不到超时消息、如果我错过了消息、我很抱歉。 日志看起来不完整、因为它会在开始进行用户空间初始化的位置停止。 我还注意到正在使用 RT 内核、但这也不会产生影响。

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

    你(们)好

    它没有这种功能、因为它就在登录提示之前。
    使用"IP link set up CAN0"启动网络后、会显示该消息

    CLI:
    IP 链路设置 CAN0类型 CAN 比特率125000三路采样打开
    IP 链路设置 CAN1类型 CAN 比特率125000三路采样打开
    IP 链路设置 CAN0
    IP 链路设置 CAN1

    消息:
    网络 CAN0:C_CAN_HW_raminit_wait_SYSCON:超时
    c_can_platform 481cc000.can CAN0:设置 BTR=1c0b BRPE=0000
    网络 CAN1:C_CAN_HW_raminit_wait_SYSCON:超时
    c_can_platform 481d0000.can CAN1:设置 BTR=1c0b BRPE=0000

    此致、
    Robert

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Robert、
    另一个处理器类显示了类似的问题。 我正在回顾历史、以了解问题是否相同以及是否可以利用解决方案。 在其他处理器类上看到的问题并不取决于驱动程序是否内置。
    此致、
    Schuyler
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好

    感谢您的支持。
    如果您找到任何解决方案、请告知我们。

    此致、
    Robert