STM32H735xx HAL User Manual
Functions
Input and Output functions
NAND Exported Functions

Input Output and memory control functions. More...

Functions

HAL_StatusTypeDef HAL_NAND_Read_ID (NAND_HandleTypeDef *hnand, NAND_IDTypeDef *pNAND_ID)
 Read the NAND memory electronic signature.
HAL_StatusTypeDef HAL_NAND_Reset (NAND_HandleTypeDef *hnand)
 NAND memory reset.
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_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_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_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_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_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_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_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_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.

Detailed Description

Input Output and memory control functions.

  ==============================================================================
                    ##### NAND Input and Output functions #####
  ==============================================================================
  [..]
    This section provides functions allowing to use and control the NAND
    memory


Function Documentation

uint32_t HAL_NAND_Address_Inc ( NAND_HandleTypeDef hnand,
NAND_AddressTypeDef pAddress 
)

Increment the NAND memory address.

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
Return values:
Thenew status of the increment address operation. It can be:
  • NAND_VALID_ADDRESS: When the new address is valid address
  • NAND_INVALID_ADDRESS: When the new address is invalid address

Definition at line 1872 of file stm32h7xx_hal_nand.c.

References NAND_AddressTypeDef::Block, NAND_DeviceConfigTypeDef::BlockSize, __NAND_HandleTypeDef::Config, NAND_INVALID_ADDRESS, NAND_VALID_ADDRESS, NAND_AddressTypeDef::Page, NAND_AddressTypeDef::Plane, NAND_DeviceConfigTypeDef::PlaneNbr, and NAND_DeviceConfigTypeDef::PlaneSize.

HAL_StatusTypeDef HAL_NAND_ConfigDevice ( NAND_HandleTypeDef hnand,
NAND_DeviceConfigTypeDef pDeviceConfig 
)

Configure the device: Enter the physical parameters of the device.

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pDeviceConfigpointer to NAND_DeviceConfigTypeDef structure
Return values:
HALstatus

Definition at line 497 of file stm32h7xx_hal_nand.c.

References NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, __NAND_HandleTypeDef::Config, NAND_DeviceConfigTypeDef::ExtraCommandEnable, NAND_DeviceConfigTypeDef::PageSize, NAND_DeviceConfigTypeDef::PlaneNbr, NAND_DeviceConfigTypeDef::PlaneSize, and NAND_DeviceConfigTypeDef::SpareAreaSize.

HAL_StatusTypeDef HAL_NAND_Erase_Block ( NAND_HandleTypeDef hnand,
NAND_AddressTypeDef pAddress 
)

NAND memory Block erase.

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
Return values:
HALstatus

Definition at line 1816 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, CMD_AREA, HAL_NAND_STATE_BUSY, HAL_NAND_STATE_READY, NAND_CMD_ERASE0, NAND_CMD_ERASE1, NAND_DEVICE, and __NAND_HandleTypeDef::State.

HAL_StatusTypeDef HAL_NAND_Read_ID ( NAND_HandleTypeDef hnand,
NAND_IDTypeDef pNAND_ID 
)

Read the NAND memory electronic signature.

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pNAND_IDNAND ID structure
Return values:
HALstatus

Definition at line 381 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_4TH_CYCLE, ADDR_AREA, CMD_AREA, NAND_IDTypeDef::Device_Id, NAND_IDTypeDef::Fourth_Id, HAL_NAND_STATE_BUSY, HAL_NAND_STATE_READY, __NAND_HandleTypeDef::Init, NAND_IDTypeDef::Maker_Id, NAND_CMD_READID, NAND_DEVICE, __NAND_HandleTypeDef::State, and NAND_IDTypeDef::Third_Id.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to destination read buffer. pBuffer should be 16bits aligned
NumPageToReadnumber of pages to read from block
Return values:
HALstatus

Definition at line 677 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, __NAND_HandleTypeDef::Config, NAND_DeviceConfigTypeDef::ExtraCommandEnable, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, __NAND_HandleTypeDef::Init, NAND_CMD_AREA_A, NAND_CMD_AREA_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to destination read buffer
NumPageToReadnumber of pages to read from block
Return values:
HALstatus

Definition at line 519 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, __NAND_HandleTypeDef::Config, NAND_DeviceConfigTypeDef::ExtraCommandEnable, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, NAND_CMD_AREA_A, NAND_CMD_AREA_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to source buffer to write. pBuffer should be 16bits aligned.
NumSpareAreaToReadNumber of spare area to read
Return values:
HALstatus

Definition at line 1327 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, COLUMN_1ST_CYCLE, COLUMN_2ND_CYCLE, COLUMN_ADDRESS, __NAND_HandleTypeDef::Config, NAND_DeviceConfigTypeDef::ExtraCommandEnable, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, NAND_CMD_AREA_A, NAND_CMD_AREA_C, NAND_CMD_AREA_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, NAND_DeviceConfigTypeDef::SpareAreaSize, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to source buffer to write
NumSpareAreaToReadNumber of spare area to read
Return values:
HALstatus

