34 #define NAND256W3A_SPARESIZE 16
37 #define NAND_SPARE_BADBLOCK_POS 5
38 #define NAND_SPARE_ECC0_POS 6
39 #define NAND_SPARE_ECC1_POS 7
40 #define NAND_SPARE_ECC2_POS 8
int NANDFLASH_WritePage(uint32_t address, uint8_t *buffer)
Write a page in nand device. The ECC generated while writing the page data is written in the spare ar...
int NANDFLASH_MarkBadBlock(uint32_t address)
Mark a block as bad.
int NANDFLASH_CopyPage(uint32_t dstAddr, uint32_t srcAddr)
Copy a page within the device to a new location.
int NANDFLASH_ReadSpare(uint32_t address, uint8_t *buffer)
Read the spare area content of a page.
int NANDFLASH_Init(int dmaCh)
Initialize the NANDFLASH module.
int NANDFLASH_EccCorrect(uint32_t generatedEcc, uint32_t readEcc, uint8_t *data)
Check generated ECC against ECC read from device and correct data if possible.
NANDFLASH_Info_TypeDef * NANDFLASH_DeviceInfo(void)
Return a pointer to a NANDFLASH_Info_TypeDef structure, which contain vital nand flash device informa...
NANDFLASH device information structure.
NANDFLASH_Status_TypeDef
NANDFLASH status enumerator.
#define NAND256W3A_SPARESIZE
int NANDFLASH_ReadPage(uint32_t address, uint8_t *buffer)
Read a page from nand device. Ecc errors will be detected and corrected if possible. NANDFLASH_Info_TypeDef::ecc will be set to the ecc generated while reading the page data. NANDFLASH_Info_TypeDef::spare will be set to the content of the page spare area.
int NANDFLASH_EraseBlock(uint32_t address)
Erase a block in the nand flash.
bool NANDFLASH_AddressValid(uint32_t addr)
Check if an address is valid for the nand flash device.