On Mon, Jan 28, 2013 at 9:25 PM, Laurent Gauch <[email protected]> wrote: > Le 28.01.2013 13:19, Xiaofan Chen a écrit : >>> 1. It's said to be faster and it was faster than ft2232.c @ libftdi. I >>> don't have a comparison with ftdi.c though... >> I have done some comparisons last time when testing mpsse >> codes, mpsse is still faster than the default d2xx implenmentation >> as of now. > >> On the other hand, ft2232.c is not optimized for libftdi-1.0 >> and ftd2xx's asynchronous API. So the speed could >> be improved using ftd2xx's async API or libftdi-1.0's >> async API. > Asychronous io access is not the problem, the problem is how to > implement using it, in the goal to accelerate the JTAG and or SPI SWD > ... :-)
Yes I agree. > Also, we do not need true asynchronous io. Non-blocking fonction is not > so important here. But we have to think more about the access gestion -> > pipelining the access -> and let the host computer and the dongle as the > Amontec JTAGkey-2 to work as two prosess and not as one process, like now ! > >> I've seen one private ftd2xx mod which achieve similar >> speed to mpsse under Windows. > > Yes, with only 3 more lines of code in the ft2232.c we get the same > speed as the mpsse.c libusb based, and maybe faster when over the d2xx > kernel driver :-) Could you post the modification you make to ft2232.c? Thanks. > But for the story, we ( Amontec) have tried to come with these new code > lines long time ago .... we received only negative feedback since we > where working on the ft2232.c ;-( . Hmm, I do not know that. Maybe it is before I joined the mailing list. I have some interests in OpenOCD as a JTAG debugger and programmer but I mainly use OpenOCD as a test bed for libusb-win32, libusb/libusbx and libftdi. >>> 2. If one uses the adapter with some other tools that use ftd2xx driver >>> (99% of commercial tools) then there's no need to change the driver >>> every time you need to use the other program. Yes, I know about the >>> filter-driver, but not everyone uses it. >> >> The libusb-win32 filter driver will work for libftdi-0.x but not libftdi-1.x >> which depends on libusb-1.0/libusbx. libusb.org does not yet support >> libusb-win32 driver yet. libusbx 1.0.14 does support libusb-win32 >> device driver but there are issues with the filter driver so the filter >> driver will not work for FT2232x. >> >>> 3. Most adapter vendors don't bother to provide any other driver than >>> ftd2xx (sometimes even with a nice OpenOCD binary linked to ftd2xx.dll). >>> >>> The most important is the first one, so I'll have to browse the net >>> searching for such binary or maybe I'll try to compile myself and check... >> Yes it would be interesting to see how you come to. I tend to believe >> that mpsse will be faster than the stock ftd2xx code since ft2232.c >> does not fully use the potential of ftd2xx. >> > The ft2232.c has the advantage to include the layout specific things. > Tomek will say this is bad. Again, I will say this is good to have this > hardcoded for stability for the end users. In an other hand, the > excellent mpsse.c has a better use of buffers but it is too much libusb > specific - really bad point for mpsse.c actually. MPSSE (the engine) is > the protocol we use to remote JTAG SPI or SWD, the libusb must be seen > as the kernel driver to transport the MPSSE command sequence over USB. > The mpsse.c should be called mpsse-libusb.c as it is actually. I tend to agree with you here. Technically you should be able to use libftdi-1.0 or ftd2xx to replace libusb-1.0 to achieve similar mpsse-libftdi1 and mpsse-ftd2xx. -- Xiaofan ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
