MG32L003 Standard Peripherals Firmware Library
Modules | Enumerations | Functions

FLASH driver modules. More...

Modules

 FLASH_Exported_Constants
 
 FLASH_Private_Constants
 
 FLASH_Private_Functions
 

Enumerations

enum  FLASH_Status {
  FLASH_BUSY = 1, FLASH_ERROR_ERPC, FLASH_ERROR_ERPROT, FLASH_COMPLETE,
  FLASH_TIMEOUT
}
 FLASH Status. More...
 

Functions

void FLASH_OP_Unlock (uint32_t PageAddr)
 Lock the FLASH Page Erase/Write access. More...
 
void FLASH_OP_Lock (uint32_t PageAddr)
 Unlock the FLASH Page Erase/Write access. More...
 
void FLASH_Unlock (void)
 Unlock the FLASH controller register write-protect. More...
 
void FLASH_Lock (void)
 Lock the FLASH controller register write-protect. More...
 
void FLASH_ITConfig (uint32_t FLASH_IT, FunctionalState NewState)
 Enables or disables the specified FLASH interrupts. More...
 
void FLASH_ClearITPendingBit (uint32_t FLASH_IT)
 Clear the specified FLASH interrupt flag. More...
 
FlagStatus FLASH_GetITStatus (uint32_t Flag)
 Checks whether the specified FLASH interrupt has occurred or not. More...
 
FlagStatus FLASH_GetFlagStatus (uint32_t Flag)
 Checks whether the specified FLASH flag is set or not. More...
 
FLASH_Status FLASH_WaitForLastOperation (uint32_t Timeout)
 Wait for a FLASH operation to complete. More...
 
FLASH_Status FLASH_ProgramByte (uint32_t Addr, uint8_t Data)
 Program a byte (8-bit) at a specified address. More...
 
FLASH_Status FLASH_ProgramHalfWord (uint32_t Addr, uint16_t Data)
 Program a half-word (16-bit) at a specified address. More...
 
FLASH_Status FLASH_ProgramWord (uint32_t Addr, uint32_t Data)
 Program a word (32-bit) at a specified address. More...
 
FLASH_Status FLASH_EraseChip (void)
 Full erase of FLASH memory Bank. More...
 
FLASH_Status FLASH_ErasePage (uint32_t PageAddr)
 Erase the specified FLASH memory page. More...
 

Detailed Description

FLASH driver modules.

Enumeration Type Documentation

◆ FLASH_Status

FLASH Status.

Function Documentation

◆ FLASH_ClearITPendingBit()

void FLASH_ClearITPendingBit ( uint32_t  FLASH_IT)

Clear the specified FLASH interrupt flag.

Parameters
FLASH_ITspecifies the FLASH interrupt flags to clear. This parameter can be any combination of the following values:
  • FLASH_FLAG_ALARM_ERASE_PROTADDR: The address to be erased is protectd interrupt flag
  • FLASH_FLAG_ALARM_ERASE_PCADDR: The address to be erased is PC interrupt source
Return values
none

◆ FLASH_EraseChip()

FLASH_Status FLASH_EraseChip ( void  )

Full erase of FLASH memory Bank.

Parameters
None
Return values
None

◆ FLASH_ErasePage()

FLASH_Status FLASH_ErasePage ( uint32_t  PageAddr)

Erase the specified FLASH memory page.

Parameters
PageAddrFLASH page to erase The value of this parameter depend on device used within the same series
Return values
None

◆ FLASH_GetFlagStatus()

FlagStatus FLASH_GetFlagStatus ( uint32_t  Flag)

Checks whether the specified FLASH flag is set or not.

Parameters
Flagspecifies the FLASH flag to check. This parameter can be:
  • FLASH_FLAG_BUSY: FLASH busy flag.
Return values
Thenew state of the FLASH flag (SET or RESET).

◆ FLASH_GetITStatus()

FlagStatus FLASH_GetITStatus ( uint32_t  FLASH_IT)

Checks whether the specified FLASH interrupt has occurred or not.

Parameters
FLASH_ITspecifies the FLASH interrupt source to check. This parameter can be:
  • FLASH_IT_ALARM_ERASE_PROTADDR: Flash erase protection alarm interrupt flag.
  • FLASH_IT_ALARM_ERASE_PCADDR: Flash erase PC address alarm interrupt flag.
Return values
Thenew state of the FLASH flag (SET or RESET).

◆ FLASH_ITConfig()

void FLASH_ITConfig ( uint32_t  FLASH_IT,
FunctionalState  NewState 
)

Enables or disables the specified FLASH interrupts.

Parameters
FLASH_ITFLASH interrupts. This parameter can be any combination of the following values:
  • FLASH_IT_ALARM_ERASE_PROTADDR: The address to be erased is protectd interrupt source.
  • FLASH_IT_ALARM_ERASE_PCADDR: The address to be erased is PC interrupt source.
Return values
none

◆ FLASH_Lock()

void FLASH_Lock ( void  )

Lock the FLASH controller register write-protect.

Parameters
None
Return values
None

◆ FLASH_OP_Lock()

void FLASH_OP_Lock ( uint32_t  PageAddr)

Unlock the FLASH Page Erase/Write access.

Parameters
PageAddrSet the page address to lock erase/write protect. This parameter can be set 0xFFFFFFFF which means lock all pages.
Return values
None

◆ FLASH_OP_Unlock()

void FLASH_OP_Unlock ( uint32_t  PageAddr)

Lock the FLASH Page Erase/Write access.

Parameters
PageAddrSet the page address to lock erase/write protect. This parameter can be set 0xFFFFFFFF which means lock all pages.
Return values
None

◆ FLASH_ProgramByte()

FLASH_Status FLASH_ProgramByte ( uint32_t  Addr,
uint8_t  Data 
)

Program a byte (8-bit) at a specified address.

Parameters
Addrspecify the address to be programmed.
Dataspecify the data to be programmed.
Return values
None

◆ FLASH_ProgramHalfWord()

FLASH_Status FLASH_ProgramHalfWord ( uint32_t  Addr,
uint16_t  Data 
)

Program a half-word (16-bit) at a specified address.

Parameters
Addrspecify the address to be programmed.
Dataspecify the data to be programmed.
Return values
None

◆ FLASH_ProgramWord()

FLASH_Status FLASH_ProgramWord ( uint32_t  Addr,
uint32_t  Data 
)

Program a word (32-bit) at a specified address.

Parameters
Addrspecify the address to be programmed.
Dataspecify the data to be programmed.
Return values
None

◆ FLASH_Unlock()

void FLASH_Unlock ( void  )

Unlock the FLASH controller register write-protect.

Parameters
None
Return values
None

◆ FLASH_WaitForLastOperation()

FLASH_Status FLASH_WaitForLastOperation ( uint32_t  Timeout)

Wait for a FLASH operation to complete.

Parameters
Timeoutmaximum flash operation timeout
Return values
FLASH_Status