⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 am29lv160d.h

📁 AXD下 S3C2440 nor flash program nand flash
💻 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 + -