📄 flashdrv.h
字号:
/* flashdrv.h - FLASH memory interface header file *//* Copyright Galileo Technology. */#ifndef __INCflashdrvh #define __INCflashdrvh/* includes */#include "core.h"/* defines *//* Supported Flash Manufactures */ #define AMD_FLASH 0x01#define ST_FLASH 0x20#define INTEL_FLASH 0x89#define MICRON_FLASH 0x89/* Supported Flash Devices *//* AMD Devices */#define AM29F400BT 0x2223 #define AM29F400BB 0x22AB#define AM29LV800BT 0x22DA#define AM29LV400BT 0x22B9#define AM29LV400BB 0x22BA#define AM29LV040B 0x4f/* ST Devices */#define M29W040 0xE3/* INTEL Devices - We have added I before the name defintion.*/#define I28F320J3A 0x16#define I28F640J3A 0x17#define I28F128J3A 0x18#define I28F320B3_B 0x8897#define I28F320B3_T 0x8896 #define I28F160B3_B 0x8891#define I28F160B3_T 0x8890#define POINTER_TO_FLASH flashParametrs[0] #define FLASH_BASE_ADDRESS flashParametrs[1] #define FLASH_WIDTH flashParametrs[2] /* In Bytes */#define FLASH_MODE flashParametrs[3] /* In bits */#define MANUFACTOR_ID POINTER_TO_FLASH + 0#define VENDOR_ID POINTER_TO_FLASH + 1#define NUMBER_OF_SECTORS POINTER_TO_FLASH + 2#define FIRST_SECTOR_SIZE POINTER_TO_FLASH + 3#define NUM_OF_DEVICES FLASH_WIDTH / (FLASH_MODE / 8) /* typedefs */typedef enum _FlashMode {PURE8,X8 = 8,X16 = 16} FLASHmode;/* PURE8 - when using a flash device whice can be configurated only as 8 bit device. *//* X8 - when using a flash device which is 16 bit wide but configured to operate in 8 bit mode.*//* X16 - when using a flash device which is 16 bit wide */bool flashErase(void);bool flashEraseSector(unsigned int sectorNumber);bool flashWriteWord(unsigned int offset,unsigned int data);bool flashWriteShort(unsigned int offset,unsigned short sdata);bool flashWriteChar(unsigned int offset,unsigned char cdata);void flashReset(void);unsigned int flashInWhichSector(unsigned int offset);unsigned int flashGetSectorSize(unsigned int sectorNumber);unsigned int flashInit(unsigned int baseAddress,unsigned int flashWidth, FLASHmode FlashMode);unsigned int flashGetNumOfSectors(void);unsigned int flashGetSize(void);unsigned int flashGetSectorOffset(unsigned int sectorNum);unsigned int flashWriteBlock(unsigned int offset,unsigned int numOfByte, unsigned char * blockAddress);unsigned int flashReadWord(unsigned int offset);unsigned char flashReadChar(unsigned int offset);unsigned short flashReadShort(unsigned int offset);unsigned int flashReadBlock(unsigned int offset,unsigned int numOfByte, unsigned char * blockAddress);#endif /* __INCflashdrvh */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -