altos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align
[fw/altos] / src / stmf0 / stm32f0.h
index d528e492127657f4bf5de4d6d85e860e8fe8c05e..bafa763a10feedfaa3953db067bda9faf425a6da 100644 (file)
@@ -313,6 +313,15 @@ extern struct stm_rcc stm_rcc;
 
 #define STM_RCC_CFGR_MCO       (24)
 # define STM_RCC_CFGR_MCO_DISABLE      0
+# define STM_RCC_CFGR_MCO_RC           1
+# define STM_RCC_CFGR_MCO_LSI          2
+# define STM_RCC_CFGR_MCO_LSE          3
+# define STM_RCC_CFGR_MCO_SYSCLK       4
+# define STM_RCC_CFGR_MCO_HSI          5
+# define STM_RCC_CFGR_MCO_HSE          6
+# define STM_RCC_CFGR_MCO_PLLCLK       7
+# define STM_RCC_CFGR_MCO_HSI48                8
+# define STM_RCC_CFGR_MCO_MASK         (0xf)
 
 #define STM_RCC_CFGR_PLLMUL    (18)
 #define  STM_RCC_CFGR_PLLMUL_2         0
@@ -1987,7 +1996,7 @@ union stm_usb_bdt {
 
 #define STM_USB_BDT_SIZE       8
 
-extern uint8_t stm_usb_sram[];
+extern uint8_t stm_usb_sram[] __attribute__((aligned(4)));
 
 struct stm_exti {
        vuint32_t       imr;