Bsp版本3250
Jetpack4.5
示例适合新手小白,Makefile简单明了点赞厂家,全部步骤如下
(8条消息) demo-usb-can示例jetson.rar-机器学习文档类资源-CSDN文库
如果要永久赋予普通用户操作USBCAN设备的权限,需要修改udev配置,查看系统是否正常枚举到usb设备,打印它们的VID/PID(USBCAN为0471:1200):增加文件:
参考(6条消息) Ubuntu 周立功CAN分析仪 USBCAN-II 驱动_bengkui2015的博客-CSDN博客_usbcan-ii驱动
lsusb
nvidia@nvidia-desktop:~$ ls
demo-2 Documents examples.desktop lysDemo-arm-linux-gnueabihf.tar Pictures Templates Videos yhs_can_control zlg-test.c
Desktop Downloads lysDemo Music Public todesk-v4.3.1.0-arm64.deb VisionWorks-SFM-0.90-Samples yhs_can_control.zip
nvidia@nvidia-desktop:~$ cd lysDemo/
nvidia@nvidia-desktop:~/lysDemo$ ls
ControlCAN.h libControlCAN.a libControlCAN.so libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h lys-test lys-test.c Makefile
nvidia@nvidia-desktop:~/lysDemo$ cat ../demo-2/Makefile
.SUFFIXES : .x .o .c .s
CROSS_COMPILE = aarch64-linux-gnu-gcc
all: clean zlg-test
zlg-test:
$(CROSS_COMPILE) -o zlg-test zlg-test.c -L ./ -L.. -pthread -lcontrolcan -lusb-1.0
clean:
rm -vf zlg-test
nvidia@nvidia-desktop:~/lysDemo$ sudo vi Makefile
[sudo] password for nvidia:
nvidia@nvidia-desktop:~/lysDemo$ sudo vi Makefile
nvidia@nvidia-desktop:~/lysDemo$ sudo make
rm -vf lys-test
removed 'lys-test'
aarch64-linux-gnu-gcc -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.so when searching for -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.a when searching for -lusb-1.0
nvidia@nvidia-desktop:~/lysDemo$ lsusb
Bus 002 Device 004: ID 05e3:0626 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 17ef:608d Lenovo
Bus 001 Device 006: ID 17ef:608c Lenovo
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 0471:1200 Philips (or NXP)
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nvidia@nvidia-desktop:~/lysDemo$ ./
ControlCAN.h libControlCAN.so libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 lys-test lys-test.c Makefile
nvidia@nvidia-desktop:~/lysDemo$ ./lys-test
设备打开失败,检测设备是否已连接,程序是否管理员权限运行!
nvidia@nvidia-desktop:~/lysDemo$ sudo ./lys-test
LINE:121 ret Input/Output Error recv 0
设备序列号验证失败...
nvidia@nvidia-desktop:~/lysDemo$ sudo vi lys-test.c
nvidia@nvidia-desktop:~/lysDemo$ ls
ControlCAN.h libControlCAN.a libControlCAN.so libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h lys-test lys-test.c Makefile
nvidia@nvidia-desktop:~/lysDemo$ cd ..
nvidia@nvidia-desktop:~$ ls
demo-2 Documents examples.desktop lysDemo-arm-linux-gnueabihf.tar Pictures Templates Videos yhs_can_control zlg-test.c
Desktop Downloads lysDemo Music Public todesk-v4.3.1.0-arm64.deb VisionWorks-SFM-0.90-Samples yhs_can_control.zip
nvidia@nvidia-desktop:~$ cd demo-2/
nvidia@nvidia-desktop:~/demo-2$ ls
controlcan.h libcontrolcan.so libusbcan.a libusbcan.so Makefile zlg-test zlg-test.c
nvidia@nvidia-desktop:~/demo-2$ cat Makefile
.SUFFIXES : .x .o .c .s
CROSS_COMPILE = aarch64-linux-gnu-gcc
all: clean zlg-test
zlg-test:
$(CROSS_COMPILE) -o zlg-test zlg-test.c -L ./ -L.. -pthread -lcontrolcan -lusb-1.0
clean:
rm -vf zlg-test
nvidia@nvidia-desktop:~/demo-2$ sudo apt-get install libusb-1.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libusb-1.0-0' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-0-dev' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-doc' for regex 'libusb-1.0'
libusb-1.0-0 is already the newest version (2:1.0.21-2).
libusb-1.0-0 set to manually installed.
libusb-1.0-0-dev is already the newest version (2:1.0.21-2).
The following packages were automatically installed and are no longer required:
apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin dpkg-repack gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 grub-common kde-window-manager kinit kio kpackagetool5 kwayland-data
kwin-common kwin-data kwin-x11 libdebian-installer4 libkdecorations2-5v5 libkdecorations2private5v5 libkf5activities5 libkf5attica5 libkf5completion-data libkf5completion5
libkf5declarative-data libkf5declarative5 libkf5doctools5 libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5 libkf5idletime5 libkf5jobwidgets-data libkf5jobwidgets5
libkf5kcmutils-data libkf5kcmutils5 libkf5kiocore5 libkf5kiontlm5 libkf5kiowidgets5 libkf5newstuff-data libkf5newstuff5 libkf5newstuffcore5 libkf5package-data libkf5package5 libkf5plasma5
libkf5quickaddons5 libkf5solid5 libkf5solid5-data libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5 libkf5textwidgets-data libkf5textwidgets5 libkf5waylandclient5 libkf5waylandserver5
libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5 libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11 libkwinglutils11 libkwinxrenderutils11 libqgsttools-p1 libqt5designer5
libqt5help5 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5opengl5 libqt5quickwidgets5 libqt5sql5 libqt5test5 libxcb-composite0
libxcb-cursor0 libxcb-damage0 os-prober python3-dbus.mainloop.pyqt5 python3-icu python3-pam python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-sip
qml-module-org-kde-kquickcontrolsaddons qml-module-qtmultimedia qml-module-qtquick2 rdate tasksel tasksel-data
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
libusb-1.0-doc
0 upgraded, 1 newly installed, 0 to remove and 445 not upgraded.
Need to get 170 kB of archives.
After this operation, 1,489 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 libusb-1.0-doc all 2:1.0.21-2 [170 kB]
Fetched 170 kB in 2s (69.9 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libusb-1.0-doc.
(Reading database ... 179832 files and directories currently installed.)
Preparing to unpack .../libusb-1.0-doc_2%3a1.0.21-2_all.deb ...
Unpacking libusb-1.0-doc (2:1.0.21-2) ...
Setting up libusb-1.0-doc (2:1.0.21-2) ...
nvidia@nvidia-desktop:~/demo-2$ cd ..
nvidia@nvidia-desktop:~$ cd lysDemo/
nvidia@nvidia-desktop:~/lysDemo$ ls
ControlCAN.h libControlCAN.a libControlCAN.so libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h lys-test lys-test.c Makefile
nvidia@nvidia-desktop:~/lysDemo$ sudo make
rm -vf lys-test
removed 'lys-test'
aarch64-linux-gnu-gcc -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.so when searching for -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.a when searching for -lusb-1.0
nvidia@nvidia-desktop:~/lysDemo$ sudo cp lib
libControlCAN.a libControlCAN.so libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h
nvidia@nvidia-desktop:~/lysDemo$ sudo cp libusb-1.0.so /usr/lib/
Display all 176 possibilities? (y or n)
nvidia@nvidia-desktop:~/lysDemo$ sudo cp libusb-1.0.so /usr/lib/
nvidia@nvidia-desktop:~/lysDemo$ sudo make
rm -vf lys-test
removed 'lys-test'
aarch64-linux-gnu-gcc -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.so when searching for -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.a when searching for -lusb-1.0
nvidia@nvidia-desktop:~/lysDemo$ sudo cp libusb-1.0.so /usr/bin/
nvidia@nvidia-desktop:~/lysDemo$ sudo make
rm -vf lys-test
removed 'lys-test'
aarch64-linux-gnu-gcc -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.so when searching for -lusb-1.0
/usr/bin/ld: skipping incompatible .//libusb-1.0.a when searching for -lusb-1.0
nvidia@nvidia-desktop:~/lysDemo$ sudo rm lib
libControlCAN.a libControlCAN.so libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h
nvidia@nvidia-desktop:~/lysDemo$ sudo rm libusb
libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h
nvidia@nvidia-desktop:~/lysDemo$ sudo vi
ControlCAN.h libusb-1.0.la libusb.h lys-test lys-test.c Makefile
nvidia@nvidia-desktop:~/lysDemo$ sudo vi lys-test.c
nvidia@nvidia-desktop:~/lysDemo$ sudo rm lib
libControlCAN.a libControlCAN.so libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h
nvidia@nvidia-desktop:~/lysDemo$ sudo rm libusb
libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h
nvidia@nvidia-desktop:~/lysDemo$ sudo rm libusb
libusb-1.0.a libusb-1.0.la libusb-1.0.so libusb-1.0.so.0 libusb-1.0.so.0.1.0 libusb.h
nvidia@nvidia-desktop:~/lysDemo$ sudo rm libusb*
nvidia@nvidia-desktop:~/lysDemo$ sudo make
rm -vf lys-test
removed 'lys-test'
aarch64-linux-gnu-gcc -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
nvidia@nvidia-desktop:~/lysDemo$ ls
ControlCAN.h libControlCAN.a libControlCAN.so lys-test lys-test.c Makefile
nvidia@nvidia-desktop:~/lysDemo$ diff ../demo-2/
diff: missing operand after '../demo-2/'
diff: Try 'diff --help' for more information.
nvidia@nvidia-desktop:~/lysDemo$ diff ../demo-2/ ../lysDemo
Only in ../demo-2/: controlcan.h
Only in ../lysDemo: ControlCAN.h
Only in ../lysDemo: libControlCAN.a
Only in ../demo-2/: libcontrolcan.so
Only in ../lysDemo: libControlCAN.so
Only in ../demo-2/: libusbcan.a
Only in ../demo-2/: libusbcan.so
Only in ../lysDemo: lys-test
Only in ../lysDemo: lys-test.c
diff ../demo-2/Makefile ../lysDemo/Makefile
2c2
< CROSS_COMPILE = aarch64-linux-gnu-gcc
---
> CROSS_COMPILE = aarch64-linux-gnu-gcc
4,6c4,6
< all: clean zlg-test
< zlg-test:
< $(CROSS_COMPILE) -o zlg-test zlg-test.c -L ./ -L.. -pthread -lcontrolcan -lusb-1.0
---
> all: clean lys-test
> lys-test:
> $(CROSS_COMPILE) -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
8c8
< rm -vf zlg-test
---
> rm -vf lys-test
Only in ../demo-2/: zlg-test
Only in ../demo-2/: zlg-test.c
nvidia@nvidia-desktop:~/lysDemo$ sudo make
rm -vf lys-test
removed 'lys-test'
aarch64-linux-gnu-gcc -o lys-test lys-test.c -L ./ -pthread -lcontrolcan -lusb-1.0
nvidia@nvidia-desktop:~/lysDemo$ sudo ./lys-test
LINE:121 ret Input/Output Error recv 0
设备序列号验证失败...
nvidia@nvidia-desktop:~/lysDemo$
国内比较出名的有zlg(周立功),创芯,广成。
周立功,国内顶牌,价格贵(1000+),品牌保证。
创芯(200+),家喻户晓,主打就是便宜。
广成(400+),小有名气,软件实用。
国内can分析仪软件选取
周立功,有两个软件,cantest 和 zcanpro ,cantest。
创芯,usbcantool
广成,ecantools