📄 nfc.h
字号:
#ifndef __NFC_H__
#define __NFC_H__
/*---------------------------------------------------------------------------*/
/* NFC ERROR code for internal */
/*---------------------------------------------------------------------------*/
#define NFC_NO_ERR 0x00
#define NFC_SB_1BIT_ECC_ERR 0x01
#define NFC_SB_2BIT_ECC_ERR 0x02
#define NFC_PB_1BIT_ECC_ERR 0x04
#define NFC_PB_2BIT_ECC_ERR 0x08
#define NFC_ERASE_ERR 0x10
#define NFC_WRITE_ERR 0x20
#define NFC_READ_ERR 0x40
#define NFC_ILLEGAL_ACCESS 0x80
/* Operation Type */
#define NFC_CMD_RD_PB_ECC 0x0000
#define NFC_CMD_RD_PB_NOECC 0x0100
#define NFC_CMD_RD_SB_ECC 0x0003
#define NFC_CMD_RD_SB_NOECC 0x0103
#define NFC_CMD_WR_PB_ECC 0x0085
#define NFC_CMD_WR_PB_NOECC 0x0185
#define NFC_CMD_WR_SB_ECC 0x008A
#define NFC_CMD_WR_SB_NOECC 0x018A
/****************************************************************************/
#define NAND_FLASH_PAGE_PER_BLOCK 32
#define NAND_FLASH_PAGE_MAIN_SIZE 512
#define NAND_FLASH_PAGE_SPARE_SIZE 16
#define NF_FMS_2KB 0x20
//#define NF_FMS_512B 0x00
#define NF_16BIT 0x10
//#define NF_8BIT 0x00
/***********************************************************/
/* NAND Flash Command Set for 16-bit I/O */
/***********************************************************/
#define NAND_CMD_READ (0x0000)
#define NAND_CMD_READ1 (0x0001)
#define NAND_CMD_READ2 (0x0050)
#define NAND_CMD_READ_CONFIRM (0x0030)
#define NAND_CMD_PAGE_PROG (0x0080)
#define NAND_CMD_PAGE_PROG_CONFIRM (0x0010)
#define NAND_CMD_ERASE (0x0060)
#define NAND_CMD_ERASE_CONFIRM (0x00D0)
#define NAND_CMD_READID (0x0090)
#define NAND_CMD_RESET (0x00FF)
#define NAND_CMD_READ_STATUS (0x0070)
/***********************************************************/
/* Settings for NFC Config1 Register */
/***********************************************************/
#define NFC_CONFIG1_ECC_EN (0x0008)
#define NFC_CONFIG1_SP_ONLY (0x0004)
#define NFC_CONFIG1_READ (0x0000)
#define NFC_CONFIG1_WRITE (0x0000)
/***********************************************************/
/* MACRO */
/***********************************************************/
#define NFC_BUSY (!( _reg_NFC_NF_CONFIG2 & 0x8000 ))
#ifdef _STANDALONE_
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
#endif
void nfc_block_lock(void);
void nfc_block_unlock(u16, u16);
u32 nfc_read_spare(u16, u32*, u32*);
u32 nfc_read_page (u16, u32*, u32*);
u32 nfc_write_page (u16, u32*, u32*);
u32 nfc_erase(u16);
u32 nfc_readid(u32*);
void nfc_init(void);
#endif /* __NFC_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -