aboutsummaryrefslogtreecommitdiff
path: root/lib/stm32/f1/flash.c
diff options
context:
space:
mode:
authorPiotr Esden-Tempski2013-02-26 15:25:55 -0800
committerPiotr Esden-Tempski2013-02-26 15:25:55 -0800
commit5e7ec39440087cb507e3e1fc4c83fa8225733c80 (patch)
tree3ebcb5155ab7a2a5c342afa4e98aeda900574081 /lib/stm32/f1/flash.c
parentbc853e7ebddf0cbe9abce161afcb0c0ee02c2567 (diff)
FLASH: Make sure that the flash unlock register state is cleared before trying to unlock the flash.
Diffstat (limited to 'lib/stm32/f1/flash.c')
-rw-r--r--lib/stm32/f1/flash.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/stm32/f1/flash.c b/lib/stm32/f1/flash.c
index 49f182c..babfc45 100644
--- a/lib/stm32/f1/flash.c
+++ b/lib/stm32/f1/flash.c
@@ -52,6 +52,9 @@ void flash_set_ws(u32 ws)
void flash_unlock(void)
{
+ /* Clear the unlock state. */
+ FLASH_CR |= FLASH_CR_LOCK;
+
/* Authorize the FPEC access. */
FLASH_KEYR = FLASH_KEYR_KEY1;
FLASH_KEYR = FLASH_KEYR_KEY2;