/********************************************************************************* * * Embedded Studio (C) 2007 * * File: ES_AT49BV040B.h * Desc: Flash AT49BV040B Driver Functions * **********************************************************************************/ #ifndef __ES_AT49BV040B_H__ #define __ES_AT49BV040B_H__ /********************************************************************************* macro definitions **********************************************************************************/ #define FLASH_POLL_TIMEOUT 0x1000000 #define FLASH_BASE_ADDR 0x4000000 #define NUM_SECTORS 11 /********************************************************************************* data type definition **********************************************************************************/ typedef struct tFlashMemMapStruct { int SectorNum; int SectorStartAddr; int SectorEndAddr; } FlashMemoryMapStruct; /********************************************************************************* public function prototypes **********************************************************************************/ bool Flash_Open(void); bool Flash_EraseChip(void); bool Flash_EraseSector(long nSector); bool Flash_Write(long ulStart, char *pData, long lCount); void Flash_Read(long ulStart, char *pData, long lCount); bool Flash_Close(void); bool Flash_GetSectorInfo(long *ulStartOff, long *ulEndOff, long nSector); bool Flash_GetCodes(char *pMfrCode, char *pDevCode); bool Flash_GetSectorStartEnd(long nSector, long *ulStartOff, long *ulEndOff); bool Flash_GetSectorNumber(long ulAddr, long *pSector); bool Flash_GetFlashInfo(char **pFlashDesc, char **pFlashCompany); bool Flash_GetBootBlockLockStatus(char *pLockByte); bool Flash_Reset(void); bool Flash_Lock(void); #endif // __ES_AT49BV040B_H__