]> git.gag.com Git - fw/openocd/commitdiff
jlink: Use correct SWD buffer size
authorMarc Schink <openocd-dev@marcschink.de>
Tue, 29 Jan 2019 08:23:09 +0000 (09:23 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Thu, 7 Feb 2019 19:32:41 +0000 (19:32 +0000)
Currently, the SWD buffer size is adjusted corresponding to the free
device memory. However, the adjusted size is not used.

This fixes SWD operations on devices with small device memory, such as
EFM32PG12 Pearl Gecko STK. It should also fix #184.

Change-Id: I2ec5cf25c62f18bd9e99a2f4aa1aa8d85ed0821b
Signed-off-by: Marc Schink <openocd-dev@marcschink.de>
Reviewed-on: http://openocd.zylin.com/4878
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Tested-by: jenkins
src/jtag/drivers/jlink.c

index e74965e61f6f409b66c635c8eb5c205c7c5085d3..1eae827340d1e180693eab3d6c18bc61a5408a65 100644 (file)
@@ -2130,7 +2130,7 @@ skip:
 static void jlink_swd_queue_cmd(uint8_t cmd, uint32_t *dst, uint32_t data, uint32_t ap_delay_clk)
 {
        uint8_t data_parity_trn[DIV_ROUND_UP(32 + 1, 8)];
-       if (tap_length + 46 + 8 + ap_delay_clk >= sizeof(tdi_buffer) * 8 ||
+       if (tap_length + 46 + 8 + ap_delay_clk >= swd_buffer_size * 8 ||
            pending_scan_results_length == MAX_PENDING_SCAN_RESULTS) {
                /* Not enough room in the queue. Run the queue. */
                queued_retval = jlink_swd_run_queue();