diff --git a/include/libopencm3/stm32/common/flash_common_f24.h b/include/libopencm3/stm32/common/flash_common_f24.h index 79b1d248..c33d2dba 100644 --- a/include/libopencm3/stm32/common/flash_common_f24.h +++ b/include/libopencm3/stm32/common/flash_common_f24.h @@ -76,10 +76,12 @@ #define FLASH_CR_PG (1 << 0) #define FLASH_CR_SNB_SHIFT 3 #define FLASH_CR_SNB_MASK 0x1f -#define FLASH_CR_PROGRAM_X8 (0x00 << 8) -#define FLASH_CR_PROGRAM_X16 (0x01 << 8) -#define FLASH_CR_PROGRAM_X32 (0x02 << 8) -#define FLASH_CR_PROGRAM_X64 (0x03 << 8) +#define FLASH_CR_PROGRAM_MASK 0x3 +#define FLASH_CR_PROGRAM_SHIFT 8 +#define FLASH_CR_PROGRAM_X8 0 +#define FLASH_CR_PROGRAM_X16 1 +#define FLASH_CR_PROGRAM_X32 2 +#define FLASH_CR_PROGRAM_X64 3 /* --- FLASH_OPTCR values -------------------------------------------------- */ diff --git a/lib/stm32/common/flash_common_f24.c b/lib/stm32/common/flash_common_f24.c index 29f2b9e1..7d1ad373 100644 --- a/lib/stm32/common/flash_common_f24.c +++ b/lib/stm32/common/flash_common_f24.c @@ -38,8 +38,8 @@ programming manual for more information. static inline void flash_set_program_size(uint32_t psize) { - FLASH_CR &= ~(((1 << 0) | (1 << 1)) << 8); - FLASH_CR |= psize; + FLASH_CR &= ~(FLASH_CR_PROGRAM_MASK << FLASH_CR_PROGRAM_SHIFT); + FLASH_CR |= psize << FLASH_CR_PROGRAM_SHIFT; } /*---------------------------------------------------------------------------*/