20230731_XiaoFuZi_emb/ZheDaXiaoFuZiBoot/Src/Usr/Bsp/McuBspFlash.c
Rjh913828050 a8560d741e 类型:重构
内容:重新整理项目文件分类
人员:任家豪
2023-10-08 16:10:23 +08:00

36 lines
956 B
C

#include "McuBspFlash.h"
#include "stm32f1xx_hal.h"
/* 插除函数 */
int8_t McuBspFlashErase(uint32_t StartPageAddress, uint32_t NumbPage)
{
uint32_t PAGEError = 0;
FLASH_EraseInitTypeDef EraseInitStruct;
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;
EraseInitStruct.PageAddress = StartPageAddress;
EraseInitStruct.NbPages = NumbPage;
if (StartPageAddress + (NumbPage - 1) * FLASH_PAGE_SIZE > ADDR_FLASH_PAGE_255) {
return -1;
}
HAL_FLASH_Unlock();
if (HAL_FLASHEx_Erase(&EraseInitStruct, &PAGEError) != HAL_OK) {
HAL_FLASH_Lock();
return -1;
}
HAL_FLASH_Lock();
return 0;
}
/* 写入数据 */
int8_t McuBspFlashWrite64(uint32_t StartPageAddress, uint64_t data)
{
HAL_FLASH_Unlock();
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, StartPageAddress, data) == HAL_OK) {
HAL_FLASH_Lock();
return 0;
}
HAL_FLASH_Lock();
return -1;
}