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.
工具与软件:
尊敬的德州仪器支持团队:
我在使用时遇到困难 TCAN4550 、使用 Raspberry Pi 4B。 我们之前遇到过引用 A 的帖子 DTS 重叠 ,我们试图没有成功。 此帖子可在此处找到: 链接、供您参考。
当 DTS 编译成功时、我们无法配置该can0
接口。 我们已验证与 TCAN 的 SPI 通信是否成功。 对于内核配置、我们正在处理一个自定义构建、其中我们启用了 CAN 的所有相关配置条目(例如、M_CAN、M_CAN_TCAN4X5X 等)。
是否存在我们可能忽略的任何步骤?
感谢你的帮助。
此致!
Mattia
您好、Mattia、
很抱歉听到您遇到困难。 很遗憾、我不是 Linux 专家、我的专长是 TCAN4550器件级寄存器配置和物理层属性。 在您引用的帖子中创建我要与之通信的驱动程序的 Linux 开发人员也不再与公司合作、此驱动程序已上传到 Linux 内核中、并且现在 Linux 社区已提供多年的支持。
TCAN4x5x 驱动程序本质上是一个围绕已在 Linux 中用于处理定制 SPI 寄存器读取/写入接口的 MCAN 驱动程序的包装器。 我认为 CAN0接口实际上是 MCAN 驱动程序的一部分。
我真的没有任何具体信息来分享您特别需要遵循或可能错过的步骤、因此建议尝试找到一个更面向 Linux 或 Raspberry Pi 的论坛、其中有更多基于 Linux 的专家可以提供帮助。
由于您已建立 SPI 通信、因此如果您有任何与器件寄存器相关的问题、无论现在还是将来、我都愿意为您提供帮助。
此致、
Jonathan
Jonathan、您好!
感谢您的答复。 我们设法找出了错误并解决了我们的问题!
这是我们为通过can0
接口使用 TCAN4x5x 而编译的 RaspberryPi 4B 覆盖文件:
# tcan4x5x-overlay.dts
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2711";
fragment@0 {
target = <&spidev0>;
__overlay__ {
status = "disabled";
};
};
fragment@1 {
target = <&spi0>;
__overlay__ {
/* needed to avoid dtc warning */
#address-cells = <1>;
#size-cells = <0>;
tcan4x5x: tcan4x5x@0 {
compatible = "ti,tcan4x5x";
reg = <0>;
spi-max-frequency = <10000000>;
bosch,mram-cfg = <0x0 30 0 7 7 0 10 10>;
interrupt-parent = <&gpio>;
interrupts = <25 0x2>;
wakeup-source;
};
};
};
};
编译并安装:
dtc -@ -I dts -O dtb -o tcan4x5x-overlay.dtbo tcan4x5x-overlay.dts
sudo cp tcan4x5x-overlay.dtbo /boot/firmware/overlays/
然后、我们在/boot/firmware/config.txt 中添加了以下行:
dtparam=spi=on
dtoverlay=spi-bcm2711
dtoverlay=tcan4x5x-overlay
重新启动、ifconfig CAN0应显示该接口!
希望这对将来的人有所帮助
Mattia
嗨、Mattia、
很高兴听到您能够解决您的问题、非常感谢您将解决方案发布回此论坛。 我也希望它将有助于其他人在今后寻求对同一问题的答案。
此致、
Jonathan