projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/stm: Allow use basepri instead of primask for masking interrupts
[fw/altos]
/
src
/
stm
/
ao_arch.h
diff --git
a/src/stm/ao_arch.h
b/src/stm/ao_arch.h
index 3d09af3c8e27de12f9fa24ce3486c18d920a4dd6..5f033b66219e36719164e7864b8e4121977b8934 100644
(file)
--- a/
src/stm/ao_arch.h
+++ b/
src/stm/ao_arch.h
@@
-85,10
+85,6
@@
extern const uint32_t ao_radio_cal;
#define ao_arch_task_members\
uint32_t *sp; /* saved stack pointer */
#define ao_arch_task_members\
uint32_t *sp; /* saved stack pointer */
-#define ao_arch_block_interrupts() asm("cpsid i")
-#define ao_arch_release_interrupts() asm("cpsie i")
-
-
/*
* For now, we're running at a weird frequency
*/
/*
* For now, we're running at a weird frequency
*/
@@
-124,6
+120,15
@@
extern const uint32_t ao_radio_cal;
/* The stm32l implements only 4 bits of the priority fields */
/* The stm32l implements only 4 bits of the priority fields */
+#if AO_NONMASK_INTERRUPT
+#define AO_STM_NVIC_NONMASK_PRIORITY 0x00
+
+/* Set the basepri register to this value to mask all
+ * non-maskable priorities
+ */
+#define AO_STM_NVIC_BASEPRI_MASK 0x10
+#endif
+
#define AO_STM_NVIC_HIGH_PRIORITY 0x40
#define AO_STM_NVIC_MED_PRIORITY 0x80
#define AO_STM_NVIC_LOW_PRIORITY 0xC0
#define AO_STM_NVIC_HIGH_PRIORITY 0x40
#define AO_STM_NVIC_MED_PRIORITY 0x80
#define AO_STM_NVIC_LOW_PRIORITY 0xC0