rp2/modmachine: Allow boards to provide custom bootloader code.
And expose the machine_bootloader() C function so it can be used elsewhere.
This commit is contained in:
parent
d8f5669532
commit
f522aabab2
@ -81,11 +81,13 @@ STATIC mp_obj_t machine_reset_cause(void) {
|
||||
}
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_cause_obj, machine_reset_cause);
|
||||
|
||||
STATIC mp_obj_t machine_bootloader(void) {
|
||||
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
|
||||
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
|
||||
reset_usb_boot(0, 0);
|
||||
return mp_const_none;
|
||||
for (;;) {
|
||||
}
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_0(machine_bootloader_obj, machine_bootloader);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
|
||||
|
||||
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
|
||||
if (n_args == 0) {
|
||||
|
@ -18,5 +18,6 @@ void machine_pin_deinit(void);
|
||||
void machine_i2s_init0(void);
|
||||
|
||||
struct _machine_spi_obj_t *spi_from_mp_obj(mp_obj_t o);
|
||||
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
|
||||
|
||||
#endif // MICROPY_INCLUDED_RP2_MODMACHINE_H
|
||||
|
@ -130,6 +130,10 @@
|
||||
#define mp_type_textio mp_type_vfs_lfs2_textio
|
||||
#endif
|
||||
|
||||
#ifndef MICROPY_BOARD_ENTER_BOOTLOADER
|
||||
#define MICROPY_BOARD_ENTER_BOOTLOADER(nargs, args)
|
||||
#endif
|
||||
|
||||
#if MICROPY_PY_NETWORK
|
||||
#define NETWORK_ROOT_POINTERS mp_obj_list_t mod_network_nic_list;
|
||||
#else
|
||||
|
Loading…
x
Reference in New Issue
Block a user