📄 nandflash.h
字号:
#ifndef __NANDFLASH__
#define __NANDFLASH__
extern unsigned char WriteSector1(unsigned char *, unsigned long , unsigned short); //武东宏添加,从某个扇区开始写数个扇区
//extern void WriteSector1(unsigned char *, unsigned long , unsigned short); //武东宏添加,从某个扇区开始写数个扇区
extern unsigned char ReadSector1(unsigned char *, unsigned long, unsigned short); //从某个扇区开始读数个扇
extern unsigned char InitNandFlash(void); //初始化nandflash
extern unsigned char EraseSector(UWORD StartSector, UWORD Sectornum);
#define NANDFLASH_SIZE (32000*1024)
#define BLOCK_SIZE (16*1024)
#define BLOCK_NUM (NANDFLASH_SIZE/BLOCK_SIZE)
#define SECTOR_PER_BLOCK (BLOCK_SIZE/512)
#define READ1_CMD 0x00
#define READ2_CMD 0x50
#define READ_ID_CMD 0x90
#define RESET_CMD 0xff
#define PAGE_PROGRAM_CMD 0x10
#define BLOCK_ERASE_CMD 0x60
#define BLOCK_ERASE_CONFIRM_CMD 0xd0
#define READ_STATUS_CMD 0x70
#define SDATA_INPUT_CMD 0x80
#define READY_BUSY_PIN 0x04
#define CMD_LATCH_PIN 0x01
#define ADD_LATCH_PIN 0x02
#define CE_PIN 0x08
#define PROGRAM_ERROR 0x01
#define ERASE_ERROR 0x01
#define CMD_LATCH_ENABLE() PDDATA |= CMD_LATCH_PIN
#define CMD_LATCH_DISABLE() PDDATA &= ~CMD_LATCH_PIN
#define ADD_LATCH_ENABLE() PDDATA |= ADD_LATCH_PIN
#define ADD_LATCH_DISABLE() PDDATA &= ~ADD_LATCH_PIN
#define NANDFLASH_ENABLE() PDDATA &= ~CE_PIN
#define NANDFLASH_DISABLE() PDDATA |= CE_PIN
#define NANDFLASH_READY() (PDDATA & READY_BUSY_PIN)
//#define PFLASH 0x3000020
#define PFLASH 0x1200060
#define NOERR 0x00
#define WRITE_BYTE(val) *((volatile unsigned char *)PFLASH) = val
#define READ_BYTE() *((volatile unsigned char *)PFLASH)
#define WRITE_CMD(val) {\
CMD_LATCH_ENABLE();\
WRITE_BYTE(val);\
CMD_LATCH_DISABLE();\
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -