TI中文支持网
TI专业的中文技术问题搜集分享网站

BeagleBone Black 的CAN通信

BeagleBone Black的CAN0如何打开,如何禁用I2C,打开CAN0,使CAN0可用

Nancy Wang:

可以参考这个链接,上面有讲解如何通过pinmux使能can0。
www.embedded-things.com/…/
这个帖子也可以看一下。
e2e.ti.com/…/635444

user5579599:

回复 Nancy Wang:

没有BB-DCAN0-00A0.dts或BB-DCAN0-00A0.dtbo文件,新建吗

yongqing wang:

回复 user5579599:

am335X can 使用请参考:http://processors.wiki.ti.com/index.php/AM335X_DCAN_Driver_Guide

user5579599:

回复 yongqing wang:

canconfig, cansend, candump and cansequence这些命令都提示command not found

yongqing wang:

回复 user5579599:

这些都是Canutils 里面的工具

Alvin Chen:

回复 user5579599:

先配置内核,然后更改设备树,编译设备树,最后下载Canutils编译,安装最后测试,请参考;
processors.wiki.ti.com/…/AM335X_DCAN_Driver_Guide

user5579599:

回复 Alvin Chen:

make menuconfig ARCH=arm在哪个文件夹下这行这个命令,bone-debian-8.7-lxqt-4gb-armhf-2017-03-19-4gb

yongqing wang:

回复 user5579599:

系统目录下
交叉工具的环境变量要设置

user5579599:

回复 yongqing wang:

BBB板系统镜像为bone-debian-8.7-lxqt-4gb-armhf-2017-03-19-4gb,内核源码目录位置是什么还是需要再下载一个linux内核

Alvin Chen:

回复 user5579599:

你需要下载对应debian 的内核,不过建议你编译TI 的SDK。

你试试下面的做法:

在/lib/firmware 目录下新建:BB-DCAN1-00A0.dts  内容如下:

{compatible = "ti,beaglebone", "ti,beaglebone-black";/* identification */part-number = "dcan1pinmux";fragment@0 {target = <&am33xx_pinmux>;__overlay__ {dcan1_pins_s0: dcan1_pins_s0 {pinctrl-single,pins = <0x180 0x12/* d_can1_tx, SLEWCTRL_FAST | INPUT_PULLUP | MODE2 */0x184 0x32/* d_can1_rx, SLEWCTRL_FAST | RECV_ENABLE | INPUT_PULLUP | MODE2 */>;};};};fragment@1 {target = <&dcan1>;__overlay__ {#address-cells = <1>;#size-cells = <0>;status = "okay";pinctrl-names = "default";pinctrl-0 = <&dcan1_pins_s0>;};};
};

然后:

root@host:/lib/firmware# dtc -O dtb -o BB-DCAN1-00A0.dtbo -b 0 -@ BB-DCAN1-00A0.dts
root@host:/lib/firmware#echo BB-DCAN1 > /sys/devices/bone_capemgr.*/slots上面是修改设备树,如果无效的话,就建议你去下载TI 的SDK编译内核和修改并编译设备树,然后按照上面的手册操作。

赞(0)
未经允许不得转载:TI中文支持网 » BeagleBone Black 的CAN通信
分享到: 更多 (0)