circuitpython/ports
Andrew Leech 494bcad8ab stm32/mboot: Disable polling mode by default and use IRQ mode instead.
Polling mode will cause failures with the mass-erase command due to USB
timeouts, because the USB IRQs are not being serviced.  Swiching from
polling to IRQ mode fixes this because the USB IRQs can be serviced between
page erases.

Note that when the flash is being programmed or erased the MCU is halted
and cannot respond to USB IRQs, because mboot runs from flash, as opposed
to the built-in bootloader which is in system ROM.  But the maximum delay
in responding to an IRQ is the time taken to erase a single page, about
100ms for large pages, and that is short enough that the USB does not
timeout on the host side.

Recent tests have shown that in the current mboot code IRQ mode is pretty
much the same speed as polling mode (within timing error), code size is
slightly reduced in IRQ mode, and IRQ mode idles at about half of the power
consumption as polling mode.
2020-07-01 16:54:03 +10:00
..
bare-arm ports: Disable MICROPY_PY_ASSIGN_EXPR in bare-arm and minimal ports. 2020-06-16 22:06:21 +10:00
cc3200 stm32/irq: Clean up irq.h so it does not depend on core uPy defines. 2020-06-22 13:47:15 +10:00
esp32 esp32/esp32_rmt: Call rmt_driver_install before rmt_config. 2020-06-19 22:11:14 +10:00
esp8266 esp8266/esppwm: Fix PWM glitch when setting duty on different channel. 2020-05-27 16:15:28 +10:00
javascript all: Format code to add space after C++-style comment start. 2020-04-23 11:24:25 +10:00
mimxrt mimxrt/boards: Set __heap_size__ to 0 in MIMXRT1011.ld. 2020-06-10 22:49:26 +10:00
minimal ports: Disable MICROPY_PY_ASSIGN_EXPR in bare-arm and minimal ports. 2020-06-16 22:06:21 +10:00
nrf nrf/bluetooth: Use MP_ERROR_TEXT for all error messages. 2020-06-17 11:33:22 +10:00
pic16bit all: Format code to add space after C++-style comment start. 2020-04-23 11:24:25 +10:00
powerpc powerpc/uart: Choose which UART to use at build time, not runtime. 2020-05-29 22:54:55 +10:00
qemu-arm qemu-arm/Makefile: Add CFLAGS_EXTRA to CFLAGS. 2020-06-22 13:42:24 +10:00
samd all: Factor gchelper code to one place and use it for unix & ARM ports. 2020-04-29 23:45:19 +10:00
stm32 stm32/mboot: Disable polling mode by default and use IRQ mode instead. 2020-07-01 16:54:03 +10:00
teensy stm32/irq: Clean up irq.h so it does not depend on core uPy defines. 2020-06-22 13:47:15 +10:00
unix unix/btstack_usb: Allow choosing adaptor via environment variable. 2020-06-10 22:40:02 +10:00
windows windows: Make appveyor.yml self-contained. 2020-05-28 09:56:35 +10:00
zephyr zephyr/make-minimal: Disable FAT and LFS2 options to make it build. 2020-06-30 22:33:41 +10:00