mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-02-05 12:21:16 +00:00
legacy/bootloader: soft reset after firmware upload
originally submitted by @kedoubitcoin
This commit is contained in:
parent
3d91a0643d
commit
23ffc87236
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <libopencm3/stm32/flash.h>
|
#include <libopencm3/stm32/flash.h>
|
||||||
#include <libopencm3/usb/usbd.h>
|
#include <libopencm3/usb/usbd.h>
|
||||||
|
#include <vendor/libopencm3/include/libopencmsis/core_cm3.h>
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -415,9 +416,18 @@ static void rx_callback(usbd_device *dev, uint8_t ep) {
|
|||||||
|
|
||||||
flash_state = STATE_END;
|
flash_state = STATE_END;
|
||||||
if (hash_check_ok) {
|
if (hash_check_ok) {
|
||||||
show_unplug("New firmware", "successfully installed.");
|
|
||||||
send_msg_success(dev);
|
send_msg_success(dev);
|
||||||
shutdown();
|
__disable_irq();
|
||||||
|
// wait 3 seconds
|
||||||
|
char line[] = "will be restarted in _ s.";
|
||||||
|
for (int i = 3; i > 0; i--) {
|
||||||
|
line[21] = '0' + i;
|
||||||
|
layoutDialog(&bmp_icon_ok, NULL, NULL, NULL, "New firmware",
|
||||||
|
"successfully installed.", NULL, "Your Trezor", line,
|
||||||
|
NULL);
|
||||||
|
delay(30000 * 1000);
|
||||||
|
}
|
||||||
|
scb_reset_system();
|
||||||
} else {
|
} else {
|
||||||
layoutDialog(&bmp_icon_warning, NULL, NULL, NULL, "Firmware installation",
|
layoutDialog(&bmp_icon_warning, NULL, NULL, NULL, "Firmware installation",
|
||||||
"aborted.", NULL, "You need to repeat", "the procedure with",
|
"aborted.", NULL, "You need to repeat", "the procedure with",
|
||||||
|
@ -432,7 +432,7 @@ void usbPoll(void) {
|
|||||||
void usbReconnect(void) {
|
void usbReconnect(void) {
|
||||||
if (usbd_dev != NULL) {
|
if (usbd_dev != NULL) {
|
||||||
usbd_disconnect(usbd_dev, 1);
|
usbd_disconnect(usbd_dev, 1);
|
||||||
delay(1000);
|
delay(120000);
|
||||||
usbd_disconnect(usbd_dev, 0);
|
usbd_disconnect(usbd_dev, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user