aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Wunsch <openocd@uriah.heep.sax.de>2014-03-14 11:00:54 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2014-03-17 12:49:07 +0000
commit325066149fd03a0cdece9e2fd14d5b12f98d5f2e (patch)
tree332b69d5a039a465e5f4085e5ed39e111ac5d53a
parent0c7db47e58e5fe267219735630cd004b504e8535 (diff)
downloadriscv-openocd-325066149fd03a0cdece9e2fd14d5b12f98d5f2e.zip
riscv-openocd-325066149fd03a0cdece9e2fd14d5b12f98d5f2e.tar.gz
riscv-openocd-325066149fd03a0cdece9e2fd14d5b12f98d5f2e.tar.bz2
All Atmel-provided CMSIS-DAP devices use 512 byte packet size
The existing CMSIS-DAP driver matches the USB VID/PID against 0x3eb (Atmel VID) and 0x2111 (Atmel EDBG embedded CMSIS-DAP debugger), and then bumps the packet size from its default of 64 to 512. However, it turned out that *all* Atmel-provided CMSIS-DAP devices (EDBG with PID 0x2111; JTAGICE3 with firmware version 3.x, PID 0x2140; new Atmel-ICE [successor of JTAGICE3], PID 0x2141) require a 512-byte packet size. Obviously, all run the same USB implementation inside their custom microcontroller. Thus, it seems best to simply assume that *all* Atmel CMSIS-DAP devices use this packet size, and don't check the PID at all. This has also been filed as Trac bug #68: https://sourceforge.net/apps/trac/openocd/ticket/68 Change-Id: I942af93060fdf265fca3961841638caa6182f877 Signed-off-by: Jörg Wunsch <openocd@uriah.heep.sax.de> Reviewed-on: http://openocd.zylin.com/2045 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com>
-rw-r--r--src/jtag/drivers/cmsis_dap_usb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jtag/drivers/cmsis_dap_usb.c b/src/jtag/drivers/cmsis_dap_usb.c
index 504b3d0..34f8f25 100644
--- a/src/jtag/drivers/cmsis_dap_usb.c
+++ b/src/jtag/drivers/cmsis_dap_usb.c
@@ -232,7 +232,7 @@ static int cmsis_dap_usb_open(void)
int packet_size = PACKET_SIZE;
/* atmel cmsis-dap uses 512 byte reports */
- if (target_vid == 0x03eb && target_pid == 0x2111)
+ if (target_vid == 0x03eb)
packet_size = 512 + 1;
cmsis_dap_handle->packet_buffer = malloc(packet_size);