2025-06-27 00:32:57 +08:00
|
|
|
|
#ifndef FLASH_MANAGER_H__
|
|
|
|
|
#define FLASH_MANAGER_H__
|
|
|
|
|
|
|
|
|
|
#include "base.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
char FileName[32];
|
|
|
|
|
u32 Address;
|
|
|
|
|
u32 FileSize;
|
|
|
|
|
}FLASH_FileStruct;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
{
|
|
|
|
|
int FileNumber;
|
|
|
|
|
FLASH_FileStruct File[10];
|
|
|
|
|
} FLASH_HeaderStruct;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int FLASH_ReadData (uint8_t* pBuffer, uint32_t ReadAddr , uint32_t NumByteToRead );
|
|
|
|
|
|
|
|
|
|
int FLASH_WriteData (uint8_t* pBuffer, uint32_t WriteAddr, uint32_t NumByteToWrite);
|
|
|
|
|
|
|
|
|
|
int FLASH_EraseOneSector (uint32_t SectorAddr);
|
|
|
|
|
|
|
|
|
|
int FLASH_EraseAllSector (void);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><>ȡFLASH<53><48><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
u32 FLASH_GetFlashSize (void);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//У<><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_CheckErase (u32 addr,u32 size);
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//ѭ<><D1AD>д<EFBFBD><D0B4>,<2C><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_LoopWrite (u32 addr,u32 size ,int (*pGetData)(u8 *buff,u32 size));
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_AddFile (char *fileName,u32 address,u32 fileSize);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><>ȡָ<C8A1><D6B8><EFBFBD>ļ<EFBFBD>,<2C><><EFBFBD>سɹ<D8B3><C9B9><EFBFBD>ȡ<EFBFBD>Ĵ<EFBFBD>С
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_ReadFile (char *fileName,u32 offset,u8 *recvBuff,u32 readLength);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD>0
|
2025-06-27 00:32:57 +08:00
|
|
|
|
u32 FLASH_FindFile (char *fileName,u32 *size);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD>FLASH<53>Ѿ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>˶<EFBFBD><CBB6>ٴ洢<D9B4>ռ<EFBFBD>
|
|
|
|
|
//<2F>˷<EFBFBD><CBB7><EFBFBD>ֵ<EFBFBD><D6B5>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>Ĵ洢<C4B4><E6B4A2>ַ
|
2025-06-27 00:32:57 +08:00
|
|
|
|
u32 FLASH_GetUsed (void);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD>FLASH<53>д洢<D0B4><E6B4A2><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ŀ
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_GetFileNum (void);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD>ɹ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_GetFileInfo (int index,FLASH_FileStruct *file);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//ɾ<><C9BE>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_DeleteFile (int index);
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
int FLASH_SaveFile (char *FileName,u8 *data,u32 size);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|