STM32H735xx HAL User Manual
Data Structures | Defines | Typedefs | Enumerations | Functions
stm32h7xx_hal_nand.h File Reference

Header file of NAND HAL module. More...

#include "stm32h7xx_ll_fmc.h"

Go to the source code of this file.

Data Structures

struct  NAND_IDTypeDef
 NAND Memory electronic signature Structure definition. More...
struct  NAND_AddressTypeDef
 NAND Memory address Structure definition. More...
struct  NAND_DeviceConfigTypeDef
 NAND Memory info Structure definition. More...
struct  __NAND_HandleTypeDef
 NAND handle Structure definition. More...

Defines

#define __HAL_NAND_RESET_HANDLE_STATE(__HANDLE__)
 Reset NAND handle state.
#define NAND_DEVICE   0x80000000UL
#define NAND_WRITE_TIMEOUT   0x01000000UL
#define CMD_AREA   (1UL<<16U) /* A16 = CLE high */
#define ADDR_AREA   (1UL<<17U) /* A17 = ALE high */
#define NAND_CMD_AREA_A   ((uint8_t)0x00)
#define NAND_CMD_AREA_B   ((uint8_t)0x01)
#define NAND_CMD_AREA_C   ((uint8_t)0x50)
#define NAND_CMD_AREA_TRUE1   ((uint8_t)0x30)
#define NAND_CMD_WRITE0   ((uint8_t)0x80)
#define NAND_CMD_WRITE_TRUE1   ((uint8_t)0x10)
#define NAND_CMD_ERASE0   ((uint8_t)0x60)
#define NAND_CMD_ERASE1   ((uint8_t)0xD0)
#define NAND_CMD_READID   ((uint8_t)0x90)
#define NAND_CMD_STATUS   ((uint8_t)0x70)
#define NAND_CMD_LOCK_STATUS   ((uint8_t)0x7A)
#define NAND_CMD_RESET   ((uint8_t)0xFF)
#define NAND_VALID_ADDRESS   0x00000100UL
#define NAND_INVALID_ADDRESS   0x00000200UL
#define NAND_TIMEOUT_ERROR   0x00000400UL
#define NAND_BUSY   0x00000000UL
#define NAND_ERROR   0x00000001UL
#define NAND_READY   0x00000040UL
#define ARRAY_ADDRESS(__ADDRESS__, __HANDLE__)
 NAND memory address computation.
#define COLUMN_ADDRESS(__HANDLE__)   ((__HANDLE__)->Config.PageSize)
 NAND memory Column address computation.
#define ADDR_1ST_CYCLE(__ADDRESS__)   (uint8_t)(__ADDRESS__) /* 1st addressing cycle */
 NAND memory address cycling.
#define ADDR_2ND_CYCLE(__ADDRESS__)   (uint8_t)((__ADDRESS__) >> 8) /* 2nd addressing cycle */
#define ADDR_3RD_CYCLE(__ADDRESS__)   (uint8_t)((__ADDRESS__) >> 16) /* 3rd addressing cycle */
#define ADDR_4TH_CYCLE(__ADDRESS__)   (uint8_t)((__ADDRESS__) >> 24) /* 4th addressing cycle */
#define COLUMN_1ST_CYCLE(__ADDRESS__)   (uint8_t)((__ADDRESS__) & 0xFFU) /* 1st Column addressing cycle */
 NAND memory Columns cycling.
#define COLUMN_2ND_CYCLE(__ADDRESS__)   (uint8_t)((__ADDRESS__) >> 8) /* 2nd Column addressing cycle */

Typedefs

typedef struct __NAND_HandleTypeDef NAND_HandleTypeDef
 NAND handle Structure definition.
typedef void(* pNAND_CallbackTypeDef )(NAND_HandleTypeDef *hnand)
 HAL NAND Callback pointer definition.

Enumerations

enum  HAL_NAND_StateTypeDef { HAL_NAND_STATE_RESET = 0x00U, HAL_NAND_STATE_READY = 0x01U, HAL_NAND_STATE_BUSY = 0x02U, HAL_NAND_STATE_ERROR = 0x03U }
 HAL NAND State structures definition. More...
enum  HAL_NAND_CallbackIDTypeDef { HAL_NAND_MSP_INIT_CB_ID = 0x00U, HAL_NAND_MSP_DEINIT_CB_ID = 0x01U, HAL_NAND_IT_CB_ID = 0x02U }
 HAL NAND Callback ID enumeration definition. More...

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.
HAL_StatusTypeDef HAL_NAND_DeInit (NAND_HandleTypeDef *hnand)
 Perform NAND memory De-Initialization sequence.
HAL_StatusTypeDef HAL_NAND_ConfigDevice (NAND_HandleTypeDef *hnand, NAND_DeviceConfigTypeDef *pDeviceConfig)
 Configure the device: Enter the physical parameters of the device.
HAL_StatusTypeDef HAL_NAND_Read_ID (NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID)
 Read the NAND memory electronic signature.
__weak void HAL_NAND_MspInit (NAND_HandleTypeDef *hnand)
 NAND MSP Init.
__weak void HAL_NAND_MspDeInit (NAND_HandleTypeDef *hnand)
 NAND MSP DeInit.
void HAL_NAND_IRQHandler (NAND_HandleTypeDef *hnand)
 This function handles NAND device interrupt request.
__weak void HAL_NAND_ITCallback (NAND_HandleTypeDef *hnand)
 NAND interrupt feature callback.
HAL_StatusTypeDef HAL_NAND_Reset (NAND_HandleTypeDef *hnand)
 NAND memory reset.
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)
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)
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)
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)
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)
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)
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)
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)
HAL_StatusTypeDef HAL_NAND_Erase_Block (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress)
 NAND memory Block erase.
uint32_t HAL_NAND_Address_Inc (NAND_HandleTypeDef *hnand, NAND_AddressTypeDef *pAddress)
 Increment the NAND memory address.
HAL_StatusTypeDef HAL_NAND_RegisterCallback (NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef CallbackId, pNAND_CallbackTypeDef pCallback)
 Register a User NAND Callback To be used instead of the weak (surcharged) predefined callback.
HAL_StatusTypeDef HAL_NAND_UnRegisterCallback (NAND_HandleTypeDef *hnand, HAL_NAND_CallbackIDTypeDef CallbackId)
 Unregister a User NAND Callback NAND Callback is redirected to the weak (surcharged) predefined callback.
HAL_StatusTypeDef HAL_NAND_ECC_Enable (NAND_HandleTypeDef *hnand)
 Enables dynamically NAND ECC feature.
HAL_StatusTypeDef HAL_NAND_ECC_Disable (NAND_HandleTypeDef *hnand)
 Disables dynamically FMC_NAND ECC feature.
HAL_StatusTypeDef HAL_NAND_GetECC (NAND_HandleTypeDef *hnand, uint32_t *ECCval, uint32_t Timeout)
 Disables dynamically NAND ECC feature.
HAL_NAND_StateTypeDef HAL_NAND_GetState (NAND_HandleTypeDef *hnand)
 return the NAND state
uint32_t HAL_NAND_Read_Status (NAND_HandleTypeDef *hnand)
 NAND memory read status.

Detailed Description

Header file of NAND HAL module.

Author:
MCD Application Team
Attention:

Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32h7xx_hal_nand.h.