altos/stm: Use basepri instead of primask for controlling interrupts
[fw/altos] / src / stm / ao_arch.h
index 42fe727a84139d0ff47351681c868f81240ab435..1527014ab46e22999a486caab25f299a4f1ce57b 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,7 +26,9 @@
  * STM32L definitions and code fragments for AltOS
  */
 
+#ifndef AO_STACK_SIZE
 #define AO_STACK_SIZE  512
+#endif
 
 #define AO_LED_TYPE    uint16_t
 
@@ -82,9 +85,6 @@ extern const uint32_t ao_radio_cal;
 #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
@@ -135,8 +135,12 @@ extern const uint32_t      ao_radio_cal;
 void
 ao_adc_init();
 
+/* ADC maximum reported value */
+#define AO_ADC_MAX                     4095
+
 #define AO_BOOT_APPLICATION_BASE       ((uint32_t *) 0x08001000)
-#define AO_BOOT_LOADER_BASE            ((uint32_t *) 0x0)
+#define AO_BOOT_APPLICATION_BOUND      ((uint32_t *) (0x08000000 + stm_flash_size()))
+#define AO_BOOT_LOADER_BASE            ((uint32_t *) 0x08000000)
 #define HAS_BOOT_LOADER                        1
 
 #endif /* _AO_ARCH_H_ */