📄 nand.h
字号:
#include "2410addr.h"
#include "def.h"
#define NF_CMD(cmd) {rNFCMD=cmd;}
#define NF_ADDR(addr) {rNFADDR=addr;}
#define NF_nFCE_L() {rNFCONF&=~(1<<11);} //Nand Flash Chip Enable
#define NF_nFCE_H() {rNFCONF|=(1<<11);} //Nand Flash Chip Disable
#define NF_RSTECC() {rNFCONF|=(1<<12);} //Initialize ECC
#define NF_RDDATA() (rNFDATA)
#define NF_WRDATA(data) {rNFDATA=data;}
#define NF_WAITRB() {while(!(rNFSTAT&(1<<0)));}
//wait tWB and check F_RNB pin.
#define ID_K9S1208V0M 0xec76
#define NAND_SECTOR_SIZE 512
#define NAND_BLOCK_MASK (NAND_SECTOR_SIZE - 1)
#if 1
// HCLK=100Mhz
#define TACLS 0//0 //1clk(0ns)
#define TWRPH0 3//2 //3clk(25ns)
#define TWRPH1 0//0 //1clk(10ns) //TACLS+TWRPH0+TWRPH1>=50ns
#else
// HCLK=50Mhz
#define TACLS 0 //1clk(0ns)
#define TWRPH0 1 //2clk(25ns)
#define TWRPH1 0 //1clk(10ns)
#endif
// 1block=(512+16)bytes x 32pages
// 4096block
// A[23:14][13:9]
// block page
extern void __RdPage512(U8 *bufPt);
static void wait_idle(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -