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

📄 flash.h

📁 AT91RM9200的完整启动代码:包括loader, boot及U-boot三部分均已编译通过!欢迎下载使用!
💻 H
字号:
#ifndef	FLASH_LIB_H#define	FLASH_LIB_H#include <common.h>/* PIO operations max */#define	FLASH_PROGRAM_POLLS		100000/* 10 Seconds default */#define	FLASH_ERASE_SECTOR_TIMEOUT	(10*1000 /*SEC*/ )/* Flash device info structure */typedef struct flash_dev_s {    char        name[24];               /* Bank Name */    int		bank;			/* Bank 0 or 1 */    unsigned int base;			/* Base address */    int		sectors;		/* Sector count */    int		lgSectorSize;		/* Log2(usable bytes/sector) */    int		vendorID;		/* Expected vendor ID */    int		deviceID;		/* Expected device ID */    int		found;			/* Set if found by flashLibInit */    int		swap;			/* Set for bank 1 if byte swap req'd */} flash_dev_t;#define FLASH_MAX_POS(dev) \	((dev)->sectors << (dev)->lgSectorSize)#define FLASH_SECTOR_POS(dev, sector) \	((sector) << (dev)->lgSectorSize)/* AMD 29F040 */#define FLASH0_BANK			0#define FLASH0_VENDOR_ID		0x01#define FLASH0_DEVICE_ID		0x49/* AMD29LV160DB */#define FLASH1_BANK			1#define FLASH1_VENDOR_ID		0x0001#define FLASH1_DEVICE_ID		0x2249extern	flash_dev_t			flashDev[];extern	int				flashDevCount;/* * Device pointers * * These must be kept in sync with the table in flashLib.c. */#define FLASH_DEV_BANK0_SA0		(&flashDev[0])#define FLASH_DEV_BANK0_SA1		(&flashDev[1])#define FLASH_DEV_BANK0_SA2		(&flashDev[2])#define FLASH_DEV_BANK0_LOW		(&flashDev[3]) /* 960K */#define FLASH_DEV_BANK0_BOOT		(&flashDev[4]) /* PLCC */#define FLASH_DEV_BANK0_HIGH		(&flashDev[5]) /* 512K PLCC shadow */unsigned long flash_init(void);int flashEraseSector(flash_dev_t *dev, int sector);int flashErase(flash_dev_t *dev);int flashRead(flash_dev_t *dev, int pos, char *buf, int len);int flashWrite(flash_dev_t *dev, int pos, char *buf, int len);int flashWritable(flash_dev_t *dev, int pos, int len);int flashDiag(flash_dev_t *dev);int flashDiagAll(void);ulong flash_get_size (vu_long *addr, flash_info_t *info);void flash_print_info  (flash_info_t *info);int  flash_erase (flash_info_t *info, int s_first, int s_last);int  write_buff  (flash_info_t *info, uchar *src, ulong addr, ulong cnt);/* * Flash info indices. */#define FLASH_BANK_KERNEL 0#define FLASH_BANK_BOOT   1#define FLASH_BANK_AUX    2#define FIRST_SECTOR      0#endif	/* !FLASH_LIB_H */

⌨️ 快捷键说明

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