为了自动化和testing目的,我必须模拟一个USB设备(在linux中)。 此设备的原始驱动程序/应用程序使用“libusb”与它通信。
我在linux和仿真方面没有太多的经验,经过一番search之后,我明白我需要在用户空间编写一个内核级驱动程序和一个应用程序来模拟这个设备。 这是正确的吗? 如果是,那怎么办?
提前致谢。
内核模块初始化和退出函数调用顺序错误
linux内核的linux参数sysctl列表及其解释
linux内核中的页面交换
insmod模块时模块valIDation失败
sys_readlink失败EFAulT – 替代
linux内核代码覆盖率 – GCOV
调度程序中的sched_featmacros是什么意思
在linux中,为了在内核中实现一些东西,为什么我们还需要更改用户空间头文件?
linux内核:copy_from_user – 带指针的结构
如何在linux内核中recursion读取目录的内容?
最后通过修改“libusb”来实现它,修改它从消息队列而不是usbfs发送和接收usb传输。 编程我的模拟器来创建libsub类型的传输,并使用消息队列发送/接收它们。
模拟器现在解释传入的传输并将其发送到命令解析器,命令解析器使用特定格式的套接字向自动化系统发送请求/消息。 自动化系统通过使用套接字发送给命令解析器来发送它的指令。 这个套接字调用模拟器中每个请求所特有的方法,现在模拟器形成一个合适的传输结构,并通过消息队列传递给设备插件(通过libusb)。
我想你正在寻找什么将被称为虚拟USB设备。 目前在标准内核中没有任何东西。有些虚拟机提供USB仿真。例如KVM提供USB仿真。 有框架小工具可能会寻找您的解决方案。 或者在linux USB项目中找到一些东西
谢谢,Abhijeet
如果您希望设备以与真实硬件相同的方式呈现给内核,则可以使用usb-vhci项目。
总结以上是内存溢出为你收集整理的模拟USB设备的自动化全部内容,希望文章能够帮你解决模拟USB设备的自动化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)