diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2018-10-01 10:25:35 +0200 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2018-12-06 13:06:34 +0000 |
commit | 5babb634623d60dd8b39289de3ecf27910b0b86d (patch) | |
tree | 4ead12ad0cc3c72980c99d57524e020bf15d58a6 | |
parent | 6807e6b23deede9fb8e123f5275ff9b653c05ce3 (diff) | |
download | riscv-openocd-5babb634623d60dd8b39289de3ecf27910b0b86d.zip riscv-openocd-5babb634623d60dd8b39289de3ecf27910b0b86d.tar.gz riscv-openocd-5babb634623d60dd8b39289de3ecf27910b0b86d.tar.bz2 |
stlink: fix printed version for new STM8 nucleo board
The ST-LINK/V2.1 embedded in the new nucleo boards for STM8 does
not follow the normal versioning rules, and puts mass-storage and
swim version in the field normally used respectively for jtag and
mass-storage version.
Apply the check suggested by STMicroelectronics to discriminate
the two cases and print the correct version.
Change-Id: I0dd1da11013be3f1e56084489e28cfba98bb07af
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4716
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Tested-by: Spencer Oliver <spen@spen-soft.co.uk>
-rw-r--r-- | src/jtag/drivers/stlink_usb.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c index 5837393..ffe4d68 100644 --- a/src/jtag/drivers/stlink_usb.c +++ b/src/jtag/drivers/stlink_usb.c @@ -665,10 +665,17 @@ static int stlink_usb_version(void *handle) switch (h->pid) { case STLINK_V2_1_PID: case STLINK_V2_1_NO_MSD_PID: - /* JxMy : STM32 V2.1 - JTAG/SWD only */ - jtag = x; - msd = y; - swim = 0; + if ((x <= 22 && y == 7) || (x >= 25 && y >= 7 && y <= 12)) { + /* MxSy : STM8 V2.1 - SWIM only */ + msd = x; + swim = y; + jtag = 0; + } else { + /* JxMy : STM32 V2.1 - JTAG/SWD only */ + jtag = x; + msd = y; + swim = 0; + } break; default: jtag = x; |