altos: profiling on STM32L
[fw/altos] / src / stm / ao_arch.h
index d0dd3c7976d432a32557399c5fb6b36e4c38c6a2..f2de719c6c3c63346ddebd0037aa1a1fcfcc568a 100644 (file)
@@ -31,6 +31,7 @@
 
 #ifndef AO_TICK_TYPE
 #define AO_TICK_TYPE   uint16_t
+#define AO_TICK_SIGNED int16_t
 #endif
 
 /* Various definitions to make GCC look more like SDCC */
@@ -142,7 +143,7 @@ extern const uint32_t ao_radio_cal;
 
 
 #define ao_arch_cpu_idle() do {                        \
-               asm("wfi");             \
+               asm(".global ao_idle_loc\n\twfi\nao_idle_loc:");        \
        } while (0)
 
 #define ao_arch_restore_stack() do { \