📄 sflash.h
字号:
/***************************************** Copyright (c) 2003-2004 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the EM86XX boot loader *//* * sflash.h * * Serial Flash support * * by Ho Lee 02/04/2003 */#ifndef __BOOTLOADER_SFLASH_H#define __BOOTLOADER_SFLASH_H//// Serial Flash interfaces between different models//enum { SFLASH_VENDOR_NONE, SFLASH_VENDOR_ST_M25, SFLASH_VENDOR_ST_M95, SFLASH_VENDOR_SST_25, SFLASH_VENDOR_END };typedef struct { int model; char *name; int size; int nsector; int sectorsize;} sflash_db_t;typedef struct sflash_op_struct { int vendor; char *name; sflash_db_t *sflash_list; void (*setparam)(sflash_db_t *pdb, int verbose); int (*detect)(struct sflash_op_struct **pop, sflash_db_t **pdb, int verbose); int (*readstatus)(void); void (*writeenable)(void); void (*writedisable)(void); void (*chiperase)(sflash_db_t *pdb); void (*sectorerase)(sflash_db_t *pdb, unsigned int addr); void (*pageprogram)(sflash_db_t *pdb, unsigned int addr, unsigned char *data, int len); void (*read)(sflash_db_t *pdb, unsigned int addr, unsigned char *to, int len); void (*fast_read)(sflash_db_t *pdb, unsigned int addr, unsigned char *to, int len);} sflash_op_t;void sflash_chipselect(void);void sflash_chipdeselect(void);void sflash_sendcommand(unsigned int cmd);unsigned char sflash_readb(void);void sflash_writeb(unsigned int data);unsigned short sflash_readw(void);void sflash_writew(unsigned int data);unsigned int sflash_readl(void);void sflash_writel(unsigned int data);void sflash_setparam(unsigned int data_param, unsigned int data_speed, int verbose);// // function prototypes//void sflash_chiperase(void);void sflash_sectorerase(unsigned int addr);void sflash_pageprogram(unsigned int addr, unsigned char *data, int len);int sflash_force(const char *name);void sflash_show_supportlist(void);int sflash_detect(int verbose);int sflash_exist(void);void sflash_showinfo(void);unsigned int sflash_getsize(void);int sflash_calcblock(unsigned int addr, unsigned int *pstart, unsigned int *pend);int sflash_calcblockrange(unsigned int addr, int len, unsigned int *pstart, unsigned int *pend);int sflash_writable(unsigned int addr, int len);void sflash_readdata(unsigned int addr, unsigned char *data, int len);void sflash_erasedata(unsigned int addr, int len);void sflash_writedata(unsigned int addr, unsigned char *data, int len);void sflash_test(int argc, char *argv[]);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -