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

📄 flash_drv.h

📁 某个ARM9板子的实际bootloader 对裁剪
💻 H
字号:
/***************************************************************************** Copyright  Storlink Corp 2005.  All rights reserved.                *--------------------------------------------------------------------------* Name			: flash_drv.h* Description	: *		Define for flash device driver** History**	Date		Writer		Description*	-----------	-----------	-------------------------------------------------*	04/20/2005	Gary Chen	Create*****************************************************************************/#ifndef _FLASH_DRV_H_#define _FLASH_DRV_H_typedef enum {	FLASH_ERR_OK,					// No error - operation complete	FLASH_ERR_INVALID,				// Invalid FLASH address	FLASH_ERR_ERASE,				// Error trying to erase	FLASH_ERR_LOCK,					// Error trying to lock/unlock	FLASH_ERR_PROGRAM,				// Error trying to program	FLASH_ERR_PROTOCOL,				// Generic error	FLASH_ERR_PROTECT,				// Device/region is write-protected	FLASH_ERR_NOT_INIT,				// FLASH info not yet initialized	FLASH_ERR_HWR,					// Hardware (configuration?) problem	FLASH_ERR_ERASE_SUSPEND,		// Device is in erase suspend mode	FLASH_ERR_PROGRAM_SUSPEND,		// Device is in in program suspend mode	FLASH_ERR_DRV_VERIFY,			// Driver failed to verify data	FLASH_ERR_DRV_TIMEOUT,			// Driver timed out waiting for device	FLASH_ERR_DRV_WRONG_PART,		// Driver does not support device	FLASH_ERR_LOW_VOLTAGE,			// Not enough juice to complete job	FLASH_ERR_MAX} FLASH_EER_T;typedef struct {	unsigned long		init;			// 1: if initialized	unsigned long		vendor;	unsigned long		chip_id;	unsigned long       sub_id1;	unsigned long       sub_id2;	unsigned long		block_size;   	// Assuming fixed size "blocks"	unsigned long		blocks;       	// Number of blocks	unsigned long		buffer_size;  	// Size of write buffer (only defined for some devices)	unsigned long		block_mask;	void				*start;			// Address range	void				*end;  			// Address range	int 				(*erase_block)(void *, int);	int 				(*program)(void *, void *, int);} FLASH_INFO_T;extern FLASH_INFO_T flash_info;int flash_init(void);int flash_erase(void *addr, int len, unsigned long *err_addr);int flash_program(void *_addr, void *_data, int len, unsigned long *err_addr);char *flash_errmsg(int err);#endif  // _FLASH_DRV_H_

⌨️ 快捷键说明

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