STM32F37 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F37 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
stm32f37x_flash.h File Reference

This file contains all the functions prototypes for the FLASH firmware library. More...

#include "stm32f37x.h"

Go to the source code of this file.

Macros

#define FLASH_Latency_0   ((uint8_t)0x0000)
 
#define FLASH_Latency_1   FLASH_ACR_LATENCY_0
 
#define FLASH_Latency_2   FLASH_ACR_LATENCY_1
 
#define IS_FLASH_LATENCY(LATENCY)
 
#define FLASH_IT_EOP   FLASH_CR_EOPIE
 
#define FLASH_IT_ERR   FLASH_CR_ERRIE
 
#define IS_FLASH_IT(IT)   ((((IT) & (uint32_t)0xFFFFEBFF) == 0x00000000) && (((IT) != 0x00000000)))
 
#define IS_FLASH_PROGRAM_ADDRESS(ADDRESS)   (((ADDRESS) >= 0x08000000) && ((ADDRESS) <= 0x0803FFFF))
 
#define IS_OB_DATA_ADDRESS(ADDRESS)   (((ADDRESS) == 0x1FFFF804) || ((ADDRESS) == 0x1FFFF806))
 
#define OB_WRP_Pages0to1   ((uint32_t)0x00000001) /* Write protection of page 0 to 1 */
 
#define OB_WRP_Pages2to3   ((uint32_t)0x00000002) /* Write protection of page 2 to 3 */
 
#define OB_WRP_Pages4to5   ((uint32_t)0x00000004) /* Write protection of page 4 to 5 */
 
#define OB_WRP_Pages6to7   ((uint32_t)0x00000008) /* Write protection of page 6 to 7 */
 
#define OB_WRP_Pages8to9   ((uint32_t)0x00000010) /* Write protection of page 8 to 9 */
 
#define OB_WRP_Pages10to11   ((uint32_t)0x00000020) /* Write protection of page 10 to 11 */
 
#define OB_WRP_Pages12to13   ((uint32_t)0x00000040) /* Write protection of page 12 to 13 */
 
#define OB_WRP_Pages14to15   ((uint32_t)0x00000080) /* Write protection of page 14 to 15 */
 
#define OB_WRP_Pages16to17   ((uint32_t)0x00000100) /* Write protection of page 16 to 17 */
 
#define OB_WRP_Pages18to19   ((uint32_t)0x00000200) /* Write protection of page 18 to 19 */
 
#define OB_WRP_Pages20to21   ((uint32_t)0x00000400) /* Write protection of page 20 to 21 */
 
#define OB_WRP_Pages22to23   ((uint32_t)0x00000800) /* Write protection of page 22 to 23 */
 
#define OB_WRP_Pages24to25   ((uint32_t)0x00001000) /* Write protection of page 24 to 25 */
 
#define OB_WRP_Pages26to27   ((uint32_t)0x00002000) /* Write protection of page 26 to 27 */
 
#define OB_WRP_Pages28to29   ((uint32_t)0x00004000) /* Write protection of page 28 to 29 */
 
#define OB_WRP_Pages30to31   ((uint32_t)0x00008000) /* Write protection of page 30 to 31 */
 
#define OB_WRP_Pages32to33   ((uint32_t)0x00010000) /* Write protection of page 32 to 33 */
 
#define OB_WRP_Pages34to35   ((uint32_t)0x00020000) /* Write protection of page 34 to 35 */
 
#define OB_WRP_Pages36to37   ((uint32_t)0x00040000) /* Write protection of page 36 to 37 */
 
#define OB_WRP_Pages38to39   ((uint32_t)0x00080000) /* Write protection of page 38 to 39 */
 
#define OB_WRP_Pages40to41   ((uint32_t)0x00100000) /* Write protection of page 40 to 41 */
 
#define OB_WRP_Pages42to43   ((uint32_t)0x00200000) /* Write protection of page 42 to 43 */
 
#define OB_WRP_Pages44to45   ((uint32_t)0x00400000) /* Write protection of page 44 to 45 */
 
#define OB_WRP_Pages46to47   ((uint32_t)0x00800000) /* Write protection of page 46 to 47 */
 
#define OB_WRP_Pages48to49   ((uint32_t)0x01000000) /* Write protection of page 48 to 49 */
 
#define OB_WRP_Pages50to51   ((uint32_t)0x02000000) /* Write protection of page 50 to 51 */
 
#define OB_WRP_Pages52to53   ((uint32_t)0x04000000) /* Write protection of page 52 to 53 */
 
#define OB_WRP_Pages54to55   ((uint32_t)0x08000000) /* Write protection of page 54 to 55 */
 
#define OB_WRP_Pages56to57   ((uint32_t)0x10000000) /* Write protection of page 56 to 57 */
 
#define OB_WRP_Pages58to59   ((uint32_t)0x20000000) /* Write protection of page 58 to 59 */
 
#define OB_WRP_Pages60to61   ((uint32_t)0x40000000) /* Write protection of page 60 to 61 */
 
#define OB_WRP_Pages62to127   ((uint32_t)0x80000000) /* Write protection of page 62 to 127 */
 
#define OB_WRP_AllPages   ((uint32_t)0xFFFFFFFF)
 
#define IS_OB_WRP(PAGE)   (((PAGE) != 0x0000000))
 
#define OB_RDP_Level_0   ((uint8_t)0xAA)
 FLASH_Read_Protection_Level.
 
#define OB_RDP_Level_1   ((uint8_t)0xBB)
 
#define IS_OB_RDP(LEVEL)
 
#define OB_IWDG_SW   ((uint8_t)0x01)
 
#define OB_IWDG_HW   ((uint8_t)0x00)
 
#define IS_OB_IWDG_SOURCE(SOURCE)   (((SOURCE) == OB_IWDG_SW) || ((SOURCE) == OB_IWDG_HW))
 
#define OB_STOP_NoRST   ((uint8_t)0x02)
 
#define OB_STOP_RST   ((uint8_t)0x00)
 
#define IS_OB_STOP_SOURCE(SOURCE)   (((SOURCE) == OB_STOP_NoRST) || ((SOURCE) == OB_STOP_RST))
 
#define OB_STDBY_NoRST   ((uint8_t)0x04)
 
#define OB_STDBY_RST   ((uint8_t)0x00)
 
#define IS_OB_STDBY_SOURCE(SOURCE)   (((SOURCE) == OB_STDBY_NoRST) || ((SOURCE) == OB_STDBY_RST))
 
#define OB_BOOT1_RESET   ((uint8_t)0x00)
 
#define OB_BOOT1_SET   ((uint8_t)0x10)
 
#define IS_OB_BOOT1(BOOT1)   (((BOOT1) == OB_BOOT1_RESET) || ((BOOT1) == OB_BOOT1_SET))
 
#define OB_VDDA_ANALOG_ON   ((uint8_t)0x20)
 
#define OB_VDDA_ANALOG_OFF   ((uint8_t)0x00)
 
#define IS_OB_VDDA_ANALOG(ANALOG)   (((ANALOG) == OB_VDDA_ANALOG_ON) || ((ANALOG) == OB_VDDA_ANALOG_OFF))
 
#define OB_VDD_SD12_ON   ((uint8_t)0x80)
 
#define OB_VDD_SD12_OFF   ((uint8_t)0x00)
 
#define IS_OB_VDD_SD12(MODE)   (((MODE) == OB_VDD_SD12_ON) || ((MODE) == OB_VDD_SD12_OFF))
 
#define OB_SRAM_PARITY_SET   ((uint8_t)0x00)
 
#define OB_SRAM_PARITY_RESET   ((uint8_t)0x40)
 
#define IS_OB_SRAM_PARITY(PARITY)   (((PARITY) == OB_SRAM_PARITY_SET) || ((PARITY) == OB_SRAM_PARITY_RESET))
 
#define FLASH_FLAG_BSY   FLASH_SR_BSY
 
#define FLASH_FLAG_PGERR   FLASH_SR_PGERR
 
#define FLASH_FLAG_WRPERR   FLASH_SR_WRPERR
 
#define FLASH_FLAG_EOP   FLASH_SR_EOP
 
#define IS_FLASH_CLEAR_FLAG(FLAG)   ((((FLAG) & (uint32_t)0xFFFFFFC3) == 0x00000000) && ((FLAG) != 0x00000000))
 
#define IS_FLASH_GET_FLAG(FLAG)
 
#define RDP_KEY   ((uint16_t)0x00A5)
 
#define FLASH_KEY1   ((uint32_t)0x45670123)
 
#define FLASH_KEY2   ((uint32_t)0xCDEF89AB)
 
#define FLASH_OPTKEY1   FLASH_KEY1
 
#define FLASH_OPTKEY2   FLASH_KEY2
 
#define FLASH_ER_PRG_TIMEOUT   ((uint32_t)0x000B0000)
 
#define FLASH_WRProt_Pages0to1   OB_WRP_Pages0to1
 
#define FLASH_WRProt_Pages2to3   OB_WRP_Pages2to3
 
#define FLASH_WRProt_Pages4to5   OB_WRP_Pages4to5
 
#define FLASH_WRProt_Pages6to7   OB_WRP_Pages6to7
 
#define FLASH_WRProt_Pages8to9   OB_WRP_Pages8to9
 
#define FLASH_WRProt_Pages10to11   OB_WRP_Pages10to11
 
#define FLASH_WRProt_Pages12to13   OB_WRP_Pages12to13
 
#define FLASH_WRProt_Pages14to15   OB_WRP_Pages14to15
 
#define FLASH_WRProt_Pages16to17   OB_WRP_Pages16to17
 
#define FLASH_WRProt_Pages18to19   OB_WRP_Pages18to19
 
#define FLASH_WRProt_Pages20to21   OB_WRP_Pages20to21
 
#define FLASH_WRProt_Pages22to23   OB_WRP_Pages22to23
 
#define FLASH_WRProt_Pages24to25   OB_WRP_Pages24to25
 
#define FLASH_WRProt_Pages26to27   OB_WRP_Pages26to27
 
#define FLASH_WRProt_Pages28to29   OB_WRP_Pages28to29
 
#define FLASH_WRProt_Pages30to31   OB_WRP_Pages30to31
 
#define FLASH_WRProt_Pages32to33   OB_WRP_Pages32to33
 
#define FLASH_WRProt_Pages34to35   OB_WRP_Pages34to35
 
#define FLASH_WRProt_Pages36to37   OB_WRP_Pages36to37
 
#define FLASH_WRProt_Pages38to39   OB_WRP_Pages38to39
 
#define FLASH_WRProt_Pages40to41   OB_WRP_Pages40to41
 
#define FLASH_WRProt_Pages42to43   OB_WRP_Pages42to43
 
#define FLASH_WRProt_Pages44to45   OB_WRP_Pages44to45
 
#define FLASH_WRProt_Pages46to47   OB_WRP_Pages46to47
 
#define FLASH_WRProt_Pages48to49   OB_WRP_Pages48to49
 
#define FLASH_WRProt_Pages50to51   OB_WRP_Pages50to51
 
#define FLASH_WRProt_Pages52to53   OB_WRP_Pages52to53
 
#define FLASH_WRProt_Pages54to55   OB_WRP_Pages54to55
 
#define FLASH_WRProt_Pages56to57   OB_WRP_Pages56to57
 
#define FLASH_WRProt_Pages58to59   OB_WRP_Pages58to59
 
#define FLASH_WRProt_Pages60to61   OB_WRP_Pages60to61
 
#define FLASH_WRProt_Pages62to127   OB_WRP_Pages62to127
 
#define FLASH_WRProt_AllPages   OB_WRP_AllPages
 
#define FLASH_EraseOptionBytes   FLASH_OB_Erase
 
#define FLASH_EnableWriteProtection   FLASH_OB_EnableWRP
 
#define FLASH_UserOptionByteConfig   FLASH_OB_UserConfig
 
#define FLASH_ProgramOptionByteData   FLASH_OB_ProgramData
 
#define FLASH_GetUserOptionByte   FLASH_OB_GetUser
 
#define FLASH_GetWriteProtectionOptionByte   FLASH_OB_GetWRP
 

Enumerations

enum  FLASH_Status {
  FLASH_BUSY = 1, FLASH_ERROR_WRP, FLASH_ERROR_PROGRAM, FLASH_COMPLETE,
  FLASH_TIMEOUT
}
 FLASH Status.
 

Functions

