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

📄 flash.h

📁 嵌入式linux下ARM4210板的bootloader
💻 H
字号:
#ifndef __FLASH_H#define __FLASH_H
#define MAX_CHIPS             6#define DEVICE_TYPE_X8	(8 / 8)#define DEVICE_TYPE_X16	(16 / 8)#define DEVICE_TYPE_X32	(32 / 8)/* Addresses */#define ADDR_MANUFACTURER		0x0000#define ADDR_DEVICE_ID			0x0001#define ADDR_SECTOR_LOCK		0x0002#define ADDR_HANDSHAKE			0x0003#define ADDR_UNLOCK_1			0x5555#define ADDR_UNLOCK_2			0x2AAA/* Commands */#define CMD_UNLOCK_DATA_1		0x00AA#define CMD_UNLOCK_DATA_2		0x0055#define CMD_MANUFACTURER_UNLOCK_DATA	0x0090#define CMD_UNLOCK_BYPASS_MODE		0x0020#define CMD_PROGRAM_UNLOCK_DATA		0x00A0#define CMD_RESET_DATA			0x00F0#define CMD_SECTOR_ERASE_UNLOCK_DATA	0x0080#define CMD_SECTOR_ERASE_UNLOCK_DATA_2	0x0030#define CMD_UNLOCK_SECTOR		0x0060/* Manufacturers *//* SST */#define MANUFACTURER_SST                0x00BF#define SST39VF040                      0x00D7#define SST39VF080                      0x00D8#define SST39VF016                      0x00D9#define D6_MASK	                        0x40#define NOCACHE_BIT                     0x04000000
struct flchip {	unsigned long start; /* Offset within the map */	unsigned long size;	unsigned long erasesize;};struct mtd_info {	unsigned long offset; /* Offset within the memory */	int buswidth; /* in octets */	unsigned long size;   /* Total size of the MTD */	unsigned long erasesize;	int numchips;		struct flchip chips[MAX_CHIPS];};struct flash_info {	const unsigned short mfr_id;	const unsigned short dev_id;	const char *name;	const unsigned long size;	const unsigned long erasesize;};int flash_init(void);int flash_read(unsigned long from,	unsigned long len, unsigned long *retlen, unsigned char *buf);int flash_write(unsigned long to,	unsigned long len, unsigned long *retlen, const unsigned char *buf);int flash_erase(unsigned long adr, unsigned long size);

#endif /* __FLASH_H */

⌨️ 快捷键说明

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