Le 28.01.2013 13:19, Xiaofan Chen a écrit :
> On Mon, Jan 28, 2013 at 4:30 PM, Freddie Chopin<[email protected]>  wrote:
>> W dniu 2013-01-28 09:14, Peter Stuge pisze:
>>> Freddie Chopin wrote:
>>>> It must be stated that ft2232.c has at least two important
>>>> advantages over ftdi.c:
>>>> 1. it can use ftd2xx, which for some people IS important
>>> Why is it important?
>> I see at least these reasons:
>>
>> 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 
... :-)
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 :-)
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 ;-(  .
>> 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.

Laurent
  http://www.amontec.com



------------------------------------------------------------------------------
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

Reply via email to