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.

[参考译文] TDA4VM:TDA4 CAN 器件

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1274802/tda4vm-tda4-can-device

器件型号:TDA4VM

大家好:

在我们的载板上有六个 CAN 接口、但是、在系统启动时未按顺序加载 CAN 器件。

那么、我如何才能使其产生以便加载?

非常感谢!

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

    您好、YST:

    您能否说明一下加载 CAN 接口的目的是什么? 如果目的是让特定的 CAN 总线具有特定的 ID、则可以参考以下常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1267036/faq-am69-how-can-i-assign-interface-id-to-can-modules。

    此致、

    大沼市

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

    目的是使模块探头按顺序发生还是使 CAN 接口 ID 按指定顺序发生?

    如果是后者,武马发布的常见问题将会有所帮助。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1267036/faq-am69-how-can-i-assign-interface-id-to-can-modules

    此致

    卡兰

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

    您好、Takuma、

    我想使用 Linux 用户 空间中的 CAN 接口 CAN0、CAN1、CAN2和 CAN3、 希望能与电路板上的数字相对应。

    我尝试了上面提到的方法,但它不起作用。

    那么、我如何才能使其产生以便加载?

    此致、

    YST

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

    您好、YST

    我仍不清楚这里的最终目标是什么?

    我想从 Linux 用户 空间使用 CAN 接口 CAN0、CAN1、CAN2和 CAN3 ,希望它能对应于我电路板上的数字。

    您能详细说明一下吗? 此外、您是否已查看此常见问题解答以更新 udev 规则?

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1267036/faq-am69-how-can-i-assign-interface-id-to-can-modules

    此致

    卡兰

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

    Karan、您好!

    当系统启动,我希望 Linux 用户空间中的 CAN0对应于电路板上的 CAN0。 但现在、CAN 驱动程序未按顺序加载。 因此、CAN0器件节点可能对应于我的电路板上的 CAN5接口。 喜欢这个:

    每次系统启动时、CAN 器件以不同的顺序注册。

    此致、

    YST

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

    您好、YST

    您能否说明 SoC CAN 实例如何映射到 CAN0、CAN1。 有哪些实例?

    SoC 可以实例为 MCAN0、MCAN1。 例如、主域以及 MCU 域中的 MCU_MCAN0和 MCU_MCAN1。

    我所提到的常见问题解答正是试图按照你的要求操作。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1267036/faq-am69-how-can-i-assign-interface-id-to-can-modules

    #11-can-mylocal.rules

    KERNELS==" 40528000.can"、action="add"、name="CAN1"
    KERNELS==" 40568000.can"、action="add"、name="CAN0"
    KERNELS==" 2771000.can"、action="add"、name="can6"
    KERNELS==" 2761000.can"、action="add"、name="can7"

    上面的函数会将 CAN1映射到 MCU_MCAN0、将 CAN0映射到 MCU_MCAN1、将 CAN6映射到 MCAN7和将 CAN7 YO MCAN6。

    此致

    卡兰

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

    您好、Karan

    我尝试了上面提到的方法、但不起作用

    我希望按顺序加载 CAN 驱动程序,如下所示:

    按该顺序注册 CAN 驱动程序可以对应于板上 CAN 硬件接口的序列号。

    但现在、CAN 驱动程序的注册是随机的。

    此致、

    YST

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

    您好、YST

    您能否说明 SoC 可以什么实例映射到 CAN0、CAN1 . 您电路板上的实例?

    您能回答这个问题吗?

    此外、请分享您为 CAN 添加的新 udev 规则。

    此致

    卡兰

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

    Karan、您好!

    下面是我的电路板上的 CAN:

    我希望它对应于我的 soc 上的 CAN 接口。

    以下是 my udev 规则:

    此致、

    YST

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

    您好、YST

    我尝试使用与你相同的 udev 规则,我能够获得预期的结果。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    root@am69-sk:~# cat /etc/udev/rules.d/06-can-load.rules
    #06-can-load.rules
    KERNELS=="2701000.can", ACTION=="add", NAME="can0"
    KERNELS=="2711000.can", ACTION=="add", NAME="can1"
    KERNELS=="2731000.can", ACTION=="add", NAME="can2"
    KERNELS=="2741000.can", ACTION=="add", NAME="can3"
    KERNELS=="2751000.can", ACTION=="add", NAME="can4"
    KERNELS=="2771000.can", ACTION=="add", NAME="can5"
    root@am69-sk:~#
    root@am69-sk:~#
    root@am69-sk:~#
    root@am69-sk:~# ls -la /sys/class/net/can*/device
    lrwxrwxrwx 1 root root 0 Sep 28 09:11 /sys/class/net/can0/device -> ../../../2701000.can
    lrwxrwxrwx 1 root root 0 Sep 28 09:11 /sys/class/net/can1/device -> ../../../2711000.can
    lrwxrwxrwx 1 root root 0 Sep 28 09:11 /sys/class/net/can2/device -> ../../../2731000.can
    lrwxrwxrwx 1 root root 0 Sep 28 09:11 /sys/class/net/can3/device -> ../../../2741000.can
    lrwxrwxrwx 1 root root 0 Sep 28 09:11 /sys/class/net/can4/device -> ../../../2751000.can
    lrwxrwxrwx 1 root root 0 Sep 28 09:11 /sys/class/net/can5/device -> ../../../2771000.can
    root@am69-sk:~#
    root@am69-sk:~#
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    能否检查 udev 规则是否已被触发? 是否有任何其他规则覆盖此内容?

    请参阅此主题- https://unix.stackexchange.com/questions/200194/how-to-debug-an-udev-rule-in-etc-udev-rules-d

    此致

    卡兰

x 出现错误。请重试或与管理员联系。