类似于cangen、candump、canconfig这些用户态工具。
参考链接:https://www.cnblogs.com/liushuhe1990/articles/10370206.html
需要下载两个开源代码包
1.移植
1.1 libsocketcan
源码地址: http://public.pengutronix.de/software/libsocketcan/
libsocketcan 配置:
1、./configure --build=aarch64 --host=aarch64-none-linux-gnu --target=aarch64-none-linux-gnu --prefix=/home/jialei/project/can_tool/libsocketcan-0.0.11/out CC=/home/jialei/project/rk3576_NVR_soft/build/toolchain/bin/aarch64-rockchip1031-linux-gnu-gcc CXX=/home/jialei/project/rk3576_NVR_soft/build/toolchain/bin/aarch64-rockchip1031-linux-gnu-c++
(64位linux上用的工具一般build都指定为aarch64,后面就是指定编译器、编译产物输出到指定的目录)
2、make
3、make install
1.2 canutils
地址: http://public.pengutronix.de/software/socket-can/canutils/v4.0/
canutils:
1、先将 上面libsocketcan 里面的头文件 libsocketcan.h和can_netlink.h复制到 canutils 的 include 里面
2、./configure --host=arm --prefix=/home/jialei/project/can_tool/canutils-4.0.6/out libsocketcan_LIBS=-lsocketcan LDFLAGS="-L/home/jialei/project/can_tool/libsocketcan-0.0.11/out/lib" libsocketcan_CFLAGS="-I/home/jialei/project/can_tool/libsocketcan-0.0.11/out/include" CC=/home/jialei/project/rk3576_NVR_soft/build/toolchain/bin/aarch64-rockchip1031-linux-gnu-gcc CXX=/home/jialei/project/rk3576_NVR_soft/build/toolchain/bin/aarch64-rockchip1031-linux-gnu-c++
3、make
4、make install
2.工具使用
2.1 cansend
发送can或者canfd帧
Usage: cansend <device> <can_frame>
如发送can数据:
cansend can0 123#112233445566
#前面的123是帧号,#后面的112233445566是数据部分。candump 接收结果如下:
can0 123 [6] 11 22 33 44 55 66
发送canfd数据
cansend can0 213##31122334455667788
##前面的213是帧号,##后面的3是flag,3后面的1122334455667788是数据。candump 接收结果如下:
can0 213 [08] 11 22 33 44 55 66 77 88
2.2 candump
监听指定can设备
candump can0 &
483

被折叠的 条评论
为什么被折叠?



