flash_stm32: don't unlock flash if already unlocked (#13841)

On stm32f4 after reboot from DFU it was observed that the flash is
already unlocked. In that case, attempting to unlock it again causes a
data abort.
qmk_compile_improvements 0.13.29
xyzz 4 years ago committed by GitHub
parent 4b630c46fe
commit 720c676403
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      tmk_core/common/chibios/flash_stm32.c

@ -161,9 +161,11 @@ FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) {
* @retval None * @retval None
*/ */
void FLASH_Unlock(void) { void FLASH_Unlock(void) {
/* Authorize the FPEC Access */ if (FLASH->CR & FLASH_CR_LOCK) {
FLASH->KEYR = FLASH_KEY1; /* Authorize the FPEC Access */
FLASH->KEYR = FLASH_KEY2; FLASH->KEYR = FLASH_KEY1;
FLASH->KEYR = FLASH_KEY2;
}
} }
/** /**

Loading…
Cancel
Save