📄 _flflash.h
字号:
/* Note the key is inserted only to protected areas and to all floors */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* areaNo : Protection area number to work on */
/* key : protection key buffer */
/* */
/*----------------------------------------------------------------------*/
FLStatus (*protectionKeyInsert)(FLFlash *, byte areaNo, byte FAR1* key);
/*----------------------------------------------------------------------*/
/* f l a s h . p r o t e c t i o n K e y R e m o v e */
/* */
/* MTD specific Flash remove the protection key routine */
/* */
/* No default routine is implemented for this routine. */
/* */
/* Note the key is removed from all floors. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* areaNo : Protection area number to work on */
/* */
/*----------------------------------------------------------------------*/
FLStatus (*protectionKeyRemove)(FLFlash *,byte areaNo);
/*----------------------------------------------------------------------*/
/* f l a s h . p r o t e c t i o n T y p e */
/* */
/* MTD specific Flash get protection type routine */
/* */
/* No default routine is implemented for this routine. */
/* */
/* Note the type is the combined attributes of all the floors. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* areaNo : Protection area number to work on */
/* areaType : returnining the protection type */
/* */
/*----------------------------------------------------------------------*/
FLStatus (*protectionType)(FLFlash *,byte areaNo, word* areaType);
/*----------------------------------------------------------------------*/
/* f l a s h . p r o t e c t i o n S e t */
/* */
/* MTD specific Flash get protection type routine */
/* */
/* No default routine is implemented for this routine. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* areaNo : Protection area number to work on */
/* areaType : Protection area type */
/* addressLow : Low boundary Address of protected area */
/* addressHigh : High boundary Address of protected area */
/* key : protection key buffer */
/* modes : Either COMMIT_PROTECTION will cause the new */
/* values to take affect immidiatly or */
/* DO_NOT_COMMIT_PROTECTION for delaying the new */
/* values to take affect only after the next reset.*/
/* floorNo : The floor to work on. */
/* */
/*----------------------------------------------------------------------*/
FLStatus (*protectionSet )( FLFlash *,byte areaNo, word areaType ,
CardAddress addressLow, CardAddress addressHigh,
byte FAR1* key , byte modes , byte floorNo);
#endif /* HW_PROTECTION */
/*----------------------------------------------------------------------*/
/* f l a s h . e n t e r D e e p P o w e r D o w n M o d e */
/* */
/* MTD specific Flash enter deep power down mode routine */
/* */
/* No default routine is implemented for this routine. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* state : DEEP_POWER_DOWN */
/* */
/*----------------------------------------------------------------------*/
FLStatus (*enterDeepPowerDownMode)(FLFlash *,word state);
/*----------------------------------------------------------------------*/
/* f l a s h . d o w n l o a d */
/* */
/* MTD specific - Reset download mechanizm to download IPL and */
/* protection attributes. */
/* */
/* No default routine is implemented for this routine. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/*----------------------------------------------------------------------*/
FLStatus (*download)(FLFlash *);
/*----------------------------------------------------------------------*/
/* DiskOnChip memory access routines type defintions */
/*----------------------------------------------------------------------*/
#ifndef FL_NO_USE_FUNC
FLMemWindowSize FAR1* memWindowSize; /* Doc memory window size */
FLMemRead FAR1* memRead; /* Doc memory read routine */
FLMemWrite FAR1* memWrite; /* Doc memory write routine */
FLMemSet FAR1* memSet; /* Doc memory set routine */
FLMemRead8bit FAR1* memRead8bit; /* Doc memory 8 bit read routine */
FLMemWrite8bit FAR1* memWrite8bit; /* Doc memory 8 bit write routine */
FLMemRead16bit FAR1* memRead16bit; /* Doc memory 16 bit read routine */
FLMemWrite16bit FAR1* memWrite16bit; /* Doc memory 16 bit write routine */
FLMemSetGetMode FAR1* memSetGetMode; /* Interleave change event - */
/* call back to plant new routines */
#endif /* FL_NO_USE_FUNC */
};
typedef FLStatus (*MTDidentifyRoutine) (FLFlash *);
extern MTDidentifyRoutine doc_mtdTable[MTDS];
/* Returns specific flash structure of the socket */
extern FLFlash * flFlashOf(unsigned volNo);
#ifdef MTD_STANDALONE
typedef FLStatus (*SOCKETidentifyRoutine) (FLSocket * ,
dword lowAddress, dword highAddress);
typedef void (*FREEmtd) (FLSocket vol);
extern SOCKETidentifyRoutine socketTable[MTDS];
extern FREEmtd freeTable[MTDS];
#else
/* The address of this, if returned from map, denotes a data error */
extern FLStatus dataErrorObject;
#define dataErrorToken ((void FAR0 *) &dataErrorObject)
/* See interface documentation of functions in flflash.c */
extern void flIntelIdentify(FLFlash *,
void (*)(FLFlash *, CardAddress, byte, FlashPTR),
CardAddress);
extern FLStatus flIntelSize(FLFlash *,
void (*)(FLFlash *, CardAddress, byte, FlashPTR),
CardAddress);
extern FLStatus flIdentifyFlash(FLSocket *socket, FLFlash *flash);
#endif /* MTD_STANDALONE */
/*----------------------------------------------------------------------*/
/* f l a s h . r e s e t I n t e r r u p t */
/* */
/* MTD specific Flash reset the interrupt signal routine */
/* */
/* No default routine is implemented for this routine. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* */
/*----------------------------------------------------------------------*/
/*void (*resetInterrupt)(FLFlash vol); */
#endif /* _FLFLASH_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -