Ubuntu16.04版本的BB板can使能

硬件: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
  1. 修改U-tool参数:
    若之前有串口的上电自启动,要先删掉:
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板断电,重新上电,连接对应的端口
**替换后的文件**
**连接IP**
**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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值