Definition at line 1162 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, COLUMN_1ST_CYCLE, COLUMN_2ND_CYCLE, COLUMN_ADDRESS, __NAND_HandleTypeDef::Config, NAND_DeviceConfigTypeDef::ExtraCommandEnable, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, NAND_CMD_AREA_A, NAND_CMD_AREA_C, NAND_CMD_AREA_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, NAND_DeviceConfigTypeDef::SpareAreaSize, and __NAND_HandleTypeDef::State.

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.

Parameters:
hnand: NAND handle
CallbackId: ID of the callback to be registered This parameter can be one of the following values:
pCallback: pointer to the Callback function
Return values:
status

Definition at line 1913 of file stm32h7xx_hal_nand.c.

References HAL_NAND_IT_CB_ID, HAL_NAND_MSP_DEINIT_CB_ID, HAL_NAND_MSP_INIT_CB_ID, HAL_NAND_STATE_READY, HAL_NAND_STATE_RESET, __NAND_HandleTypeDef::ItCallback, __NAND_HandleTypeDef::MspDeInitCallback, __NAND_HandleTypeDef::MspInitCallback, and __NAND_HandleTypeDef::State.

HAL_StatusTypeDef HAL_NAND_Reset ( NAND_HandleTypeDef hnand)

NAND memory reset.

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
Return values:
HALstatus

Definition at line 452 of file stm32h7xx_hal_nand.c.

References CMD_AREA, HAL_NAND_STATE_BUSY, HAL_NAND_STATE_READY, NAND_DEVICE, and __NAND_HandleTypeDef::State.

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.

Parameters:
hnand: NAND handle
CallbackId: ID of the callback to be unregistered This parameter can be one of the following values:
Return values:
status

Definition at line 1983 of file stm32h7xx_hal_nand.c.

References HAL_NAND_IT_CB_ID, HAL_NAND_ITCallback(), HAL_NAND_MSP_DEINIT_CB_ID, HAL_NAND_MSP_INIT_CB_ID, HAL_NAND_MspDeInit(), HAL_NAND_MspInit(), HAL_NAND_STATE_READY, HAL_NAND_STATE_RESET, __NAND_HandleTypeDef::ItCallback, __NAND_HandleTypeDef::MspDeInitCallback, __NAND_HandleTypeDef::MspInitCallback, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to source buffer to write. pBuffer should be 16bits aligned
NumPageToWritenumber of pages to write to block
Return values:
HALstatus

Definition at line 998 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, __NAND_HandleTypeDef::Config, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, __NAND_HandleTypeDef::Init, NAND_CMD_AREA_A, NAND_CMD_WRITE0, NAND_CMD_WRITE_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to source buffer to write
NumPageToWritenumber of pages to write to block
Return values:
HALstatus

Definition at line 845 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, __NAND_HandleTypeDef::Config, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, NAND_CMD_AREA_A, NAND_CMD_WRITE0, NAND_CMD_WRITE_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to source buffer to write. pBuffer should be 16bits aligned.
NumSpareAreaTowritenumber of spare areas to write to block
Return values:
HALstatus

Definition at line 1655 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, COLUMN_1ST_CYCLE, COLUMN_2ND_CYCLE, COLUMN_ADDRESS, __NAND_HandleTypeDef::Config, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, NAND_CMD_AREA_A, NAND_CMD_AREA_C, NAND_CMD_WRITE0, NAND_CMD_WRITE_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, NAND_DeviceConfigTypeDef::SpareAreaSize, and __NAND_HandleTypeDef::State.

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)

Parameters:
hnandpointer to a NAND_HandleTypeDef structure that contains the configuration information for NAND module.
pAddresspointer to NAND address structure
pBufferpointer to source buffer to write
NumSpareAreaTowritenumber of spare areas to write to block
Return values:
HALstatus

Definition at line 1492 of file stm32h7xx_hal_nand.c.

References ADDR_1ST_CYCLE, ADDR_2ND_CYCLE, ADDR_3RD_CYCLE, ADDR_AREA, ARRAY_ADDRESS, NAND_DeviceConfigTypeDef::BlockNbr, NAND_DeviceConfigTypeDef::BlockSize, CMD_AREA, COLUMN_1ST_CYCLE, COLUMN_2ND_CYCLE, COLUMN_ADDRESS, __NAND_HandleTypeDef::Config, HAL_GetTick(), HAL_NAND_Read_Status(), HAL_NAND_STATE_BUSY, HAL_NAND_STATE_ERROR, HAL_NAND_STATE_READY, NAND_CMD_AREA_A, NAND_CMD_AREA_C, NAND_CMD_WRITE0, NAND_CMD_WRITE_TRUE1, NAND_DEVICE, NAND_READY, NAND_WRITE_TIMEOUT, NAND_DeviceConfigTypeDef::PageSize, NAND_DeviceConfigTypeDef::SpareAreaSize, and __NAND_HandleTypeDef::State.