return ERROR_OK;
}
+static int stlink_usb_assert_srst(void *handle, int srst);
+
/** */
-static int stlink_usb_init_mode(void *handle)
+static int stlink_usb_init_mode(void *handle, bool connect_under_reset)
{
int res;
uint8_t mode;
return ERROR_FAIL;
}
+ if (connect_under_reset) {
+ res = stlink_usb_assert_srst(handle, 0);
+ if (res != ERROR_OK)
+ return res;
+ }
+
res = stlink_usb_mode_enter(handle, emode);
if (res != ERROR_OK)
h->jtag_api = api;
/* initialize the debug hardware */
- err = stlink_usb_init_mode(h);
+ err = stlink_usb_init_mode(h, param->connect_under_reset);
if (err != ERROR_OK) {
LOG_ERROR("init mode failed");