diff options
author | Jörg Wunsch <openocd@uriah.heep.sax.de> | 2014-03-14 11:00:54 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2014-03-17 12:49:07 +0000 |
commit | 325066149fd03a0cdece9e2fd14d5b12f98d5f2e (patch) | |
tree | 332b69d5a039a465e5f4085e5ed39e111ac5d53a /src | |
parent | 0c7db47e58e5fe267219735630cd004b504e8535 (diff) |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/jtag/drivers/cmsis_dap_usb.c | 2 |
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 504b3d00..34f8f251 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); |