flashlib.h

来自「大名鼎鼎的mpc8260的bsp源代码」· C头文件 代码 · 共 93 行

H
93
字号
/* flashLib.h - Flash library header file */

/* Copyright 1998-2000 Wind River Systems, Inc. */
/* NOMANUAL */

#ifndef	FLASH_LIB_H
#define	FLASH_LIB_H

extern int sysClkRateGet(void);

#define	FLASH_PROGRAM_POLLS		1000000
#define	FLASH_ERASE_SECTOR_TIMEOUT	( 120 /*SEC*/  *  sysClkRateGet())

typedef struct flash_dev_s {
    int		bank;			/* Bank 0 or 1 */
    UINT32	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;

/*young #define FLASH_MAX_POS(dev) \
	((dev)->sectors << (dev)->lgSectorSize)*/

#define FLASH_MAX_POS(dev) \
	((dev)->sectors << (dev)->lgSectorSize)

#define FLASH_SECTOR_POS(dev, sector) \
	((sector) << (dev)->lgSectorSize)

/*YOUNG  The define is from mousse.h */
#define FLASH_START		0x30000000	 /* 16 MB of address space */  /*changed for debug 2004.11.20,yangdy*/
#define FLASH_SIZE_1		0x00800000
#define FLASH_START_2		0x30800000
#define FLASH_SIZE_2		0x00800000
/* end */

/*YOUNG #define FLASH0_BANK			0
#define FLASH0_VENDOR_ID		0x01
#define FLASH0_DEVICE_ID		0x49	*/

/*yangdy 2004.11.23 for debug */
#if 0
#define FLASH_BANK			0
#define FLASH_VENDOR_ID		0x01
#define FLASH_DEVICE_ID		0xf9

#define FLASH_BANK1                 1
#define FLASH_VENDOR_ID1		0x01
#define FLASH_DEVICE_ID1		0xf9
#else

#define FLASH_BANK			0
#define FLASH_VENDOR_ID	0x01
#define FLASH_DEVICE_ID		0x7e

#define FLASH_BANK1                 1
#define FLASH_VENDOR_ID1		0x01
#define FLASH_DEVICE_ID1		0x7e

#endif
extern	flash_dev_t			flashDev[];
extern	int				flashDevCount;

/*
 * Device pointers
 *
 * These must be kept in sync with the table in flashLib.c.
 */

#define FLASH_DEV_BANK_SA0		(&flashDev[0])
#define FLASH_DEV_BANK_SA1		(&flashDev[1])
#define FLASH_DEV_BANK_SA2		(&flashDev[2])
#define FLASH_DEV_BANK_SA3		(&flashDev[3])
#define FLASH_DEV_BANK_SA4		(&flashDev[4])
#define FLASH_DEV_BANK_SA5		(&flashDev[5])

STATUS flashLibInit(void);
STATUS flashEraseSector(flash_dev_t *dev, int sector);
STATUS flashErase(flash_dev_t *dev);
STATUS flashRead(flash_dev_t *dev, int pos, char *buf, int len);
STATUS flashWrite(flash_dev_t *dev, int pos, char *buf, int len);
STATUS flashWritable(flash_dev_t *dev, int pos, int len);
STATUS flashDiag(flash_dev_t *dev);
STATUS flashDiagAll(void);

void memcat(char *buff, int count, int column);

#endif	/* !FLASH_LIB_H */

⌨️ 快捷键说明

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