📄 flash.h
字号:
/***********************************************************************/
/* Copyright Silicon Storage Technology, Inc. (SST), 1994-2001 */
/* Example "C" language Driver of SST39VF080 1M X 8 */
/* Multi-Purpose Flash */
/* Nelson Wang, Silicon Storage Technology, Inc. */
/* */
/* Revision 1.0, January 24, 2001 */
/* */
/* This file requires these external "timing" routines: */
/* */
/* 1.) Delay_150_Nano_Seconds */
/* 2.) Delay_25_Milli_Seconds */
/* 3.) Delay_100_Milli_Seconds */
/***********************************************************************/
#define ___INTEL_28F016 //Replace the defining with the correct type
#ifdef ___SST_39VF080
#define FLASH_KEY1 0xAA
#define FLASH_KEY2 0x55
#define FLASH_LOAD 0xA0
#define FLASH_ERASE_KEY 0x80
#define FLASH_ERASE_CHIP 0x10
#define FLASH_ERASE_SECTOR 0x30
#define FLASH_ERASE_BLOCK 0x50
#define FLASH_SID_ENTER 0X90
#define FLASH_SID_EXIT 0XF0
#define FALSE 0
#define TRUE 1
#define SECTOR_SIZE 4096 /* Must be 4K bytes for 39VF080 */
#define BLOCK_SIZE 65536L /* Must be 64K bytes for 39VF080 */
#define SST_ID 0xBF /* SST Manufacturer's ID code */
#define SST_39VF080 0xD8 /* SST39VF080 device code */
//typedef unsigned char BYTE;
//typedef unsigned int WORD;
int Check_SST_39VF080();
void Program_One_Sector(INT8U *Src, INT8U *Dst);
void Erase_Entire_Chip();
void Erase_One_Sector (INT8U *Dst);
void Program_One_Byte (INT8U SrcByte, INT8U *Dst);
void Check_Data_Polling (INT8U *Dst, INT8U TrueData);
void Check_Toggle_Ready (INT8U *Dst);
extern void Delay_150_Nano_Seconds();
extern void Delay_100_Milli_Seconds();
extern void Delay_25_Milli_Seconds();
#endif
#ifdef ___SST_29LE010
#define FLASH_KEY1 0xAA
#define FLASH_KEY2 0x55
#define FLASH_LOAD 0xA0
#define FLASH_ERASE_KEY 0x80
#define FLASH_ERASE_CHIP 0x10
#define FLASH_ERASE_SECTOR 0x30
#define FLASH_ERASE_BLOCK 0x50
#define FLASH_SID_ENTER 0X90
#define FLASH_SID_EXIT 0XF0
#define FALSE 0
#define TRUE 1
#define PAGE_SIZE 128 /* Must be 128 bytes for SST_29LE010 */
#define SST_ID 0xBF /* SST Manufacturer's ID code */
#define SST_29LE010 0x08 /* SST_29LE010 device code */
//typedef unsigned char BYTE;
//typedef unsigned int WORD;
void Program_One_Page(unsigned int src_addr, unsigned int dst_addr);
void Erase_Entire_Chip();
int Check_SST_29LE010();
void Check_Data_Polling (BYTE *Dst, BYTE TrueData);
void Check_Toggle_Ready (BYTE *Dst);
extern void Delay_10000_Nano_Seconds();
extern void Delay_20_Milli_Seconds();
#endif
#ifdef ___INTEL_28F016
#define FLASH_READ_ARRAY 0xFF
#define FLASH_LOAD 0x40
#define FLASH_ERASE_SETUP 0x20
#define FLASH_ERASE_CONFIRM 0xD0
#define FLASH_PROG_SUSPEND 0xB0
#define FLASH_PROG_RESUME 0xD0
#define FLASH_ERASE_SUSPEND 0xB0
#define FLASH_ERASE_RESUME 0xD0
#define FLASH_READ_STATUS 0x70
#define FLASH_CLEAR_STATUS 0x50
#define FLASH_READ_SID 0X90
#define FALSE 0
#define TRUE 1
#define BLOCK_SIZE 65536L /* Must be 64K bytes for 28F016 */
#define INTEL_ID 0x89 /* INTEL Manufacturer's ID code */
#define INTEL_28F016 0xD1 /* INTEL28F016 device code */
//typedef unsigned char BYTE;
//typedef unsigned int WORD;
int Check_INTEL_28F016();
void Program_One_Block(INT8U *Src, INT8U *Dst);
void Erase_One_Block(INT8U *Dst);
void Program_One_Byte (INT8U SrcByte, INT8U *Dst);
extern void Delay_150_Nano_Seconds();
extern void Delay_100_Milli_Seconds();
extern void Delay_25_Milli_Seconds();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -