?? nandflash.h
字號:
#ifndef __NANDFLASH_H__
#define __NANDFLASH_H__
#define EnNandFlash() (rNFCONF |= 0x8000) //bit15=1 enable NAND flash controller
#define DsNandFlash() (rNFCONF &= ~0x8000) //bit15=0 disable NAND flash controller
#define InitEcc() (rNFCONF |= 0x1000) //bit12=1 initialize ECC
#define NoEcc() (rNFCONF &= ~0x1000) //bit12=0 initialize ECC
#define NFChipEn() (rNFCONF &= ~0x800) //bit11=0 NAND flash nFCE = L (active)
#define NFChipDs() (rNFCONF |= 0x800) //bit11=1 NAND flash nFCE = H (inactive)
#define WrNFCmd(cmd) (rNFCMD = (cmd)) //write commond to nand flash
#define WrNFAddr(addr) (rNFADDR = (addr)) //write address to nand flash
#define WrNFDat(dat) (rNFDATA = (dat)) //write data to nand flash
#define RdNFDat() (rNFDATA) //read data from nand flash
#define RdNFStat() (rNFSTAT) //read status from nand flash
#define NFIsBusy() (!(rNFSTAT&1))//whether nand flash is busy?
#define NFIsReady() (rNFSTAT&1) //whether nand flash is ready?
#define NF_WAITRB() {while(!(rNFSTAT&(1<<0)));}
#define NFBlcokAddr 0x33ffb000//the last block of nand flash.16KB/block
#define READCMD0 0
#define READCMD1 1
#define READCMD2 0x50
#define ERASECMD0 0x60
#define ERASECMD1 0xd0
#define PROGCMD0 0x80
#define PROGCMD1 0x10
#define NFSTATUS 0x70
#define RdIDCMD 0x90
U32 WritePage(U32 addr, U8 *buf);
U32 ReadPage(U32 addr, U8 *buf);
U32 EraseBlock(U32 addr);
U32 ReadChipId(void);
U32 ReadChipId(void);
void InitNandCfg(void);
void InitNandFlash(void);
U32 MarkBadBlk(U32 addr);
#endif /*__NANDFLASH_H__*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -