Line 13... |
Line 13... |
0.1.0 090201 jb@orsoc.se
|
0.1.0 090201 jb@orsoc.se
|
0.1.1 090304 jb@orsoc.se
|
0.1.1 090304 jb@orsoc.se
|
0.1.2 090511 jb@orsoc.se
|
0.1.2 090511 jb@orsoc.se
|
0.1.3 090604 jb@orsoc.se
|
0.1.3 090604 jb@orsoc.se
|
0.1.4 090828 jb@orsoc.se
|
0.1.4 090828 jb@orsoc.se
|
|
0.1.5 090903 jb@orsoc.se
|
===============================================================================
|
===============================================================================
|
-- Installation --
|
-- Installation --
|
===============================================================================
|
===============================================================================
|
|
|
The OR debug proxy application runs on multiple platforms only requiring
|
The OR debug proxy application runs on multiple platforms only requiring
|
Line 323... |
Line 324... |
noticing that, over a 4-odd megabyte transfer from GDB, taking about 4
|
noticing that, over a 4-odd megabyte transfer from GDB, taking about 4
|
minutes, the proxy only executed for 2.5 seconds, and the three most
|
minutes, the proxy only executed for 2.5 seconds, and the three most
|
used functions, accounting for 50% of execution were functions in the
|
used functions, accounting for 50% of execution were functions in the
|
driver. This indicates that either better use of, or better
|
driver. This indicates that either better use of, or better
|
implementation of, the driver could dramatically increase speed.
|
implementation of, the driver could dramatically increase speed.
|
|
SOLVED: It appears increasing the packet size of the GDB transfers can
|
|
achieve a significant increase in speed. GDB queries the proxy at when
|
|
it connects about its maximum packet size. It was previously 255 bytes
|
|
and this meant larger downloads were "slow". Raising this transfer size
|
|
to around 4kB (4096 bytes) resulted in a throughput increase of almost
|
|
10-times. This is due to the fact that most of the transfer time is
|
|
spent on waiting for the driver - the overhead per call is significant
|
|
if only transferring 255 bytes, so increasing the amount per transfer
|
|
reduces the amount of time waiting for the driver to perform the trans-
|
|
action. Sizes greater than 4kB, for some reason, cause the driver to
|
|
have issues - resulting in incorrect CRC reading and bad Status returns
|
|
from the driver functions. Why this is so should be investigated.
|
* USB<->JTAG Driver TODO:
|
* USB<->JTAG Driver TODO:
|
Get the latest version of the MPSSE function code (from
|
Get the latest version of the MPSSE function code (from
|
http://ftdichip.com/Projects/MPSSE/FTCJTAG/FTCJTAG_Source.zip at last
|
http://ftdichip.com/Projects/MPSSE/FTCJTAG/FTCJTAG_Source.zip at last
|
check) and update our Linux compatible version with the ones here. This
|
check) and update our Linux compatible version with the ones here. This
|
might provide improved stability or performance, but from the list of
|
might provide improved stability or performance, but from the list of
|