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>
This commit is contained in:
parent
6807e6b23d
commit
5babb63462
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue