https://lists.berlios.de/pipermail/openocd-development/2010-October/016725.html Øyvind Harboe wrote on Tue Oct 19 2010, > As a start for debugging delay issues, type "help jtag_flush_queue_sleep". > > Plot the performance of 0, 10 and 100ms of an operation. It should allow > you to guestimate how much of the performance hit is due to long latencies."
Here are the results. Does this mean that "jtag interface latency does play a big part in performance"? 1ms latency does not play a big part here. But from 2ms onwards, the performance dropped significantly. Delay Flash write speed 0ms 17.544 KiB/s 1ms 17.370 KiB/s 2ms 10.304 KiB/s 5ms 6.457 KiB/s 10ms 3.916 KiB/s 100ms 0.487KiB/s (seems to take forever) Tested under Ubuntu 11.04, EK-LM3S1968 demo board, JtagKey2 (FT2232H based high speed USB interface). mcuee@Ubuntu:~/Desktop/build/openocd/lm3s1968$ openocd -f luminary_jtagkey2.cfg Open On-Chip Debugger 0.5.0-dev-00956-ge7269e3-dirty (2011-07-17-07:47) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' 500 kHz Info : max TCK change to: 30000 kHz Info : clock speed 500 kHz Info : JTAG tap: lm3s1968.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : lm3s1968.cpu: hardware has 6 breakpoints, 4 watchpoints Info : accepting 'telnet' connection from 4444 500 kHz cortex_m3 reset_config sysresetreq Info : JTAG tap: lm3s1968.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x0001e340 msp: 0x20000200 3000 kHz flash 'stellaris' found at 0x00000000 ... Open On-Chip Debugger > init > reset halt 500 kHz cortex_m3 reset_config sysresetreq JTAG tap: lm3s1968.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) target state: halted target halted due to debug-request, current mode: Thread xPSR: 0x01000000 pc: 0x0001e340 msp: 0x20000200 > jtag_khz 3000 3000 kHz > flash probe 0 flash 'stellaris' found at 0x00000000 > help jtag_flush_queue_sleep jtag_flush_queue_sleep [sleep in ms] For debug purposes(simulate long delays of interface) to test performance or change in behavior. Default 0ms. (command valid any time) > flash write_image erase demobig.bin auto erase enabled wrote 262144 bytes from file demobig.bin in 14.591845s (17.544 KiB/s) > jtag_flush_queue_sleep jtag_flush_queue_sleep [sleep in ms] in procedure 'jtag_flush_queue_sleep' > jtag_flush_queue_sleep 10 > flash probe 0 flash 'stellaris' found at 0x00000000 > flash write_image erase demobig.bin auto erase enabled wrote 262144 bytes from file demobig.bin in 65.373260s (3.916 KiB/s) > jtag_flush_queue_sleep 100 > flash write_image erase demobig.bin auto erase enabled wrote 262144 bytes from file demobig.bin in 525.208435s (0.487 KiB/s) > jtag_flush_queue_sleep 1 > flash write_image erase demobig.bin auto erase enabled wrote 262144 bytes from file demobig.bin in 14.737774s (17.370 KiB/s) > jtag_flush_queue_sleep 2 > flash write_image erase demobig.bin auto erase enabled wrote 262144 bytes from file demobig.bin in 24.845686s (10.304 KiB/s) > jtag_flush_queue_sleep 5 > flash write_image erase demobig.bin auto erase enabled wrote 262144 bytes from file demobig.bin in 39.648533s (6.457 KiB/s) -- Xiaofan _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development