diff --git a/src/platforms/hosted/platform.c b/src/platforms/hosted/platform.c index e5bd906..dd46589 100644 --- a/src/platforms/hosted/platform.c +++ b/src/platforms/hosted/platform.c @@ -161,9 +161,13 @@ static int find_debuggers( BMP_CL_OPTIONS_t *cl_opts,bmp_info_t *info) } /* Either serial and/or ident_string match or are not given. * Check type.*/ - if ((desc.idVendor == VENDOR_ID_BMP) && - (desc.idProduct == PRODUCT_ID_BMP)) { - type = BMP_TYPE_BMP; + if (desc.idVendor == VENDOR_ID_BMP) { + if (desc.idProduct == PRODUCT_ID_BMP) { + type = BMP_TYPE_BMP; + } else if (desc.idProduct == PRODUCT_ID_BMP_BL) { + DEBUG_WARN("BMP in botloader mode found. Restart or reflash!\n"); + continue; + } } else if ((strstr(manufacturer, "CMSIS")) || (strstr(product, "CMSIS"))) { type = BMP_TYPE_CMSIS_DAP; } else if (desc.idVendor == VENDOR_ID_STLINK) { diff --git a/src/platforms/hosted/platform.h b/src/platforms/hosted/platform.h index e36d7b9..edbc16d 100644 --- a/src/platforms/hosted/platform.h +++ b/src/platforms/hosted/platform.h @@ -15,6 +15,7 @@ void platform_buffer_flush(void); #define SET_RUN_STATE(x) #define VENDOR_ID_BMP 0x1d50 +#define PRODUCT_ID_BMP_BL 0x6017 #define PRODUCT_ID_BMP 0x6018 typedef enum bmp_type_s {