altos/stm: Allow use basepri instead of primask for masking interrupts
authorKeith Packard <keithp@keithp.com>
Sun, 20 Nov 2016 10:59:40 +0000 (02:59 -0800)
committerKeith Packard <keithp@keithp.com>
Mon, 20 Feb 2017 20:32:50 +0000 (12:32 -0800)
commit839eadbc8e5694842eb498c6e47cfbf08ba8fbf4
tree68d81c5df977993c91c823951dc826403fa75a8d
parent088ddbb177efc8be2fc467524dc1668553080d3b
altos/stm: Allow use basepri instead of primask for masking interrupts

This allows for high priority interrupts (priority 0) to run, even
when other interrupts are blocked. Code executing in such interrupt
handlers must not attempt to control task execution as that will race
with the scheduler.

Select this by defining AO_NONMASK_INTERRUPT in ao_pins.h.
non-maskable interrupt priority is AO_STM_NVIC_NONMASK_PRIORITY

Signed-off-by: Keith Packard <keithp@keithp.com>
src/stm/ao_arch.h
src/stm/ao_arch_funcs.h
src/stm/ao_usb_stm.c