nand_flsh nand_flash.h
#ifndef _NAND_FLASH_H
#define _NAND_FLASH_H
#define TACLS 0 //1clk(0ns)
#define TWRPH0 3 //3clk(25ns)
#define TWRPH1 0 //1clk(10ns) //TACLS+TWRPH0+TWRPH1>=50ns
//send command
#define NF_CMD(cmd) {rNFCMD=cmd;}
//set address
#define NF_ADDR(addr) {rNFADDR=addr;}
//NAND Flash Memory chip enable
#define NF_nFCE_L() {rNFCONF&=~(1<<11);}
//NAND Flash Memory chip disable
#define NF_nFCE_H() {rNFCONF|=(1<<11);}
//Initialize ECC
#define NF_RSTECC() {rNFCONF|=(1<<12);}
//read data
#define NF_RDDATA() (rNFDATA)
//write data
#define NF_WRDATA(data) {rNFDATA=data;}
//get status
#define NF_WAITRB() {while(!(rNFSTAT&(1)));}
#endif