说明
在升级的过程中,许多地方需要擦除Flash,为了增加Flash的使用寿命.
在擦除之前先判断下是不是需要擦除.
修改
打开 BootLoader程序的 stmflash.c文件
找到 FlashErasePage 函数
修改如下:
把原先的直接擦除屏蔽掉,然后加上判断擦除程序
代码语言:javascript复制 FlashStatus = FLASH_COMPLETE;
for(j=0;j<STM_SECTOR_SIZE;j =2)//ÅжϲÁ³ý
{
if(STMFLASH_ReadHalfWord(secpos*STM_SECTOR_SIZE STM32_FLASH_BASE j)!=0XFFFF)
{
FlashStatus = FLASH_ErasePage(secpos*STM_SECTOR_SIZE STM32_FLASH_BASE);//²Á³ýÕâ¸öÉÈÇø
break;
}
}
结语
其它型号的单片机请根据单片机提供的函数进行修改.