Crazy idea - Embedded PC + USB debugging with QEMU - passing of only one USB interface to QEMU, or distributed libusb-driver

Dec 29, 2011 1 Replies

Hi,



I'm debugging a device with very strange setup - the FPGA is connected via FT3323H chip (interface A is used as asycnhronous FIFO to communicate with FPGA, interface B is used as JTAG to program/debug FPGA with ChipScope). Now I started to debug the embedded software, using the QEMU to emulate the embedded PC. However in this setup I should forward one interface of the FT2232 (A



- FIFO) to the QEMU, as iti is used to communicate with the FPGA, while the interface B should be still available for my host, to work with ChipScope via the driver published at

formatting link



Unfortunately this seems to be impossible, as even though my software running on QEMU uses only one interface of the FT2232, it needs access to the whole device. Is there any solution allowing me to make only a single interface of the USB device available for QEMU? Unfortunately I can't run the Xilinx cse_server on my embedded machine (neither the real one nor the emulated with QEMU - it is closed source, and requires libraries not available in buildroot :-( ). Another solution would be to split the driver libusb-driver into two parts. One working on host and communicating with impact/ChipScope, and the another one (coupled via TCP/IP) communicating with the FT2232 on the embedded PC/QEMU. Has anybody tried to make a "distributed version" of the libusb- driver?



-- TIA & Regards, Wojtek


My experience with the FT2232(H) is that drivers will typically want to own the whole chip. There is a single command queue inside the device and the individual channels have different commands (rather than different addresses).

I guess in theory you could write a driver that translated the commands and made an FT2232 look like two FT232, but I haven't seen this done.

Regards, Allan

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required