aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2018-10-01 10:25:35 +0200
committerSpencer Oliver <spen@spen-soft.co.uk>2018-12-06 13:06:34 +0000
commit5babb634623d60dd8b39289de3ecf27910b0b86d (patch)
tree4ead12ad0cc3c72980c99d57524e020bf15d58a6
parent6807e6b23deede9fb8e123f5275ff9b653c05ce3 (diff)
downloadriscv-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.c15
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;