📄 fs_api.h
字号:
/*
$Log: fs_api.h,v $
Revision 1.6 2008/01/25 12:42:23 Fangzhenfu
1、针对SD卡检测做修改.
2、修改 FS_fcopy() 的 bug.
Revision 1.5 2007/12/12 02:39:04 Fangzhenfu
文件系统更新! FLASH 底层更新!
Revision 1.4 2007/11/07 07:25:50 Fangzhenfu
USB 提速(小文件提速,目前速度写 3M 左右,读 6.5M左右, 4K PAGE FLASH 可到 5M,8M),
文件系统修改!
加入 FLASH 访问时序 API ! 见 flash_dev.h 中
FlashTimingCfg(uint32 Freq) Freq 为总线频率---打包
第一次调用 FlashTimingCfg()时请在 FS_Init() 之后调用,其它在总线频率变化时调用!
Revision 1.3 2007/10/25 07:52:44 Fangzhenfu
USB 模块 OS 嵌入!初次上传!
请将 修改板子 上的 VBUS 的连接方式!
每个盘的 盘符 请根据需要自行修改(每个设备的 dec.c中)!
如下:
const FS_DEVICE_TYPE FS_SdmmcDevice={
"C:\",
SdmmcGetStatus,
SdmmcReadSec,
SdmmcWriteSec,
SdmmcIoCtl,
SdmmcMediumInit,
&SdFatCache,
&SdFdtCache,
&SdDataCache
};
别外请将 FLASH 的写保护直接上拉,否则写不了FLASH!
初次使用时请将 SD 卡设置为 C 盘,系统从SD启动后将 FLASH 格式
化后,COPY 所需的 资源文件 到 FLASH 中的 第一个盘中(目前保留
容量为 60M),再修改FLASH SYS 的盘符为 C 盘,即可从FLASH 启动
系统!
目前提交的版本比较不规范,有待以后改进!
Revision 1.2 2007/10/08 02:58:14 Lingzhaojun
添加版本自动注释脚本
*/
#ifndef _FS_API_H
#define _FS_API_H
#include "fs_dev.h"
#include "fs_fat.h"
#undef EXT
#ifdef _IN_FS_API_
#define EXT
#else
#define EXT extern
#endif
int FS_Init(void);
void FS_VariableInit(void);
/* Standard File I/O Functions */
FS_FILE *FS_fopen(const char *filename, const char *mode);
int FS_fclose(FS_FILE *stream);
size_t FS_fread(void *buffer, size_t size, size_t count, FS_FILE *stream);
size_t FS_fwrite(const void *buffer, size_t size, size_t count, FS_FILE *stream);
int FS_fseek(FS_FILE *stream, long offset, int origin);
long FS_ftell(FS_FILE *stream);
int FS_fdelete(const char *filename);
int FS_MakeDir(char *Path);
/* FS Volume */
FS_VOLUME *FS_FindVolume(const char *pFullName, const char **pFileName);
FS_VOLUME *FS_AddDevice(const FS_DEVICE_TYPE *pDevType);
void FS_UnmountDevice(const FS_DEVICE_TYPE *pDevType);
int FS_Format(const char *pDriver, uint8 fstype);
uint32 FS_GetTotalFiles(const char *Path, char *ExtName);
int FS_FindFileSub(FS_FDT *Rt, FS_FIND_DATA* FindData, uint32 FileNum, char *ExtName, uint32 Attr);
int FS_FindNext(FS_FDT *Rt, FS_FIND_DATA* FindData, char *ExtName);
int FS_FindFirst(FS_FDT *Rt, FS_FIND_DATA* FindData, char *Path, char *ExtName);
int FS_FindFile(FS_FDT *Rt, uint32 FileNum, char *Path, char *ExtName);
uint32 FS_GetDirClusIndex(FS_VOLUME *pVolume, const char *pFullName, const char **pFileName);
void FS_GotoRootDir(FS_VOLUME *pVolume, char* ExtName);
void FS_GotoNextDir(FS_VOLUME *pVolume, char* ExtName);
int FS_GetTotalSubDir(const char *Path);
int FS_GetLongFileName(FS_FILE *pFile, char *pLname);
void MlcRefreshHook(void);
int FS_GetDeviceNum(void);
uint32 FS_GetFreeMem(const char *devname);
int FS_GetDiskInfo(const char *devname, FS_DISK_INFO *pDisk);
uint32 FS_GetDiskSizeKB(const char *pDiskName);
const char *FS_GetVolumeLable(const char *pDiskName);
void FS_RecoveryFile(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -