EraseInitStruct.NbPages=((SECTOR_15_START_ADDR-SECTOR_9_START_ADDR)/0x100);/* Number of pages that need to be erased */
if(HAL_FLASHEx_Erase(&EraseInitStruct,&PAGEError)!=HAL_OK)/* Executing page erasure, PAGEError returns the page with the erasure error and 0xFFFFFFFF, indicating successful erasure */
{
;
}
else
{
;
}
/* Lock Flash */
HAL_FLASH_Lock();
}
voidxie_ce_shi(void)
{
uint32_tflash_program_start=SECTOR_9_START_ADDR;/* flash program start address */
uint32_tflash_program_end=(SECTOR_15_START_ADDR-1);/* flash program end address */
uint32_t*src=(uint32_t*)DATA;/* Program data */
HAL_FLASH_Unlock();
while(flash_program_start<flash_program_end)
{
if(HAL_FLASH_Program(FLASH_TYPEPROGRAM_PAGE,flash_program_start,src)==HAL_OK)/* Program */
{
flash_program_start+=FLASH_PAGE_SIZE;/* flash Start point first page */
src+=FLASH_PAGE_SIZE/4;/* Update data point */
}
}
HAL_FLASH_Lock();
}
/**
* @brief This function is executed in case of error occurrence.