ubuntu系统中执行Demo文件遇到的问题及处理

ubuntu中访问摄像头工具 :先连接相机,然后命令行中输入 cheese 回车即可。
打开终端Terminal命令窗口 : Ctrl+Alt+T 
退出命令窗口中运行状态:Ctrl+C
挂起正在编辑的文件:Ctrl+Z
恢复挂起的文件编辑:fg
查看VID,PID:lsusb
Linux系统的设备节点查看:ls /dev  【在根目录dev文件夹中】这个目录包含了所有Linux系统中使用的外部设备,包括硬盘、软驱、串口等。在Linux系统中,设备被视为文件,用户可以通过访问这些文件来操作设备。
直接执行脚本文件:./USBDemo_Linux.sh
ldd命令,用于打印程序或共享库文件所依赖的共享库列表‌

SDK开发包内容如下:

命令行中,输入make,执行Makefile文件,执行后会列出执行过程,如下图所示:(※可以在Makefile文件中更改程式使之运行时不显示过程)
注意:如果执行失败,确认Makefile中编译链名字是否正确!

运行后,命令行输入两个小写L,即 ll 查看是否生成可执行文件,如下图:

命令行输入 ./Demo_linux-usb 执行此文件,出现如下图所示错误警告?!

提示:在载入共享库时,找不到libUSBSDK.so或其路径。原因是没有将动态库的路径添加到系统的动态库搜索路径中,可以通过 LD_LIBRARY_PATH 环境变量实现添加。

输入如下图所示命令

再次执行 ./Demo_linux-usb ,依旧提示错误?!

由上图可见,程序执行到打印出424后,出现了core崩溃。

因图执行的内容是来自主函数main.cpp ,所以用vim main.cpp命令查看程序执行到哪一步出现了问题?!

上图中,划红线部分应该都已经正常打印,于是怀疑???处为崩溃原因,没找到外设,可能缺少usb外设驱动。

于是用 ls /dev命令 查看系统外设,如下图所示,发现没有usb相关设备节点。

用 lsusb 命令查看usb端口信息PID和VID,如下图所示:

注:Vendor ID是由USB Implementers Forum颁发给厂商的唯一标识码,而Product ID则是由厂商自己定义的用于区分不同产品的标识码。【上图中0402为vendor ID,6000为product ID】

加载内核模块文件,命令如下
sudo modprobe usbserial vendor=0x0424 product=0x6000

再次用ls /dev查看内核外设节点,如下图所示,多了一个ttyUSB0

再次执行Demo_linux_usb程序,还是出错?

需要提升执行权限,使用命令  sudo chmod 777 /dev/ttyUSB0

然后查看执行结果,是否已经提升了可执行权限,用命令 ll /dev  【ll为两个小写L】结果如下图所示  ,具备了可读、可写和可执行的权限 :

再次执行 ./Demo_linux_usb ,终于正常!如下图所示

**************************************************************************************************************

附:SDK代码问题说明:
一、如果执行成功,但中途卡住如下图所示:

则需要检测下图文件中的MAX_DEVICE_NUM 值是否正确,如果为50则改为100,如下图

二、接口函数测试代码,要在连接函数之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值