Files
player/Project/Src/MyApp/flash_manager.h
2025-07-05 19:47:28 +08:00

83 lines
1.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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);
//获取FLASH容量
u32 FLASH_GetFlashSize (void);
//校验后擦除
int FLASH_CheckErase (u32 addr,u32 size);
//循环写入,必须在擦除之后才能写入
int FLASH_LoopWrite (u32 addr,u32 size ,int (*pGetData)(u8 *buff,u32 size));
//添加新文件
int FLASH_AddFile (char *fileName,u32 address,u32 fileSize);
//读取指定文件,返回成功读取的大小
int FLASH_ReadFile (char *fileName,u32 offset,u8 *recvBuff,u32 readLength);
//查找是否有同名文件有返回0
u32 FLASH_FindFile (char *fileName,u32 *size);
//返回FLASH已经使用了多少存储空间
//此返回值可直接用于新文件的存储地址
u32 FLASH_GetUsed (void);
//返回FLASH中存储的文件数目
int FLASH_GetFileNum (void);
//获取指定索引的文件信息返回0成功
int FLASH_GetFileInfo (int index,FLASH_FileStruct *file);
//删除指定索引之后的所有文件
int FLASH_DeleteFile (int index);
//保存文件
int FLASH_SaveFile (char *FileName,u8 *data,u32 size);
#endif