📄 nand_flash_write.h
字号:
#include "./typedef.h"
// NANDFLASH register
#define __REGb(x) (*(volatile U8 *)(x))
#define __REGi(x) (*(volatile U32 *)(x))
#define NF_BASE 0x4e000000
#define NFCONF __REGi(NF_BASE + 0x0)
#define NFCMD __REGb(NF_BASE + 0x4)
#define NFADDR __REGb(NF_BASE + 0x8)
#define NFDATA __REGb(NF_BASE + 0xc)
#define NFSTAT __REGi(NF_BASE + 0x10)
#define NFECC __REGi(NF_BASE + 0x14)
#define NFECC0 __REGb(NF_BASE + 0x14)
#define NFECC1 __REGb(NF_BASE + 0x15)
#define NFECC2 __REGb(NF_BASE + 0x16)
#define NF_CMD(cmd) {NFCMD=cmd;}
#define NF_ADDR(addr) {NFADDR=addr;}
#define NF_EN() {NFCONF&=~(1<<11);}
#define NF_DI() {NFCONF|=(1<<11);}
#define NF_RDDATA() (NFDATA)
#define NF_WRDATA(data) {NFDATA=data;}
#define NF_WAITRB() {while(!(NFSTAT&(1<<0)));}
#define NF_RSTECC() {NFCONF=(1<<12);}
///////////////////////////////////////////////////////
//U8 seBuf[6] = {0};
void NF_Reset(void);
void NF_Init(void);
U32 NF_MarkBadBloc(U32);
U32 NF_IsBadBlock(U32);
U32 NF_EraseBlock(U32);
U32 NF_WritePage(U32, U32, U8 *);
void nand_write(U32, U32, U8 *);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -