summaryrefslogtreecommitdiff
path: root/src/stm32f4/ao_arch.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-09-11 18:53:15 -0700
committerKeith Packard <keithp@keithp.com>2018-10-13 08:23:25 -0700
commit44ae8b9317fa4aaccabbe9d07b5972f7dfd3baa2 (patch)
tree39997d0c99ff79dd3a0dd4286157e1c8ee45ddaa /src/stm32f4/ao_arch.h
parent32463323d888d2b36d4b993d82e2522e1b236299 (diff)
altos: Clean up AO_ROMCONFIG bits
Remove address parameter (doesn't work with gcc), create shared ao_romconfig in kernel. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stm32f4/ao_arch.h')
-rw-r--r--src/stm32f4/ao_arch.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/stm32f4/ao_arch.h b/src/stm32f4/ao_arch.h
index 083a4e5b..4e9bdeb6 100644
--- a/src/stm32f4/ao_arch.h
+++ b/src/stm32f4/ao_arch.h
@@ -26,8 +26,14 @@
#define AO_PORT_TYPE uint16_t
+#define ao_arch_reboot() \
+ (stm_scb.aircr = ((STM_SCB_AIRCR_VECTKEY_KEY << STM_SCB_AIRCR_VECTKEY) | \
+ (1 << STM_SCB_AIRCR_SYSRESETREQ)))
+
#define ao_arch_nop() asm("nop")
+#define AO_ROMCONFIG_SYMBOL __attribute__((section(".romconfig"))) const
+
#define ao_arch_task_members\
uint32_t *sp; /* saved stack pointer */