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 + -
显示快捷键?