linux usbcan 使用记录
买一个 usbcan设备,支持socketcan接入方式;
linux系统使能flexcan驱动
linux系统开启USBCAN设备支持can网络设备
链接:https://blog.youkuaiyun.com/zouli415/article/details/115654117
移植 canutils 和 libsocketcan
移植参考博文:https://blog.youkuaiyun.com/qq_27513221/article/details/80874529
下载链接:
https://public.pengutronix.de/software/libsocketcan/
https://public.pengutronix.de/software/socket-can/canutils/v4.0/
移植版本:libsocketcan-0.0.10 和 canutils-4.0.6
libsocketcan编译:
./configure --prefix=$PWD/../out --host=aarch64-linux-gnu CC=//home/alientek/asd/rv1126_rv1109/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc && make && make install
-
修改configure 文件2604行:ac_ct_CC=$ac_cv_prog_ac_ct_CC为ac_ct_CC=“aarch64-linux-gnu-gcc”
-
修改/config/autocof/config.sub文件
241行:添加 | aarch64 | aarch64_be
318行:添加| aarch64-* | aarch64_be-* \
canutils编译:
./configure --prefix=$PWD/../install --host=aarch64-linux-gnu CC=/home/alientek/asd/rv1126_rv1109/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc libsocketcan_LIBS=-lsocketcan LDFLAGS=-L/home/alientek/tool/socketcan/out/lib/ libsocketcan_CFLAGS=-I/home/alientek/tool/socketcan/out/include CFLAGS=-I/home/alientek/tool/socketcan/out/include && make && make install
拷贝到板子上
sshpass -p "rockchip" scp out/lib/libsocketcan* root@192.168.0.55:/usr/lib/
sshpass -p "rockchip" scp out/lib/pkgconfig/* root@192.168.0.55:/usr/lib/pkgconfig
sshpass -p "rockchip" scp install/bin/* root@192.168.0.55:/usr/bin/
sshpass -p "rockchip" scp install/lib/pkgconfig/* root@192.168.0.55:/usr/lib/pkgconfig
sshpass -p "rockchip" scp install/sbin/* root@192.168.0.55:/usr/sbin/
sshpass -p "rockchip" scp install/share/man/man8* root@192.168.0.55:/usr/share/man/man8
测试
ip link set can0 down
# 在收发端设置比特率为1Mbps
ip link set can0 type can bitrate 1000000
# 在收发端打开can0设备
ip link set can0 up
# CAN数据接收
candump can0