赞
踩
硬件:beaglebone Black
系统:Ubuntu16.04
此文档用于对已经配置完成的BB进行can使能。
1. BB通过USB线与电脑建立连接,打开xshell后用root权限登录:
2. 下载依赖包
2.1下载编译工具:
sudo apt-get update
sudo apt-get install build-essential git-core device-tree-compiler
2.2下载BB.org-overlays: (这里操作完了之后要求重启,可以等后面的配置工作都做完再一起重启)
git clone https://github.com/beagleboard/bb.org-overlays/
cd ./bb.org-overlays/
./install.sh
2.3下载can-utils
git clone https://github.com/linux-can/can-utils.git
cd can-utils
./autogen.sh
./configure
若出现以下问题:
进行以下三步:
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
make
make install
cd /etc/init.d
sudo update-rc.d -f uart_setup.sh remove
sudo nano /boot/uEnv.txt
1) 找到Custom Cape,将下面的dtb_overlay语句前的#符合去掉,并修改为:
2)找到Disable auto loading of virtual capes. 将下面的video 和audio项的#符号去掉:(ubuntu下没有这一步,此处为debain下进行)
3)找到##Example v4.1.x这一行,并将下边的#cape_enable=bone_capemgr.enable_partno=的注释取消掉,同时在=后边写上:BB-CAN1
重启BB Black。
重启后输入:ifconfig can0(或ifconfig -a). 如果可以正常查看到can0即可
4. 通信配置
4.1输入:
modprobe can
modprobe can-raw
modprobe can-dev
4.2回环测试:
ip link set can0 up type can bitrate 125000 loopback on
ip link set can0 up
candump can0 &
cansend can0 123#123456
4.3两个BB板进行can通信:
如果之前开启了回环测试,建议关掉:ip link set can0 up type can loopback off
此处要用两个BB,BB Black可以作为CAN设备使用,测试时连接两块 RS485/CAN CAPE 扩展板,跳线帽选择 UART1(RXD1、TXD1),并分别连接CAN模块的H、L到另一模块的H、L端。按照之前的配置,使用USB的虚拟网络,BB板的ip均为192.168.7.2,因此不能用两个BB板进行can通信,需要修改BB板的IP。使用命令nano /etc/network/interfaces,用下列内容进行替换
iface usb0 inet static
address 192.168.6.2
netmask 255.255.255.0
network 192.168.6.0
gateway 192.168.6.1
此后BB板断电,重新上电,连接对应的端口
打开两个终端,一个连接192.168.7.2,另一个连接192.168.6.2,分别输入相应命令
ip link set can0 up type can bitrate 125000
ip link set can0 up
接收端:candump can0
发送段:cansend can0 123#123456
5. can上电自启动
(1)建立shell脚本
终端输入:
cd /etc/init.d
sudo nano can.sh
将下面的代码拷入can.sh
#!/bin/bash
sudo ip link set can0 down
sudo ip link set can0 up type can bitrate 1000000
(2)设置脚本文件的权限
终端输入:
sudo chmod 755 /etc/init.d/can.sh
(3)将脚本放到启动脚本中
终端输入:
sudo update-rc.d can.sh defaults 100
注:其中数字100是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。
(4)BB重新上电,自启动can
查看下,终端输入:ip -details -statistics link show can0
(5)参考:卸载启动脚本的方法:
cd /etc/init.d
sudo update-rc.d -f can.sh remove
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。