ITI1480A usb协议分析器工具
项目描述
ITI1480A USB分析器的用户空间驱动程序和工具。
主页: http://github.com/vpelletier/ITI1480A-linux
免责声明
我与国际测试仪器公司没有任何关联。ITI友好地接受我开始反向工程他们仅适用于Windows的软件,这样我就可以使用我从他们那里购买的Linux。我没有任何形式的文档的优先访问权。
依赖关系
libusb 1.0
udev(应来自您的发行版)
固件
ITI1480A分析器由2个可编程芯片组成
Cypress FX2,在连接到分析计算机后第一次设备枚举时进行编程。其固件将分析计算机发送的命令传输到主分析芯片,并将捕获数据流回。
此芯片控制“主机电源”LED:如果固件正确加载,则此LED必须亮。
Altera Cyclone 2 FPGA,通过监听测试链路的事件产生数据,该数据存储在捕获文件中。其固件在每次捕获会话开始时加载。
此芯片控制“链路电源”和“链路活动”LED。
为了完整性,这里有一个小型闪存芯片,它仅包含电源开启的供应商和设备标识符,因此未编程的ITI1480A FX2仍可以从任何其他设备的FX2中区分开来。
FX2
存在该固件的免费软件实现,因此您有两个选择
或者使用来自1480A USB协议分析仪软件的专有固件,该软件在安装目录中以ITI1480A.spt的名称提供。
或者提供免费软件固件,预构建或从源代码。如果您想构建它,您需要
Cyclone 2
尚无免费软件实现(尚无)。欢迎贡献。
在此期间,您需要使用来自1480A USB协议分析仪软件的专有实现,该软件在安装目录中以ulpitest.rbf的名称提供。
4.1.0b ultitest.rbf(本写作时的最新版本)已作为独立版本发布。
安装
注意:路径和udev组适用于至少Debian。您可能需要编辑udev/ITI1480A.rules并适应以下路径。
python setup.py install cp udev/ITI1480A.rules /etc/udev/rules.d/ cp udev/ITI1480A.sh /lib/udev/ wget -O /lib/firmware/ITI1480A.rbf http://www.internationaltestinstruments.com/Downloads/UlpiTest.rbf
ITI的FX2固件
spt2hex /path/to/ITI1480A.spt cp ITI1480A_1.ihx /lib/firmware/ITI1480A.ihx
spt2hex可能会生成多个文件(ITI1480A_0.ihx,ITI1480A_1.ihx,……),使用编号最高的一个。
免费软件FX2固件
从源代码重新构建
FX2LIBDIR=/path_to/fx2lib/ make -C CY7C68013A
安装
cp CY7C68013A/build/ITI1480A.ihx /lib/firmware/
为了测试安装,(重新)插入您的协议分析仪。如果“主机电源”LED在几秒钟内亮起,您的FX2固件已成功安装并加载,您的分析仪已准备好使用。
用法
为了开始捕获
iti1480a-capture > captured.usb
发送信号SIGINT(^C)或SIGTERM停止捕获,等待分析仪将所有数据推送到主机并退出。
发送信号SIGTSTP(^Z)暂停分析仪,SIGCONT(fg)恢复。
为了获取先前捕获的友好文本转储
iti1480a-display -i captured.usb
为了不保存捕获的运行捕获
iti1480a-capture | iti1480a-display -f
为了监控运行捕获并将其保存以供以后分析
iti1480a-capture | iti1480a-display -ft captured.usb
默认情况下,iti1480a-display隐藏了许多冗长的事件,如NAK的SOF事务或EOP事件。您可以使用-q(更安静)和-v(更冗长)调整其过滤。默认冗长级别为0,-q减少它,-v增加它。冗长级别从-1(最安静)到4(最冗长)。
示例输出:https://github.com/vpelletier/ITI1480A-linux/tree/master/examples
红色时间戳表示输出被检测为非按时间顺序。这是由于实现细节原因造成的,被视为一个错误(问题 #4)。
项目详情
ITI1480A-linux-3.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3b590a028ff05182c92e8fca5f7137019121afa6c7a5bf5cbd1d995b409e2047 |
|
MD5 | 4b698d6d56cec59d48d6143cd0e90654 |
|
BLAKE2b-256 | 3f553378b0f9a74c228e711051da3f21e5cb4f63d39d25983e60e5ed43ef17a5 |