X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstm32f1%2Fstm32f1.h;h=ba6f4db3550bdfb92401d9bbe046441dcd09172a;hb=cea0f40fff14b9d2085e0026a68b742a4b114cb9;hp=b3b9773617459962b39bd29d53b8e42a2da7f17f;hpb=87b64a15f55ecb20a0f8bb2556e77b45a4d82b82;p=fw%2Faltos diff --git a/src/stm32f1/stm32f1.h b/src/stm32f1/stm32f1.h index b3b97736..ba6f4db3 100644 --- a/src/stm32f1/stm32f1.h +++ b/src/stm32f1/stm32f1.h @@ -355,6 +355,17 @@ extern struct stm_scb stm_scb; #define STM_SCB_AIRCR_VECTCLRACTIVE 1 #define STM_SCB_AIRCR_VECTRESET 0 +struct stm_dbgmcu { + uint32_t idcode; +}; + +extern struct stm_dbgmcu stm_dbgmcu; + +static inline uint16_t +stm_dev_id(void) { + return stm_dbgmcu.idcode & 0xfff; +} + struct stm_flash { vuint32_t acr; vuint32_t keyr; @@ -381,9 +392,25 @@ extern struct stm_flash stm_flash; #define STM_FLASH_ACR_LATENCY_1 1 #define STM_FLASH_ACR_LATENCY_2 2 +#define STM_FLASH_SR_EOP 5 +#define STM_FLASH_SR_WRPRTERR 4 +#define STM_FLASH_SR_PGERR 2 +#define STM_FLASH_SR_BSY 0 + +#define STM_FLASH_CR_EOPIE 12 +#define STM_FLASH_CR_ERRIE 10 +#define STM_FLASH_CR_OPTWRE 9 +#define STM_FLASH_CR_LOCK 7 +#define STM_FLASH_CR_STRT 6 +#define STM_FLASH_CR_OPTER 5 +#define STM_FLASH_CR_OPTPG 4 +#define STM_FLASH_CR_MER 2 +#define STM_FLASH_CR_PER 1 +#define STM_FLASH_CR_PG 0 + #define STM_FLASH_RDPRT_KEY 0x00A5 -#define STM_FLASH_KEY1 0x45670123 -#define STM_FLASH_KEY2 0xCDEF89AB +#define STM_FLASH_KEYR_KEY1 0x45670123 +#define STM_FLASH_KEYR_KEY2 0xCDEF89AB struct stm_flash_data {