X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstmf0%2Fao_arch.h;h=2597cadc735e8accb7285536d735386fa8069a76;hb=debian;hp=22e706b2a975bca6cdb24b210dfbfc56ac52bf32;hpb=b340cbf1403a5f5b181a215935f713a50da8e5e4;p=fw%2Faltos diff --git a/src/stmf0/ao_arch.h b/src/stmf0/ao_arch.h index 22e706b2..1450545a 100644 --- a/src/stmf0/ao_arch.h +++ b/src/stmf0/ao_arch.h @@ -32,11 +32,6 @@ #define AO_LED_TYPE uint16_t -#ifndef AO_TICK_TYPE -#define AO_TICK_TYPE uint16_t -#define AO_TICK_SIGNED int16_t -#endif - #define AO_PORT_TYPE uint16_t /* Various definitions to make GCC look more like SDCC */ @@ -46,9 +41,11 @@ #define __interrupt(n) #define __at(n) -#define ao_arch_reboot() \ - (stm_scb.aircr = ((STM_SCB_AIRCR_VECTKEY_KEY << STM_SCB_AIRCR_VECTKEY) | \ - (1 << STM_SCB_AIRCR_SYSRESETREQ))) +static inline void ao_arch_reboot(void) { + stm_flash.cr = (1 << STM_FLASH_CR_OBL_LAUNCH); + stm_scb.aircr = ((STM_SCB_AIRCR_VECTKEY_KEY << STM_SCB_AIRCR_VECTKEY) | + (1 << STM_SCB_AIRCR_SYSRESETREQ)); +} #define ao_arch_nop() asm("nop") @@ -58,16 +55,14 @@ * ao_romconfig.c */ -#define AO_ROMCONFIG_SYMBOL __attribute__((section(".romconfig"))) const +#define AO_ROMCONFIG_SYMBOL __attribute__((section(".init.1"))) const +#define AO_USBCONFIG_SYMBOL __attribute__((section(".init.2"))) const extern const uint16_t ao_romconfig_version; extern const uint16_t ao_romconfig_check; extern const uint16_t ao_serial_number; 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") @@ -127,7 +122,7 @@ void ao_lcd_font_string(char *s); extern const uint32_t ao_radio_cal; void -ao_adc_init(); +ao_adc_init(void); /* ADC maximum reported value */ #define AO_ADC_MAX 4095