一、简介
目前正在做的项目的那部分是将SOC作为一个USB从设备,插到电脑上能被识别为U盘。当在SOC上安装好设备控制器的驱动之后,你需要检测你做的驱动是否符合规范。
测试的原理是这样的,在主机端有usbtest内核模块,他是一个专用于测试的usb主机上的设备驱动,该模块通过ioctl接口提供了各种测试类型,比如Simple non-queued bulk I/O tests,Queued bulk I/O tests等等,在主机端的应用层有一个程序及脚本(testusb.c and test.sh),用于触发各种测试。对应的在设备端,有各种gadget驱动配合测试,比如g_zero便是其中之一。这一套流程可以用来测试主机端及设备端的控制器驱动。http://www.linux-usb.org/usbtest/index.html(这里提供测试方法的介绍)。
这里我结合在全志A20板子上所作的测试来作一个介绍。