rp2/modmachine: Allow boards to provide custom bootloader code.

And expose the machine_bootloader() C function so it can be used elsewhere.
pull/8756/head
iabdalkader 2022-04-27 11:11:24 +02:00 zatwierdzone przez Damien George
rodzic d8f5669532
commit f522aabab2
3 zmienionych plików z 10 dodań i 3 usunięć

Wyświetl plik

@ -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) {

Wyświetl plik

@ -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

Wyświetl plik

@ -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