8000 rp2: Allow boards to override default enter_bootloader. · micropython/micropython@8b938b5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8b938b5

Browse files
committed
rp2: Allow boards to override default enter_bootloader.
1 parent 1d28299 commit 8b938b5

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

ports/rp2/modmachine.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,13 @@ STATIC mp_obj_t machine_reset_cause(void) {
7979
}
8080
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_cause_obj, machine_reset_cause);
8181

82-
STATIC mp_obj_t machine_bootloader(void) {
83-
reset_usb_boot(0, 0);
84-
return mp_const_none;
82+
STATIC NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
83+
MICROPY_BOARD_ENTER_BOOTLOADER(0, 0);
84+
while (1) {
85+
;
86+
}
8587
}
86-
MP_DEFINE_CONST_FUN_OBJ_0(machine_bootloader_obj, machine_bootloader);
88+
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
8789

8890
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
8991
if (n_args == 0) {

ports/rp2/mpconfigport.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,3 +259,7 @@ typedef intptr_t mp_off_t;
259259
#define MICROPY_FROZEN_LIST_ITEM(name, file) bi_decl(bi_string(BINARY_INFO_TAG_MICROPYTHON, BINARY_INFO_ID_MP_FROZEN, name))
260260

261261
extern uint32_t rosc_random_u32(void);
262+
263+
#ifndef MICROPY_BOARD_ENTER_BOOTLOADER
264+
#define MICROPY_BOARD_ENTER_BOOTLOADER reset_usb_boot
265+
#endif

0 commit comments

Comments
 (0)
0