BLE_TYQ_CH584M/BSP/src/bsp_flash.c

51 lines
1.4 KiB
C
Raw Normal View History

2024-12-12 19:38:57 +08:00
/*
* @Author : stark1898y 1658608470@qq.com
* @Date : 2024-12-12 15:54:57
* @LastEditors : stark1898y 1658608470@qq.com
* @LastEditTime : 2024-12-12 16:47:22
* @FilePath : \BLE_TYQ_CH592F\BSP\src\bsp_flash.c
* @Description :
*
* Copyright (c) 2024 by yzy, All Rights Reserved.
*/
#include "bsp_flash.h"
#include "CONFIG.h"
#include "string.h"
#include "bsp_valve.h"
#undef LOG_ENABLE
#define LOG_ENABLE 1
#include "log.h"
void Flash_ErasePage_ReadCfgInfo(uint8_t *page_buf)
{
EEPROM_READ(FLASH_INFO_ADDR, page_buf, DATA_FLASH_PAGE_SIZE);
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE);
}
int Flash_Write_CfgInfo(uint8_t *page_buf)
{
EEPROM_WRITE(FLASH_INFO_ADDR, page_buf, DATA_FLASH_PAGE_SIZE);
return 0;
}
void BSP_FLASH_Init(void)
{
uint32_t flash_write_flag = 0;
EEPROM_READ(FLASH_INFO_WRITE_FLAG_ADDR, &flash_write_flag, FLASH_INFO_WRITE_FLAG_LEN);
// 判断是否需要初始化
if (flash_write_flag != FLASH_INFO_WRITE_FLAG_VAL) // 用以防止刷掉写入的数据
{
flash_write_flag = FLASH_INFO_WRITE_FLAG_VAL;
// 擦除数据
EEPROM_ERASE(FLASH_INFO_ADDR, DATA_FLASH_PAGE_SIZE); // 擦除待写区
EEPROM_WRITE(FLASH_INFO_WRITE_FLAG_ADDR, &flash_write_flag, FLASH_INFO_WRITE_FLAG_LEN);
logWarning("First Init flash_write_flag:%d", flash_write_flag);
}
logDebug("BSP_FLASH_Init");
}