STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_nand.c File Reference

NAND HAL module driver. This file provides a generic firmware to drive NAND memories mounted as external device. More...

Go to the source code of this file.

Functions

HAL_StatusTypeDef HAL_NAND_Init (NAND_HandleTypeDef *hnand, FMC_NAND_PCC_TimingTypeDef *ComSpace_Timing, FMC_NAND_PCC_TimingTypeDef *AttSpace_Timing)
 Perform NAND memory Initialization sequence. More...
 
HAL_StatusTypeDef HAL_NAND_DeInit (NAND_HandleTypeDef *hnand)
 Perform NAND memory De-Initialization sequence. More...
 
void HAL_NAND_MspInit (NAND_HandleTypeDef *hnand)
 Initialize the NAND MSP. More...
 
void HAL_NAND_MspDeInit (NAND_HandleTypeDef *hnand)
 DeInitialize the NAND MSP. More...
 
void HAL_NAND_IRQHandler (NAND_HandleTypeDef *hnand)
 This function handles NAND device interrupt request. More...
 
void HAL_NAND_ITCallback (NAND_HandleTypeDef *hnand)
 NAND interrupt feature callback. More...
 
HAL_StatusTypeDef HAL_NAND_Read_ID (NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID)
 Read the NAND memory electronic signature. More...
 
HAL_StatusTypeDef HAL_NAND_Reset (NAND_HandleTypeDef *hnand)
 NAND memory reset. More...
 
HAL_StatusTypeDef HAL_NAND_ConfigDevice (NAND_HandleTypeDef *hnand, NAND_DeviceConfigTypeDef *pDeviceConfig)
 Configure the device: Enter the physical parameters of the device. More...
 
HAL_StatusTypeDef HAL_NAND_Read_Page_8b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumPageToRead)
 Read Page(s) from NAND memory block (8-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Read_Page_16b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumPageToRead)
 Read Page(s) from NAND memory block (16-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Write_Page_8b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumPageToWrite)
 Write Page(s) to NAND memory block (8-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Write_Page_16b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumPageToWrite)
 Write Page(s) to NAND memory block (16-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Read_SpareArea_8b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumSpareAreaToRead)
 Read Spare area(s) from NAND memory (8-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Read_SpareArea_16b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumSpareAreaToRead)
 Read Spare area(s) from NAND memory (16-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Write_SpareArea_8b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint8_t *pBuffer, uint32_t NumSpareAreaTowrite)
 Write Spare area(s) to NAND memory (8-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Write_SpareArea_16b (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress, uint16_t *pBuffer, uint32_t NumSpareAreaTowrite)
 Write Spare area(s) to NAND memory (16-bits addressing) More...
 
HAL_StatusTypeDef HAL_NAND_Erase_Block (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress)
 NAND memory Block erase. More...
 
uint32_t HAL_NAND_Address_Inc (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress)
 Increment the NAND memory address. More...
 
HAL_StatusTypeDef HAL_NAND_ECC_Enable (NAND_HandleTypeDef *hnand)
 Enable dynamically NAND ECC feature. More...
 
HAL_StatusTypeDef HAL_NAND_ECC_Disable (NAND_HandleTypeDef *hnand)
 Disable dynamically NAND ECC feature. More...
 
HAL_StatusTypeDef HAL_NAND_GetECC (NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout)
 Get NAND ECC value. More...
 
HAL_NAND_StateTypeDef HAL_NAND_GetState (NAND_HandleTypeDef *hnand)
 Return the NAND state. More...
 
uint32_t HAL_NAND_Read_Status (NAND_HandleTypeDef *hnand)
 NAND memory read status. More...
 

Detailed Description

NAND HAL module driver. This file provides a generic firmware to drive NAND memories mounted as external device.

Author
MCD Application Team
==============================================================================
                       ##### How to use this driver #####
==============================================================================
  [..]
    This driver is a generic layered driver which contains a set of APIs used to
    control NAND flash memories. It uses the FMC layer functions to interface
    with NAND devices. This driver is used as follows:

    (+) NAND flash memory configuration sequence using the function HAL_NAND_Init()
        with control and timing parameters for both common and attribute spaces.

    (+) Read NAND flash memory maker and device IDs using the function
        HAL_NAND_Read_ID(). The read information is stored in the NAND_ID_TypeDef
        structure declared by the function caller.

    (+) Access NAND flash memory by read/write operations using the functions
        HAL_NAND_Read_Page_8b()/HAL_NAND_Read_SpareArea_8b(),
        HAL_NAND_Write_Page_8b()/HAL_NAND_Write_SpareArea_8b(),
        HAL_NAND_Read_Page_16b()/HAL_NAND_Read_SpareArea_16b(),
        HAL_NAND_Write_Page_16b()/HAL_NAND_Write_SpareArea_16b()
        to read/write page(s)/spare area(s). These functions use specific device
        information (Block, page size..) predefined by the user in the NAND_DeviceConfigTypeDef
        structure. The read/write address information is contained by the Nand_Address_Typedef
        structure passed as parameter.

    (+) Perform NAND flash Reset chip operation using the function HAL_NAND_Reset().

    (+) Perform NAND flash erase block operation using the function HAL_NAND_Erase_Block().
        The erase block address information is contained in the Nand_Address_Typedef
        structure passed as parameter.

    (+) Read the NAND flash status operation using the function HAL_NAND_Read_Status().

    (+) You can also control the NAND device by calling the control APIs HAL_NAND_ECC_Enable()/
        HAL_NAND_ECC_Disable() to respectively enable/disable the ECC code correction
        feature or the function HAL_NAND_GetECC() to get the ECC correction code.

    (+) You can monitor the NAND device HAL state by calling the function
        HAL_NAND_GetState()

  [..]
    (@) This driver is a set of generic APIs which handle standard NAND flash operations.
        If a NAND flash device contains different operations and/or implementations,
        it should be implemented separately.
Attention

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32l4xx_hal_nand.c.