stmhal: Activate bootloader with pyb.bootloader()
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
This commit is contained in:
parent
5cdff5fa61
commit
7ae8e4b679
|
@ -62,6 +62,21 @@
|
||||||
///
|
///
|
||||||
/// The `pyb` module contains specific functions related to the pyboard.
|
/// The `pyb` module contains specific functions related to the pyboard.
|
||||||
|
|
||||||
|
/// \function bootloader()
|
||||||
|
/// Activate the bootloader without BOOT* pins.
|
||||||
|
STATIC NORETURN mp_obj_t pyb_bootloader(uint n_args, const mp_obj_t *args) {
|
||||||
|
storage_flush();
|
||||||
|
|
||||||
|
HAL_RCC_DeInit();
|
||||||
|
HAL_DeInit();
|
||||||
|
|
||||||
|
__set_MSP(*((uint32_t*) 0x1fff0000));
|
||||||
|
((void (*)(void)) *((uint32_t*) 0x1fff0004))();
|
||||||
|
|
||||||
|
while (1);
|
||||||
|
}
|
||||||
|
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(pyb_bootloader_obj, 0, 1, pyb_bootloader);
|
||||||
|
|
||||||
/// \function info([dump_alloc_table])
|
/// \function info([dump_alloc_table])
|
||||||
/// Print out lots of information about the board.
|
/// Print out lots of information about the board.
|
||||||
STATIC mp_obj_t pyb_info(uint n_args, const mp_obj_t *args) {
|
STATIC mp_obj_t pyb_info(uint n_args, const mp_obj_t *args) {
|
||||||
|
@ -302,6 +317,7 @@ MP_DECLARE_CONST_FUN_OBJ(pyb_usb_mode_obj); // defined in main.c
|
||||||
STATIC const mp_map_elem_t pyb_module_globals_table[] = {
|
STATIC const mp_map_elem_t pyb_module_globals_table[] = {
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_pyb) },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_pyb) },
|
||||||
|
|
||||||
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_bootloader), (mp_obj_t)&pyb_bootloader_obj },
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_info), (mp_obj_t)&pyb_info_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_info), (mp_obj_t)&pyb_info_obj },
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_unique_id), (mp_obj_t)&pyb_unique_id_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_unique_id), (mp_obj_t)&pyb_unique_id_obj },
|
||||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_freq), (mp_obj_t)&pyb_freq_obj },
|
{ MP_OBJ_NEW_QSTR(MP_QSTR_freq), (mp_obj_t)&pyb_freq_obj },
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
Q(help)
|
Q(help)
|
||||||
Q(pyb)
|
Q(pyb)
|
||||||
Q(unique_id)
|
Q(unique_id)
|
||||||
|
Q(bootloader)
|
||||||
Q(info)
|
Q(info)
|
||||||
Q(sd_test)
|
Q(sd_test)
|
||||||
Q(present)
|
Q(present)
|
||||||
|
|
Loading…
Reference in New Issue