projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/test: Fix ADC structure for mega, use ao_config.h
[fw/altos]
/
src
/
stm
/
ao_arch_funcs.h
diff --git
a/src/stm/ao_arch_funcs.h
b/src/stm/ao_arch_funcs.h
index 9bb2d7cd5d830c158bd0dbbeb01ec3a39b63d64c..b461cd3fbf81dd9f32dac82894ea96d7c5bdaad7 100644
(file)
--- a/
src/stm/ao_arch_funcs.h
+++ b/
src/stm/ao_arch_funcs.h
@@
-329,7
+329,7
@@
static inline void ao_arch_restore_stack(void) {
/* Restore APSR */
asm("pop {r0}");
/* Restore APSR */
asm("pop {r0}");
- asm("msr apsr,r0");
+ asm("msr apsr
_nczvq
,r0");
/* Restore general registers */
asm("pop {r0-r12,lr}\n");
/* Restore general registers */
asm("pop {r0-r12,lr}\n");
@@
-354,6
+354,7
@@
static inline void ao_arch_start_scheduler(void) {
asm("mrs %0,control" : "=&r" (control));
control |= (1 << 1);
asm("msr control,%0" : : "r" (control));
asm("mrs %0,control" : "=&r" (control));
control |= (1 << 1);
asm("msr control,%0" : : "r" (control));
+ asm("isb");
}
#endif
}
#endif