📄 nfdrv.h
字号:
#ifndef __NFDRV_h__
#define __NFDRV_h__
// write your header here
/************************** Read Command ************************************/
#define NF_READ_A_AREA_CMD 0x00
#define NF_READ_B_AREA_CMD 0x01
#define NF_READ_C_AREA_CMD 0x50
/************************** Read ID Command *********************************/
#define NF_READ_ID_CMD 0x90
#define NF_RESET_CMD 0xff
/************************** Program command *********************************/
#define NF_SEQUENTIAL_DATA_INPUT_CMD 0x80
#define NF_PAGE_PROGRAM_CMD 0x10
/************************** Erase command ***********************************/
#define NF_BLOCK_ERASE_CMD 0x60
#define NF_BLOCK_ERASE_CONFIRM_CMD 0xD0
/************************** Read Status command *****************************/
#define NF_READ_STATUS_CMD 0x70
#define NF_BUFFER_SIZE (Byte)(133)
/***************** NF Pins Define *****************************************************/
//#define NF_BLOCK_SIZE 0x4000
#define NF_CLE_ENABLE() asm("R1=[P_IOA_Buffer]\n\t" "R1|=0x0010\n\t" "[P_IOA_Buffer]=R1")
#define NF_CLE_DISABLE() asm("R1=[P_IOA_Buffer]\n\t" "R1&=0xffef\n\t" "[P_IOA_Buffer]=R1")
#define NF_ALE_ENABLE() asm("R1=[P_IOA_Buffer]\n\t" "R1|=0x0020\n\t" "[P_IOA_Buffer]=R1")
#define NF_ALE_DISABLE() asm("R1=[P_IOA_Buffer]\n\t" "R1&=0xffdf\n\t" "[P_IOA_Buffer]=R1")
#define NF_CHIP_ENABLE() asm("R1=[P_IOB_Buffer]\n\t" "R1&=0xffef\n\t" "[P_IOB_Buffer]=R1")
#define NF_CHIP_DISABLE() asm("R1=[P_IOB_Buffer]\n\t" "R1|=0x0010\n\t" "[P_IOB_Buffer]=R1")
#define NF_WP_OPEN() asm("R1=[P_IOB_Buffer]\n\t" "R1&=0x7fff\n\t" "[P_IOB_Buffer]=R1")
#define NF_WP_CLOSE() asm("R1=[P_IOB_Buffer]\n\t" "R1|=0x8000\n\t" "[P_IOB_Buffer]=R1")
/*_____ D E C L A R A T I O N ______________________________________________*/
void NandFlashInit();
void NF_Reset();
void NF_PageRead(unsigned int wColumnAddr,unsigned long int wRowAddr, unsigned int *wrData);
unsigned int NF_ReadID();
#define NF_STATUS_PE 0x0001
#define NF_STATUS_RB 0x0004
#define NF_STATUS_WP 0x0008
unsigned int NF_EraseBlock(unsigned long int Addr32 );
unsigned int NF_PageProgram(unsigned int wColumnAddr,unsigned long int wRowAddr, unsigned int *wrData);
void NF_ReadMultiByte(unsigned long int dAddr, unsigned int wLen, unsigned int *wrData );
void DMA_NFtoD12(unsigned long int wAddr, unsigned int nbSector);
void DMA_D12toNF(unsigned long int wAddr, unsigned int nbSector);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -