STM32F479xx HAL User Manual
Data Structures | Defines | Enumerations | Functions
stm32f4xx_hal_flash.h File Reference

Header file of FLASH HAL module. More...

#include "stm32f4xx_hal_def.h"
#include "stm32f4xx_hal_flash_ex.h"
#include "stm32f4xx_hal_flash_ramfunc.h"

Go to the source code of this file.

Data Structures

struct  FLASH_ProcessTypeDef
 FLASH handle Structure definition. More...

Defines

#define HAL_FLASH_ERROR_NONE   0x00000000U
#define HAL_FLASH_ERROR_RD   0x00000001U
#define HAL_FLASH_ERROR_PGS   0x00000002U
#define HAL_FLASH_ERROR_PGP   0x00000004U
#define HAL_FLASH_ERROR_PGA   0x00000008U
#define HAL_FLASH_ERROR_WRP   0x00000010U
#define HAL_FLASH_ERROR_OPERATION   0x00000020U
#define FLASH_TYPEPROGRAM_BYTE   0x00000000U
#define FLASH_TYPEPROGRAM_HALFWORD   0x00000001U
#define FLASH_TYPEPROGRAM_WORD   0x00000002U
#define FLASH_TYPEPROGRAM_DOUBLEWORD   0x00000003U
#define FLASH_FLAG_EOP   FLASH_SR_EOP
#define FLASH_FLAG_OPERR   FLASH_SR_SOP
#define FLASH_FLAG_WRPERR   FLASH_SR_WRPERR
#define FLASH_FLAG_PGAERR   FLASH_SR_PGAERR
#define FLASH_FLAG_PGPERR   FLASH_SR_PGPERR
#define FLASH_FLAG_PGSERR   FLASH_SR_PGSERR
#define FLASH_FLAG_RDERR   FLASH_SR_RDERR
#define FLASH_FLAG_BSY   FLASH_SR_BSY
#define FLASH_IT_EOP   FLASH_CR_EOPIE
#define FLASH_IT_ERR   0x02000000U
#define FLASH_PSIZE_BYTE   0x00000000U
#define FLASH_PSIZE_HALF_WORD   0x00000100U
#define FLASH_PSIZE_WORD   0x00000200U
#define FLASH_PSIZE_DOUBLE_WORD   0x00000300U
#define CR_PSIZE_MASK   0xFFFFFCFFU
#define RDP_KEY   ((uint16_t)0x00A5)
#define FLASH_KEY1   0x45670123U
#define FLASH_KEY2   0xCDEF89ABU
#define FLASH_OPT_KEY1   0x08192A3BU
#define FLASH_OPT_KEY2   0x4C5D6E7FU
#define __HAL_FLASH_SET_LATENCY(__LATENCY__)   (*(__IO uint8_t *)ACR_BYTE0_ADDRESS = (uint8_t)(__LATENCY__))
 Set the FLASH Latency.
#define __HAL_FLASH_GET_LATENCY()   (READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY))
 Get the FLASH Latency.
#define __HAL_FLASH_PREFETCH_BUFFER_ENABLE()   (FLASH->ACR |= FLASH_ACR_PRFTEN)
 Enable the FLASH prefetch buffer.
#define __HAL_FLASH_PREFETCH_BUFFER_DISABLE()   (FLASH->ACR &= (~FLASH_ACR_PRFTEN))
 Disable the FLASH prefetch buffer.
#define __HAL_FLASH_INSTRUCTION_CACHE_ENABLE()   (FLASH->ACR |= FLASH_ACR_ICEN)
 Enable the FLASH instruction cache.
#define __HAL_FLASH_INSTRUCTION_CACHE_DISABLE()   (FLASH->ACR &= (~FLASH_ACR_ICEN))
 Disable the FLASH instruction cache.
#define __HAL_FLASH_DATA_CACHE_ENABLE()   (FLASH->ACR |= FLASH_ACR_DCEN)
 Enable the FLASH data cache.
