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.
This commit is contained in:
		
							parent
							
								
									4b630c46fe
								
							
						
					
					
						commit
						720c676403
					
				
					 1 changed files with 5 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -161,9 +161,11 @@ FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) {
 | 
			
		|||
 * @retval None
 | 
			
		||||
 */
 | 
			
		||||
void FLASH_Unlock(void) {
 | 
			
		||||
    /* Authorize the FPEC Access */
 | 
			
		||||
    FLASH->KEYR = FLASH_KEY1;
 | 
			
		||||
    FLASH->KEYR = FLASH_KEY2;
 | 
			
		||||
    if (FLASH->CR & FLASH_CR_LOCK) {
 | 
			
		||||
        /* Authorize the FPEC Access */
 | 
			
		||||
        FLASH->KEYR = FLASH_KEY1;
 | 
			
		||||
        FLASH->KEYR = FLASH_KEY2;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue