STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_flash.c File Reference

FLASH HAL module driver. This file provides firmware functions to manage the following functionalities of the internal FLASH memory: More...

Go to the source code of this file.

Functions

static void FLASH_Program_DoubleWord (uint32_t Address, uint64_t Data)
 Program double-word (64-bit) at a specified address. More...
 
static void FLASH_Program_Fast (uint32_t Address, uint32_t DataAddress)
 Fast program a row double-word (64-bit) at a specified address. More...
 
HAL_StatusTypeDef HAL_FLASH_Program (uint32_t TypeProgram, uint32_t Address, uint64_t Data)
 Program double word or fast program of a row at a specified address. More...
 
HAL_StatusTypeDef HAL_FLASH_Program_IT (uint32_t TypeProgram, uint32_t Address, uint64_t Data)
 Program double word or fast program of a row at a specified address with interrupt enabled. More...
 
void HAL_FLASH_IRQHandler (void)
 Handle FLASH interrupt request. More...
 
void HAL_FLASH_EndOfOperationCallback (uint32_t ReturnValue)
 FLASH end of operation interrupt callback. More...
 
void HAL_FLASH_OperationErrorCallback (uint32_t ReturnValue)
 FLASH operation error interrupt callback. More...
 
HAL_StatusTypeDef HAL_FLASH_Unlock (void)
 Unlock the FLASH control register access. More...
 
HAL_StatusTypeDef HAL_FLASH_Lock (void)
 Lock the FLASH control register access. More...
 
HAL_StatusTypeDef HAL_FLASH_OB_Unlock (void)
 Unlock the FLASH Option Bytes Registers access. More...
 
HAL_StatusTypeDef HAL_FLASH_OB_Lock (void)
 Lock the FLASH Option Bytes Registers access. More...
 
HAL_StatusTypeDef HAL_FLASH_OB_Launch (void)
 Launch the option byte loading. More...
 
uint32_t HAL_FLASH_GetError (void)
 Get the specific FLASH error flag. More...
 
HAL_StatusTypeDef FLASH_WaitForLastOperation (uint32_t Timeout)
 Wait for a FLASH operation to complete. More...
 

Variables

FLASH_ProcessTypeDef pFlash
 Variable used for Program/Erase sectors under interruption. More...
 

Detailed Description

FLASH HAL module driver. This file provides firmware functions to manage the following functionalities of the internal FLASH memory:

Author
MCD Application Team
  • Program operations functions
  • Memory Control functions
  • Peripheral Errors functions
 ==============================================================================
                       ##### FLASH peripheral features #####
 ==============================================================================

 [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses
      to the Flash memory. It implements the erase and program Flash memory operations
      and the read and write protection mechanisms.

 [..] The Flash memory interface accelerates code execution with a system of instruction
      prefetch and cache lines.

 [..] The FLASH main features are:
     (+) Flash memory read operations
     (+) Flash memory program/erase operations
     (+) Read / write protections
     (+) Option bytes programming
     (+) Prefetch on I-Code
     (+) 32 cache lines of 4*64 bits on I-Code
     (+) 8 cache lines of 4*64 bits on D-Code
     (+) Error code correction (ECC) : Data in flash are 72-bits word
         (8 bits added per double word)


                       ##### How to use this driver #####
==============================================================================
   [..]
     This driver provides functions and macros to configure and program the FLASH
     memory of all STM32L4xx devices.

     (#) Flash Memory IO Programming functions:
          (++) Lock and Unlock the FLASH interface using HAL_FLASH_Unlock() and
               HAL_FLASH_Lock() functions
          (++) Program functions: double word and fast program (full row programming)
          (++) There Two modes of programming :
           (+++) Polling mode using HAL_FLASH_Program() function
           (+++) Interrupt mode using HAL_FLASH_Program_IT() function

     (#) Interrupts and flags management functions :
          (++) Handle FLASH interrupts by calling HAL_FLASH_IRQHandler()
          (++) Callback functions are called when the flash operations are finished :
               HAL_FLASH_EndOfOperationCallback() when everything is ok, otherwise
               HAL_FLASH_OperationErrorCallback()
          (++) Get error flag status by calling HAL_GetError()

     (#) Option bytes management functions :
          (++) Lock and Unlock the option bytes using HAL_FLASH_OB_Unlock() and
               HAL_FLASH_OB_Lock() functions
          (++) Launch the reload of the option bytes using HAL_FLASH_Launch() function.
               In this case, a reset is generated

   [..]
     In addition to these functions, this driver includes a set of macros allowing
     to handle the following operations:
      (+) Set the latency
      (+) Enable/Disable the prefetch buffer
      (+) Enable/Disable the Instruction cache and the Data cache
      (+) Reset the Instruction cache and the Data cache
      (+) Enable/Disable the Flash power-down during low-power run and sleep modes
      (+) Enable/Disable the Flash interrupts
      (+) Monitor the Flash flags status
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_flash.c.