#define __HAL_FLASH_DATA_CACHE_DISABLE()   (FLASH->ACR &= (~FLASH_ACR_DCEN))
 Disable the FLASH data cache.
#define __HAL_FLASH_INSTRUCTION_CACHE_RESET()
 Resets the FLASH instruction Cache.
#define __HAL_FLASH_DATA_CACHE_RESET()
 Resets the FLASH data Cache.
#define __HAL_FLASH_ENABLE_IT(__INTERRUPT__)   (FLASH->CR |= (__INTERRUPT__))
 Enable the specified FLASH interrupt.
#define __HAL_FLASH_DISABLE_IT(__INTERRUPT__)   (FLASH->CR &= ~(uint32_t)(__INTERRUPT__))
 Disable the specified FLASH interrupt.
#define __HAL_FLASH_GET_FLAG(__FLAG__)   ((FLASH->SR & (__FLAG__)))
 Get the specified FLASH flag status.
#define __HAL_FLASH_CLEAR_FLAG(__FLAG__)   (FLASH->SR = (__FLAG__))
 Clear the specified FLASH flags.
#define ACR_BYTE0_ADDRESS   0x40023C00U
 ACR register byte 0 (Bits[7:0]) base address.
#define OPTCR_BYTE0_ADDRESS   0x40023C14U
 OPTCR register byte 0 (Bits[7:0]) base address.
#define OPTCR_BYTE1_ADDRESS   0x40023C15U
 OPTCR register byte 1 (Bits[15:8]) base address.
#define OPTCR_BYTE2_ADDRESS   0x40023C16U
 OPTCR register byte 2 (Bits[23:16]) base address.
#define OPTCR_BYTE3_ADDRESS   0x40023C17U
 OPTCR register byte 3 (Bits[31:24]) base address.
#define IS_FLASH_TYPEPROGRAM(VALUE)

Enumerations

enum  FLASH_ProcedureTypeDef { FLASH_PROC_NONE = 0U, FLASH_PROC_SECTERASE, FLASH_PROC_MASSERASE, FLASH_PROC_PROGRAM }
 FLASH Procedure structure definition. More...

Functions

HAL_StatusTypeDef HAL_FLASH_Program (uint32_t TypeProgram, uint32_t Address, uint64_t Data)
 Program byte, halfword, word or double word at a specified address.
HAL_StatusTypeDef HAL_FLASH_Program_IT (uint32_t TypeProgram, uint32_t Address, uint64_t Data)
 Program byte, halfword, word or double word at a specified address with interrupt enabled.
void HAL_FLASH_IRQHandler (void)
 This function handles FLASH interrupt request.
__weak void HAL_FLASH_EndOfOperationCallback (uint32_t ReturnValue)
 FLASH end of operation interrupt callback.
__weak void HAL_FLASH_OperationErrorCallback (uint32_t ReturnValue)
 FLASH operation error interrupt callback.
HAL_StatusTypeDef HAL_FLASH_Unlock (void)
 Unlock the FLASH control register access.
HAL_StatusTypeDef HAL_FLASH_Lock (void)
 Locks the FLASH control register access.
HAL_StatusTypeDef HAL_FLASH_OB_Unlock (void)
 Unlock the FLASH Option Control Registers access.
HAL_StatusTypeDef HAL_FLASH_OB_Lock (void)
 Lock the FLASH Option Control Registers access.
HAL_StatusTypeDef HAL_FLASH_OB_Launch (void)
 Launch the option byte loading.
uint32_t HAL_FLASH_GetError (void)
 Get the specific FLASH error flag.
HAL_StatusTypeDef FLASH_WaitForLastOperation (uint32_t Timeout)
 Wait for a FLASH operation to complete.

Detailed Description

Header file of FLASH HAL module.

Author:
MCD Application Team
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 stm32f4xx_hal_flash.h.