📄 am29lv160d.h
字号:
/*******************************************************************************/
/* */
/* FILE: am29lv160d.h() */
/* */
/* PURPOSE: This header file defines the flash devices structures */
/* */
/*******************************************************************************/
#ifndef __FLASH_AM29LV160D_H__
#define __FLASH_AM29LV160D_H__
#define NUM_SECTORS 35 // number of sectors in the flash device
// enum for Flash control
typedef enum
{
FLASH_GET_CODES, // 1
FLASH_RESET, // 2
FLASH_ERASE_ALL, // 3
FLASH_ERASE_SECT, // 4
FLASH_GET_SECTNUM, // 5
FLASH_GET_SECSTARTEND, // 6
FLASH_GET_DESC, // 7
FLASH_GETNUM_SECTORS // 8
}FlashCmds;
// enum of possible errors
typedef enum
{
NO_ERR, // No Error
POLL_TIMEOUT, // Polling toggle bit failed
VERIFY_WRITE, // Verifying write to flash failed
INVALID_SECTOR, // Invalid Sector
INVALID_BLOCK, // Invalid Block
UNKNOWN_COMMAND, // Unknown Command
PROCESS_COMMAND_ERR, // Processing command
NOT_READ_ERROR, // Could not read memory from target
DRV_NOTAT_BREAK, // The drive was not at AFP_BreakReady
BUFFER_IS_NULL, // Could not allocate storage for the buffer
NUM_ERROR_CODES,
}ERROR_CODE;
// 0x01: Get-Codes data type
typedef struct Get_Codes_Struct
{
unsigned long *pManCode;
unsigned long *pDevCode;
unsigned long ulFlashStartAddr;
}GET_CODES_STRUCT;
// 0x02: Reset data type
typedef struct Reset_Struct
{
unsigned long ulFlashStartAddr;
}RESET_STRUCT;
// 0x03: Erase-All data type
typedef struct Erase_All_Struct
{
unsigned long ulFlashStartAddr;
}ERASE_ALL_STRUCT;
// 0x04: Erase-Sector data type
typedef struct Erase_Sector_Struct
{
int nSectorNum;
unsigned long ulFlashStartAddr;
}ERASE_SECTOR_STRUCT;
// 0x05: Get-Sector-Number data type
typedef struct Get_SectNum_Struct
{
unsigned long ulOffset;
unsigned long *pSectorNum;
}GET_SECTNUM_STRUCT;
// 0x06: Get-Sector-Start-End data type
typedef struct Get_SectStartEnd_Struct
{
int nSectorNum;
unsigned long *pStartOffset;
unsigned long *pEndOffset;
}GET_SECTSTARTEND_STRUCT;
// 0x07: Get-Description data type
typedef struct Get_Desc_Struct
{
char *pTitle;
char *pDesc;
char *pFlashCompany;
}GET_DESC_STRUCT;
// 0x08: Get-Num Sectors data type
typedef struct Get_NumSectors_Struct
{
int *pnNumSectors;
}GET_NUM_SECTORS_STRUCT;
//Union describing all the data types
typedef union
{
ERASE_ALL_STRUCT SEraseAll;
ERASE_SECTOR_STRUCT SEraseSect;
GET_CODES_STRUCT SGetCodes;
GET_DESC_STRUCT SGetDesc;
GET_SECTNUM_STRUCT SGetSectNum;
GET_SECTSTARTEND_STRUCT SSectStartEnd;
RESET_STRUCT SReset;
GET_NUM_SECTORS_STRUCT SGetNumSectors;
}COMMAND_STRUCT;
#endif // __FLASH_AM29LV160D_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -