Explorar o código

修复stm32l4系列flash在下载完程序后首次擦除会失败的问题

qinge %!s(int64=3) %!d(string=hai) anos
pai
achega
f89625acb6
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_l4.c

+ 1 - 1
bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_l4.c

@@ -233,7 +233,7 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size)
     HAL_FLASH_Unlock();
 
     /* Clear OPTVERR bit set on virgin samples */
-    __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR);
+    __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR | FLASH_FLAG_PGSERR);
     /* Get the 1st page to erase */
     FirstPage = GetPage(addr);
     /* Get the number of pages to erase from 1st page */