Quote:
Originally Posted by knc1
...
It is hard to imagine that USB can't transfer 32 packets in even the 1/2 second minimum time setting.
|
There is some useful information about USB timing and latency here:
http://www.ftdichip.com/Support/Docu...atencyFlow.pdf
Of particular interest is this quote: "From this it can be seen that small amounts of data (or the end of large amounts of data), will be subject to a 16 millisecond delay when transferring into the PC."
When taken with the fact that the RAM kernel code only services the watchdog timer every 32 packets, 16msec*32 = 512msec (more than 1/2 second), and there can be additional delays if there are multiple USB devices such as a USB mouse, USB keyboard, or USB mass storage device (especially if the file being flashed is on USB storage).
It appears that my previous suggestion to service the watchdog every 8 packets (or perhaps even every packet) is absolutely required here.
Of course, I only skimmed that USB document, so it may be more complicated than what I suggested above.