mirror of
https://github.com/licsber/micropython.git
synced 2024-09-20 09:00:23 +08:00
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_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);
|
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) {
|
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
|
||||||
if (n_args == 0) {
|
if (n_args == 0) {
|
||||||
|
@ -18,5 +18,6 @@ void machine_pin_deinit(void);
|
|||||||
void machine_i2s_init0(void);
|
void machine_i2s_init0(void);
|
||||||
|
|
||||||
struct _machine_spi_obj_t *spi_from_mp_obj(mp_obj_t o);
|
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
|
#endif // MICROPY_INCLUDED_RP2_MODMACHINE_H
|
||||||
|
@ -130,6 +130,10 @@
|
|||||||
#define mp_type_textio mp_type_vfs_lfs2_textio
|
#define mp_type_textio mp_type_vfs_lfs2_textio
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef MICROPY_BOARD_ENTER_BOOTLOADER
|
||||||
|
#define MICROPY_BOARD_ENTER_BOOTLOADER(nargs, args)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if MICROPY_PY_NETWORK
|
#if MICROPY_PY_NETWORK
|
||||||
#define NETWORK_ROOT_POINTERS mp_obj_list_t mod_network_nic_list;
|
#define NETWORK_ROOT_POINTERS mp_obj_list_t mod_network_nic_list;
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user