硬件版本:RC1
软件版本:Debian 8.7 2017-03-19 4GB SD LXQT(kernel 4.4.54-ti-r93)
SLOT的路径为/sys/devices/platform/bone_capemgr/slots.
这里可以看到文件介绍https://github.com/cdsteinkuehler/beaglebone-universal-io
要想使用can,可以修改cape-universaln-00A0.dts文件,然后重新生成.tdbo,替换系统默认的。
目前还没有找到系统是怎么默认加载cape-universaln-00A0.tdbo文件的。
这里我使用的另外一个方法,就是使用config-pin重新配置IO。
1 这里使用的是can1,将P9.24和P9.26配置为can
config-pin P9.24 can
config-pin P9.26 can
2 使用命令设置can属性,启动can
ip link set can1 down
ip link set can1 type can bitrate 500000
ip link set can1 up
如果没有外接的can设备,可以使用回测功能,将上面第二条命令修改为
ip link set can1 type can bitrate 500000 loopback on
3 启动can数据检测
candump can1
如果提示candump命令找不到,是因为没有安装can相应的库,使用can-utils库
apt-get update && apt-get install git
cd /tmp
git clone https://github.com/linux-can/can-utils.git
cd can-utils/
make
make install
如果网络不好,就下载后复制到BBB板子里面。
4 重启启动一个SSH窗口,发送数据
cansend can1 111#1122334455667788
111是can id, 1122334455667788是8字节的数据。
PS:经测试,如果没有配置IO功能为can,使用回测方式也正常。