micropython/ports
Damien George 0941a467e7 stm32: Change flash IRQ priority from 2 to 6 to prevent preemption.
The flash-IRQ handler is used to flush the storage cache, ie write
outstanding block data from RAM to flash.  This is triggered by a timeout,
or by a direct call to flush all storage caches.

Prior to this commit, a timeout could trigger the cache flushing to occur
during the execution of a read/write to external SPI flash storage.  In
such a case the storage subsystem would break down.

SPI storage transfers are already protected against USB IRQs, so by
changing the priority of the flash IRQ to that of the USB IRQ (what is
done in this commit) the SPI transfers can be protected against any
timeouts triggering a cache flush (the cache flush would be postponed until
after the transfer finished, but note that in the case of SPI writes the
timeout is rescheduled after the transfer finishes).

The handling of internal flash sync'ing needs to be changed to directly
call flash_bdev_irq_handler() sync may be called with the IRQ priority
already raised (eg when called from a USB MSC IRQ handler).
2018-09-12 15:46:04 +10:00
..
bare-arm ports/{bare-arm,minimal}/Makefile: Only build with core source files. 2018-02-22 12:48:51 +11:00
cc3200 cc3200/mods: Access dict map directly instead of using helper func. 2018-07-08 22:08:24 +10:00
esp32 esp32: Update to latest ESP IDF. 2018-08-14 16:45:37 +10:00
esp8266 esp8266/main: Increase heap by 2kb, now that axtls rodata is in ROM. 2018-09-08 00:09:03 +10:00
minimal minimal/main: Allow to compile without GC enabled. 2018-05-21 13:13:21 +10:00
nrf nrf/uart: Fix UART.writechar() to write just 1 byte. 2018-08-02 22:21:24 +02:00
pic16bit all: Update Makefiles and others to build with new ports/ dir layout. 2017-09-06 14:09:13 +10:00
qemu-arm qemu-arm/test_main: Include setjmp.h because it's used by gc_collect. 2017-12-20 15:42:06 +11:00
stm32 stm32: Change flash IRQ priority from 2 to 6 to prevent preemption. 2018-09-12 15:46:04 +10:00
teensy stm32/pin: In pin AF object, remove union of periph ptr types. 2018-04-11 16:14:58 +10:00
unix unix/Makefile: Build libffi inside $BUILD. 2018-09-10 11:34:46 +03:00
windows windows/msvc: Support custom compiler for header generation. 2018-08-14 15:07:19 +10:00
zephyr zephyr: Rename CONFIG_CONSOLE_PULL to CONFIG_CONSOLE_SUBSYS. 2018-06-27 15:33:59 +10:00