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

📄 nandflash.h

📁 一个linux下的usb接口源代码
💻 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 + -