nand.h

来自「学习Linux编程的源代码。包括各种系统调用如何使用等。」· C头文件 代码 · 共 51 行

H
51
字号


#define DATA_ADDR 0x80800000
#define CTRL_ADDR 0x80800000
#define IO_ADDR 0x80800000

#define ADDR_REG 0x80800004
#define CS_REG   0x8080000c
#define CTRL_REG 0x80800008

/*
#define CTRL_ADDR 0x80800008
#define IO_ADDR 0x80800008
#define STATE_ADDR 0X8080000C
*/

#define NAND_CMD_READ0		0x00
#define NAND_CMD_READ1		0x01
#define NAND_CMD_PAGEPROG	0x10
#define NAND_CMD_READOOB    0x50
#define NAND_CMD_ERASE1		0x60
#define NAND_CMD_STATUS		0x70
#define NAND_CMD_SEQIN		0x80
#define NAND_CMD_READID		0x90
#define NAND_CMD_ERASE2		0xD0
#define NAND_CMD_RESET		0xFF

#define EARSE_SIZE  0x4000
#define NAND_SIZE   0x1000000

#define	ECCSIZE		256
#define OOBBLOCK	512
#define OOBSIZE		16
#define PAGE_SHIFT	9


int nand_read (unsigned long from, int len, int *retlen, unsigned char *buf);
void nand_command (unsigned int command,	unsigned char column, unsigned short page_addr);
int nand_erase (unsigned long startaddr,int eraselen);
int nand_write(unsigned long to, int len,int *retlen, unsigned char *buf);
void read_nandid();
void set_cs();
void set_addr();
void set_command();

void clear_cs();
void clear_addr();
void clear_command();


⌨️ 快捷键说明

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