浏览代码

修改扇区计算错误的bug

JasonCang 3 年之前
父节点
当前提交
6dd8682fa8
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f7.c

+ 2 - 1
bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f7.c

@@ -8,6 +8,7 @@
  * 2018-12-5      SummerGift   first version
  * 2019-3-2       jinsheng     add Macro judgment
  * 2020-1-6       duminmin     support single bank mode
+ * 2021-8-11      CX           fix the sector calculation error bug
  */
 
 #include "board.h"
@@ -280,7 +281,7 @@ int stm32_flash_erase(rt_uint32_t addr, size_t size)
     /* Get the 1st sector to erase */
     FirstSector = GetSector(addr);
     /* Get the number of sector to erase from 1st sector*/
-    NbOfSectors = GetSector(addr + size) - FirstSector + 1;
+    NbOfSectors = GetSector(addr + size - 1) - FirstSector + 1;
     /* Fill EraseInit structure*/
     EraseInitStruct.TypeErase     = FLASH_TYPEERASE_SECTORS;
     EraseInitStruct.VoltageRange  = FLASH_VOLTAGE_RANGE_3;