技术标签: linux下usb调试工具
LinuxUSB驱动程序调试
:这是LinuxUSB驱动程序调试--003:Ubuntu下的准备工作的详细页面,介绍了和linux,有关的知识、技巧、经验,和一些linux源码等。
Ubuntu下的准备工作:
(1)如何查看内核中的printk输出: dmesg
再配合管道命令, dmesg |head , dmesg |tail
通过这个命令,我们可以看到内中的printk输出的内容,这是很有用的一个
工具。
(2)的USB抓包工具:usb_mon
其实,Ubuntu下已经内置了USB抓包工具---USB_MON
【其实 make menuconfig 时候会让我们选择的】
使用方法如下:
# mount -t debugfs none /sys/kernel/debug
# modprobe usbmon
查看当前的USB device:
# cat /sys/kernel/debug/usb/devices
下面的输出:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 12 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=601a ProdID=4740 Rev= 1.00
S: Manufacturer=Ingenic
S: Product=JZ4740 USB Boot Device
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=50 Driver=skeleton
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
如何看懂上面的输出? Documentation/usb/usbmon.txt
Bus=01 means it's bus 1.
通过上面的 Vendor=601a ProdID 可以找到我们设备的Bus号。
上面Bus=01。
使用下面的名利,就开始监听 Bus01上的全部USB数据包。
# cat /sys/kernel/debug/usb/usbmon/1u
要想开始监听 全部 Bus 上的全部USB数据包:
# cat /sys/kernel/debug/usb/usbmon/0u
一旦有数据包,就会打印出来:
# cat /sys/kernel/debug/usb/usbmon/1u
f07dbb80 3233986312 S Co:1:012:0 s 40 01 80c0 0000 0000 0
f07dbb80 3234327703 C Co:1:012:0 0 0
f07dbb80 3234327880 S Co:1:012:0 s 40 02 0000 0200 0000 0
f07dbb80 3234329561 C Co:1:012:0 0 0
f07dbb80 3234329625 S Bi:1:012:1 -115 32 <
f07dbb80 3234331550 C Bi:1:012:1 -75 32 = 00000000 00000000 。。。
读懂上面的数据,还是要看usbmon.txt
URB tag :标志
TimeStamp:毫秒数
Event Type: S - submission,
C - callback,
E - submission error.
URBType:BusNo:DeviceAddr:EndPointNum
Ci Co Control input and output
Zi Zo Isochronous input and output
Ii Io Interrupt input and output
Bi Bo Bulk input and output
URB Status: 0为没有错误。-XXX是错误码。
本课程将对Xilinx提供的一款IP核——AXI VDMA(Video Direct Memory Access) 进行详细讲解,为后续的学习和开发做好准备。内容安排如下:首先分析为什么要使用VDMA、VDMA的作用;然后详细介绍VDMA的特点、寄存器作空间; 最后阐述如何使用VDMA,包括IP核的配置方法、代码编写流程等。本章主要是理论学习,学习完本章,会对VDMA有全面的认识,有利于学
问题:C++友元函数的最简单案例本程序通过VC++ 6.0编译与测试,程序的目的是求两个点之间的中点坐标,具体代码如下://没有使用友元类,报错,错误分析见代码注释#include &lt;iostream&gt;using namespace std;class Point{public: Point(float a,float b):x(a),y(b){} void p...
java 按字节读写文件(Base64编码解码)最近在做项目时遇到这样一个需求:依次读取本地文件夹里所有文件的内容,转为JSON,发送到ActiveMQ的消息队列, 然后从MQ的消息队列上获取文件的信息,依次写到本地。常见的文件类型,比如.txt ,.png等文件的读写并不难。但是,我刚才所提到的需求,如果用常规的方法去读写,比如按字节读取文件内容,转为字符串,再转为JSON发送到MQ的队列,然后从
不少WIN10的小伙伴都已经升级了最新的edge浏览器,也都十分欢喜的试用了它的新的功能和界面,但也遇到过各种各样的小小问题不知如何解决。我遇到的就是edge无法储存百度账号的登录状态,导致每次重新打开edge浏览器时都需要重新重新登录百度账号。太讨厌了!造成这种情况的原因是,新版edge的隐私和服务功能太过强大,关闭浏览器会清除上次的网站跟踪,导致账号登录状态无法保存。经过不断摸索,通过以下步骤可以解决百度账号登录状态无法保存的问题。1. 打开浏览器设置①点击浏览器右上角”···“按钮;②点击
every blog every motto: you cannot change what you refuse to confront.0. 前言ENVI中修改头文件说明: 本文基于ENVI 5.31. 正文1.1 设置忽略值代开文件注: 这里数据已经好了,下方只是演示使用,主要针对图片周围是黑色的,改变成白色。Raster Management -> Edit ...
有这么一个对象c$: Observable<any> 修改里边的值:声明一个subject subject: Subject<any>;在ngOnInit()中进行初始化 this.subject = new BehaviorSubject<object>(CLOSE_OPTIONS);然后将subject赋值给Observable对象 this.c...
一:ros的系统架构 ros系统架构主要分为三个部分:文件系统级计算图级开源社区级1. 文件系统级功能包(package):是ROS中软件组织的基本形式,一个功能包具有最小的结构和最少的内容,用于创建ROS程序;--指的是一种特定的文件结构和文件夹组合功能包清单:manifests.xml 通过这个文件实现对功能包的管理;功能包集(stack):将几
项目用的是[email protected], [email protected] ,[email protected],ui框架那些就不说了首先下载electron-builder,这里建议使用cnpm挂淘宝镜像下载npm install -g cnpm --registry=https://registry.npm.taobao.org,先下载之后统一将整个node_module文件夹删除,用np...
由于存储空间不足,下线的数据库需要把存储空间腾出来,关闭集群资源,主机工程师收回lun需要(包括ocr 和 voting data 磁盘组),新的应用需要上线需要新的数据库,新的hitach存储到位需要重新安装数据库,上次删除gi 和database软件都在,这次只需要重新配置即可。参考How to Deconfigure/Reconfigure(Rebuild OCR) or Deinstall...
先启动pyspark第一篇博客有from pyspark import SparkContext,SparkConffrom pyspark.sql import SparkSessionspark = SparkSession.builder.config(conf=SparkConf()).getOrCreate()spark.read.text(“people.txt”)#读取文件创...
1【单选题】对网际控制协议(ICMP)描述错误的是( )A、ICMP封装在IP数据报的数据部分B、ICMP消息的传输是可靠的C、ICMP是IP协议的必需的一个部分D、ICMP可用来进行拥塞控制正确答案: B 我的答案:B得分: 16.6分2【单选题】对于ICMP协议的功能,说法错误的是( )A、差错纠正B、可探测某些网络节点的可达性...
近日,开了一门安卓的课程。老师给了一个压缩包,一打开,发现用不了。我的是win10的64位系统安装的JAVA也是64位的。他给的是32位的,无法运行。于是,一大波问题来了。那就从安装JAVA开始吧。首先,看一下你电脑是啥系统的,多少位的。是32位的就只能装32位的,是64位的,那么都可以装。怎么查看电脑是多少位的呢?选中我的电脑,右键属性。就在系统类型那里。java32位的下载地址ja...