Linux平台使用MCP2515 SPICan驱动的原理是将SPICan设备虚拟成Socket设备,即SocketCan; 这样就无需关心具体的CAN设备的收发接口,直接使用Socket接口即可,使用起来就比较方便了
2. iproute2与canutils工具移植iproute2: 由于海思平台的ip工具无法配置CAN设备,所以需要安装 canutils: 可以直接操作CAN的收发
(1)iproute移植iproute的移植按网上说明就可以,这里我用的版本是iproute2-2.6.39
a. 解压iproute2-2.6.39.tar.xz,修改Makefile 33行 CC= arm-none-linux-gnueabi-gcc
b. 修改Makefile 42行 SUBDIRS =lib ip
make编译生成ip工具即可
(2)canutils工具移植Canutils是基于GNU GPLv2许可的开源代码,包括canconfig、canecho、cansend、candump、cansequence五个工具,用于检测和监控Socket CAN接口。
a. 移植canutils前需要移植libsocketcan, 步骤如下
解压libsocketcan-0.0.11.tar.bz2 执行configure命令 ./configure –host=aarch64-linux-gnu –prefix=~/workspace/can/install/libsocketcan make; make install , libsocketcan编译完成
b. Canutils移植步骤如下 ./configure –host=aarch64-linux-gnu –prefix=~/workspace/can/install/canutils libsocketcan_LIBS=-lsocketcan LDFLAGS=-L~/workspace/can/install/libsocketcan/lib libsocketcan_CFLAGS=-I~/workspace/can/install/libsocketcan/include CFLAGS=-I~/workspace/can/install/libsocketcan/include
make make install
/workspace/can/install/canutils 下生成四个目录,分布拷贝到开发板相应目录 3. 配置CAN设备开启can0 ip link set can0 down ip link set can0 type can bitrate 500000 ip link set can0 up 开启can1 ip link set can1 down ip link set can1 type can bitrate 500000 ip link set can1 up
4. 查看CAN设备 5. 收发测试 (1)外部回环测试线序连接CAN0的CAN_H和CAN1的CAN_H连在一起 CAN0的CAN_L和CAN1的CAN_L连在一起
(2)收发测试a. CAN0接收,CAN1发送
candump can0 & cansend can1 -i 8 -e 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
b. CAN1接收,CAN2发送
candump can1 & cansend can0 -i 8 -e 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
至此CAN0和CAN1收发测试完成
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:海思平台SPICan设备收发测试 https://www.yhzz.com.cn/a/14783.html