drivers/cmsis-dap: Correct the DAP protocol parameter parsing error
Fixes: 01030fb893
(drivers/cmsis-dap: tidy up buffer access)
Change-Id: Id192d3930a89980d641058b6444d12caec19ce6f
Signed-off-by: Hongbin Ji <longma@orbbec.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6954
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: jihongbin <jhb_ee@163.com>
This commit is contained in:
parent
12d1ad0c75
commit
66335683fe
|
@ -1405,18 +1405,18 @@ static void debug_parse_cmsis_buf(const uint8_t *cmd, int cmdlen)
|
|||
for (int i = 0; i < cmdlen; ++i)
|
||||
printf(" %02x", cmd[i]);
|
||||
printf("\n");
|
||||
switch (cmd[1]) {
|
||||
switch (cmd[0]) {
|
||||
case CMD_DAP_JTAG_SEQ: {
|
||||
printf("cmsis-dap jtag sequence command %02x (n=%d)\n", cmd[1], cmd[2]);
|
||||
printf("cmsis-dap jtag sequence command %02x (n=%d)\n", cmd[0], cmd[1]);
|
||||
/*
|
||||
* #2 = number of sequences
|
||||
* #3 = sequence info 1
|
||||
* #4...4+n_bytes-1 = sequence 1
|
||||
* #1 = number of sequences
|
||||
* #2 = sequence info 1
|
||||
* #3...4+n_bytes-1 = sequence 1
|
||||
* #4+n_bytes = sequence info 2
|
||||
* #5+n_bytes = sequence 2 (single bit)
|
||||
*/
|
||||
int pos = 3;
|
||||
for (int seq = 0; seq < cmd[2]; ++seq) {
|
||||
int pos = 2;
|
||||
for (int seq = 0; seq < cmd[1]; ++seq) {
|
||||
uint8_t info = cmd[pos++];
|
||||
int len = info & DAP_JTAG_SEQ_TCK;
|
||||
if (len == 0)
|
||||
|
|
Loading…
Reference in New Issue