flashmng.h

来自「好记星的控件,包括button,list,对文件操作」· C头文件 代码 · 共 64 行

H
64
字号
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2002 SHENZHEN MEIJIN CO.LTD                   */
/*                                                                          */
/* FILE NAME:   FlashMng.h                                                  */
/* MODULE NAME: FLASHMNG MODULE                                             */
/* DESCRIPTION: FLASHt管理模块头文件                                        */
/*                                                                          */
/****************************************************************************/
/*    DATE       AUTHOR       VERSION                   REMARKS             */
/* =========== ===========  =========  =====================================*/
/* 2003-03-20     黄小明    Ver 1.00       创建                             */
/****************************************************************************/

#ifndef __FLASHMNG_H__
#define __FLASHMNG_H__

#define NORMAL_PAGE_SIZE    512
#define NORMAL_SPARE_SIZE   16

// Flash NU_STATUS command
#define FLASH_COMMAND_FORMAT	0x1000		// format command
#define FLASH_COMMAND_GETINFO	0x1001		// get flash parameter command

/*-- defined of return value about nand flash manager and driver --*/

// following should be processed by application
#define NFLS_ERR_NO         0               // ok
#define NFLS_ERR_FORMAT     -1              // format error, need format
#define NFLS_ERR_LOWVOLTAGE -2              // battery low
// following should be processed by system
#define NFLS_ERR_NOSPACE    -3              // bad blocks are too many to use
#define NFLS_ERR_DRIVER     -4              // nucleus driver manager error
#define NFLS_ERR_OVER       -5              // address is out of range
#define NFLS_ERR_COMMAND    -6              // illegal command
#define NFLS_ERR_BOUNDARY   -7              // not align linear address with page boundary
#define NFLS_ERR_PARAMETER  -8              // NFLASH_PARAMETER in not available
#define NFLS_ERR_UNKNOWNID  -9              // unknown chip ID
#define NFLS_ERR_TIMEOUT    -10             // busy phase is too long
#define NFLS_ERR_INTERNAL   -11             // some internal error occur


typedef struct tagMFlashInfo
{
    UINT uPageSize;                         // Page Size
    UINT uPageSum;                          // page number     
} MFlashInfo;

// FLASH model interface
INT FlashModInitial(VOID);
INT FlashOpen(UINT16 driveno);
INT FlashClose(UINT16 driveno);
INT FlashIo(UINT16 driveno, UINT32 dwLogicalPage, VOID *buffer, UINT16 uPages, INT do_read);
INT FlashIoCtrl(UINT16 driveno, UINT16 command, VOID *buffer);
BOOL FlashUpdateVOID(VOID);

// for UI of format function
typedef VOID (*FP_FORMAT_UI)(UINT percent, VOID *userParameter);

// for long filename
void LocInitial(UINT num, void *ucs2gbk, void *gbk2ucs);

#endif  /* #ifndef __FLASHMNG_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?