Microchip® Advanced Software Framework

nand_flash_mem.h File Reference

NAND Flash ctrl access interface definition.

This file contains ctrl access interface functions of NAND Flash module.

Copyright (c) 2012-2018 Microchip Technology Inc. and its subsidiaries.

#include "ctrl_access.h"

Macros

#define NAND_FLASH_BUSY   2
 
#define NAND_FLASH_NOT_INIT   0
 
#define NAND_FLASH_READY   1
 
#define NAND_FLASH_UNLOADED   3
 
#define NAND_FLASH_VERSION   "1.0"
 

Functions

Ctrl_status nand_flash_mem_2_ram (uint32_t addr, void *ram)
 This function transfers 1 data sector from memory to RAM. More...
 
Ctrl_status nand_flash_ram_2_mem (uint32_t addr, const void *ram)
 This function transfers 1 data sector from RAM to memory. More...
 
Ctrl_status nand_flash_read_capacity (uint32_t *u32_nb_sector)
 This function returns the address of the last valid sector. More...
 
bool nand_flash_removal (void)
 This function informs about the memory type. More...
 
Ctrl_status nand_flash_test_unit_ready (void)
 This function tests memory state, and starts memory initialization. More...
 
bool nand_flash_unload (bool unload)
 This function unloads/loads the memory. More...
 
bool nand_flash_wr_protect (void)
 This function returns the write-protected mode. More...
 

#define NAND_FLASH_BUSY   2
#define NAND_FLASH_NOT_INIT   0
#define NAND_FLASH_UNLOADED   3
#define NAND_FLASH_VERSION   "1.0"

Ctrl_status nand_flash_mem_2_ram ( uint32_t  addr,
void *  ram 
)

This function transfers 1 data sector from memory to RAM.

Parameters
addrSector address to start read
ramAddress of RAM buffer
Returns
Ctrl_status

This function transfers 1 data sector from memory to RAM.

Parameters
addrSector address to start read
ramAddress of RAM buffer
Returns
Ctrl_status

References CTRL_BUSY, CTRL_FAIL, CTRL_GOOD, nand_flash_read(), NAND_FLASH_READY, and nand_flash_status.

Ctrl_status nand_flash_ram_2_mem ( uint32_t  addr,
const void *  ram 
)

This function transfers 1 data sector from RAM to memory.

Parameters
addrSector address to start write
ramAddress of RAM buffer
Returns
Ctrl_status

This function transfers 1 data sector from RAM to memory.

Parameters
addrSector address to start write
ramAddress of RAM buffer
Returns
Ctrl_status

References CTRL_BUSY, CTRL_FAIL, CTRL_GOOD, NAND_FLASH_READY, nand_flash_status, and nand_flash_write().

Ctrl_status nand_flash_read_capacity ( uint32_t *  nb_sector)

This function returns the address of the last valid sector.

Parameters
uint32_t_nb_sectorPointer to number of sectors (sector=512 bytes)
Returns
Ctrl_status
Parameters
nb_sectorPointer to number of sectors (sector=512 bytes)
Returns
Ctrl_status

References addr_address, cmd_address, CTRL_BUSY, CTRL_GOOD, CTRL_NO_PRESENT, data_address, NAND_FLASH_NOT_INIT, NAND_FLASH_READY, nand_flash_status, nand_flash_translation_get_device_size_in_byte(), nand_flash_translation_initialize(), NAND_FLASH_UNLOADED, nf_translation, page_read_buffer, page_write_buffer, and SECTOR_SIZE.

bool nand_flash_removal ( void  )

This function informs about the memory type.

Returns
true if the memory is removable
bool nand_flash_unload ( bool  unload)

This function unloads/loads the memory.

Returns
true if memory unload/load success

References nand_flash_flush(), NAND_FLASH_NOT_INIT, NAND_FLASH_READY, nand_flash_status, and NAND_FLASH_UNLOADED.

bool nand_flash_wr_protect ( void  )

This function returns the write-protected mode.

Returns
true if the memory is protected