]> git.sur5r.net Git - openocd/commitdiff
stlink: increase trace buffer size to maximum allowed on st-link v2 firmware
authorAustin Morton <austinpmorton@gmail.com>
Wed, 29 Mar 2017 03:22:44 +0000 (23:22 -0400)
committerFreddie Chopin <freddie.chopin@gmail.com>
Sun, 23 Apr 2017 19:46:32 +0000 (20:46 +0100)
Increasing the trace buffer size on the st-link itself gives openocd a greater
chance of avoiding trace data overflowing within the st-link between polls
when there is a large amount of data being sent over the trace port

The st-link appears to split the given buffer size in half
while one half is awaiting transfer over USB, the other half is being
filled by DMA transfer.  If you do not poll frequently enough, the DMA
transfer will overflow back to the start of its current buffer, resulting in
corrupted output

Buffer size of 4096 bytes is the maximum allowed by the st-link v2

Change-Id: I169189b021c34f8d18de1601d78b8c5890367d68
Signed-off-by: Austin Morton <austinpmorton@gmail.com>
Reviewed-on: http://openocd.zylin.com/4085
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
src/jtag/drivers/stlink_usb.c

index 699c41fa3655d6719ceb826d1a6266c1da2adc37..0bdcd316b70df27c2b6b4345e1cdd875e3be659e 100644 (file)
@@ -216,7 +216,7 @@ struct stlink_usb_handle_s {
 #define STLINK_DEBUG_APIV2_DRIVE_NRST_HIGH  0x01
 #define STLINK_DEBUG_APIV2_DRIVE_NRST_PULSE 0x02
 
-#define STLINK_TRACE_SIZE               1024
+#define STLINK_TRACE_SIZE               4096
 #define STLINK_TRACE_MAX_HZ             2000000
 #define STLINK_TRACE_MIN_VERSION        13