void FLASH_SetLatency (uint32_t FLASH_Latency)
 Sets the code latency value. More...
 
void FLASH_HalfCycleAccessCmd (FunctionalState NewState)
 Enables or disables the Half cycle flash access. More...
 
void FLASH_PrefetchBufferCmd (FunctionalState NewState)
 Enables or disables the Prefetch Buffer. More...
 
void FLASH_Unlock (void)
 Unlocks the FLASH control register and program memory access. More...
 
void FLASH_Lock (void)
 Locks the FLASH control register access. More...
 
FLASH_Status FLASH_ErasePage (uint32_t Page_Address)
 Erases a specified page in program memory. More...
 
FLASH_Status FLASH_EraseAllPages (void)
 Erases all FLASH pages. More...
 
FLASH_Status FLASH_ProgramWord (uint32_t Address, uint32_t Data)
 Programs a word at a specified address. More...
 
FLASH_Status FLASH_ProgramHalfWord (uint32_t Address, uint16_t Data)
 Programs a half word at a specified address. More...
 
void FLASH_OB_Unlock (void)
 Unlocks the option bytes block access. More...
 
void FLASH_OB_Lock (void)
 Locks the option bytes block access. More...
 
void FLASH_OB_Launch (void)
 Launch the option byte loading. More...
 
FLASH_Status FLASH_OB_Erase (void)
 Erases the FLASH option bytes. More...
 
FLASH_Status FLASH_OB_ProgramData (uint32_t Address, uint8_t Data)
 Programs a half word at a specified Option Byte Data address. More...
 
FLASH_Status FLASH_OB_EnableWRP (uint32_t OB_WRP)
 Write protects the desired pages. More...
 
FLASH_Status FLASH_OB_RDPConfig (uint8_t OB_RDP)
 Enables or disables the read out protection. More...
 
FLASH_Status FLASH_OB_UserConfig (uint8_t OB_IWDG, uint8_t OB_STOP, uint8_t OB_STDBY)
 Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY. More...
 
FLASH_Status FLASH_OB_BOOTConfig (uint8_t OB_BOOT1)
 Sets or resets the BOOT1 option bit. More...
 
FLASH_Status FLASH_OB_VDDAConfig (uint8_t OB_VDDA_ANALOG)
 Sets or resets the analogue monitoring on VDDA Power source. More...
 
FLASH_Status FLASH_OB_VDD_SD12Config (uint8_t OB_VDD_SD12)
 Sets or resets the analogue monitoring on VDD_SD12 Power source. More...
 
FLASH_Status FLASH_OB_SRAMParityConfig (uint8_t OB_SRAM_Parity)
 Sets or resets the SRAM partiy. More...
 
FLASH_Status FLASH_OB_WriteUser (uint8_t OB_USER)
 Programs the FLASH User Option Byte: IWDG_SW / RST_STOP / RST_STDBY/ BOOT1 / OB_VDDA_ANALOG and OB_VDD_SD12. More...
 
uint8_t FLASH_OB_GetUser (void)
 Returns the FLASH User Option Bytes values. More...
 
uint32_t FLASH_OB_GetWRP (void)
 Returns the FLASH Write Protection Option Bytes value. More...
 
FlagStatus FLASH_OB_GetRDP (void)
 Checks whether the FLASH Read out Protection Status is set or not. More...
 
void FLASH_ITConfig (uint32_t FLASH_IT, FunctionalState NewState)
 Enables or disables the specified FLASH interrupts. More...
 
FlagStatus FLASH_GetFlagStatus (uint32_t FLASH_FLAG)
 Checks whether the specified FLASH flag is set or not. More...
 
void FLASH_ClearFlag (uint32_t FLASH_FLAG)
 Clears the FLASH's pending flags. More...
 
FLASH_Status FLASH_GetStatus (void)
 Returns the FLASH Status. More...
 
FLASH_Status FLASH_WaitForLastOperation (uint32_t Timeout)
 Waits for a FLASH operation to complete or a TIMEOUT to occur. More...
 

Detailed Description

This file contains all the functions prototypes for the FLASH firmware library.

Author
MCD Application Team
Version
V1.0.0
Date
20-September-2012
Attention

© COPYRIGHT 2012 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.