📄 flash_drv.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 + -