BeagleBone Black 打开CAN总线
来源:互联网 发布:普通话在线测试软件 编辑:程序博客网 时间:2024/06/05 23:38
SD卡版本:
下载SD版本的系统,如Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.07.31.img
烧写到SD上,把SD卡查到电脑上面,修改uEnv.txt文件,在后面添加上 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,从而禁用HDMI(因为该接口某些脚和和CAN冲突了),修改后的配置可能是optargs=quiet drm.debug=7 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN。
将SD卡查到BBB上面,从SD启动BBB;
先用ifconfig -a 查看有没有can0接口,没有的话需要配置;
为了查看是否已经识别CAN-Cape,可以使用dmesg | grep -i cape 查看cape的挂接情况,主要留意CAN总线的信息,可能会有failed to load firmware 'BB-BONE-SERL-01-00A2.dtbo',这说明已经识别CAN-Cape了,但是加载BB-BONE-SERL-01-00A2.dtbo(和CAN相关)失败
如果加载失败的话,使用echo BB-BONE-SERL-01:00A2 >/sys/devices/bone_capemgr.*/slots强制加载上去,估计会出现not such file,说明/lib/firmware下面没有BB-BONE-SERL-01-00A2.dtbo。
没有BB-BONE-SERL-01-00A2.dtbo的话,到/lib/firmware下面把BB-BONE-SERL-01-00A1.dts复制一份为BB-BONE-SERL-01-00A2.dts:
cp BB-BONE-SERL-01-00A1.dts BB-BONE-SERL-01-00A2.dts
编译BB-BONE-SERL-01-00A2.dts为BB-BONE-SERL-01-00A2.dtbo:
dtc -O dtb -@ BB-BONE-SERL-01-00A2.dts > BB-BONE-SERL-01-00A2.dtbo
重启BBB。
重启完成之后在使用ifconfig -a检查接口,如果看到can0的话那么说明已经能够使用CAN了。
设置CAN总线属性:
ip link set can0 type can bitrate 125000 triple-sampling on
开启回环(如果你们没有其他CAN设备的话就只能用回环大致测试一下了,如果你有CAN设备连接上BBB的话就不用回环了)
ip link set can0 type can loopback on
启动CAN总线
ifconfig can0 up
显示所有CAN上的通信数据
candump can0
重新打开一个进程测试CAN发送
cansend can0 1 2 3 4 5 6 7 8
到dump的进程看看有没有结果
PS:
有的时候发送会出错,可能是发送缓冲区不够的原因,下面的命令设置发送缓冲区长度为1000
echo 1000 > /sys/class/net/can0/tx_queue_len
在eMMC系统上面开启CAN:
最好用新的镜像(亲测BBB-eMMC-flasher-2013.08.21.img可以,更旧的系统不保证可以)更新系统(先写到sd卡上,在用sd卡升级emmc,具体升级emmc过程请看其它教程)。
将emmc的第一分区挂载:mount /dev/mmcblk0p1 /media/mmc1/
切到挂载点:cd /media/mmc1/
修改uEnv.txt(也是加上禁用HDMI):vi uEnv.txt
修改后的可能是这样的:optargs=quiet drm.debug=7 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
后面的步骤和上面SD卡的方式差不多,不过为了保险起见,我的做法是先把SD的方式配置好了,然后直接把SD卡的/lib/firmware完全复制到emmc系统上的/lib/firmware了。
直接在emmc系统上编译dts的方式我没试过。
- BeagleBone Black 打开CAN总线
- BeagleBone Black CAN总线读写数据操作
- BeagleBone Black CAN总线读写数据操作
- BeagleBone Black I2C总线相关操作
- BeagleBone Black的can通讯实现(一)
- 在Beaglebone Black上使用C++实现can通讯
- Beaglebone black日记
- beaglebone black 安装 vnc
- BeagleBone Black: 网页服务器
- beaglebone black硬件概览
- Beaglebone Black 上手
- Beaglebone black锂电池cape
- BeagleBone Black安装Android
- BeagleBone Black快速入门教程
- Beaglebone Black的启动
- BeagleBone Black Debian安装
- BeagleBone Black开发环境
- beaglebone black 镜像
- C++针对ini配置文件读写大全
- 牛顿法求方程根
- 【黑马程序员】2013年12月5日学习笔记
- 新项目中需要学习的东西
- Android系统通讯录的SQLite表的观察
- BeagleBone Black 打开CAN总线
- 8# 2013-12-5
- Windows server 2003安装软件时总提示“不能访问windows Installer服务
- 从头开始学COCOS2DX笔记三(搭建NDK环境)
- 想从测试转开发 求大神们给点建议
- 黑马程序员---基础增强
- 黑马程序员---枚举与反射
- java heap space解决方法和JVM参数设置
- windows多进程编程