3#ifndef SYSTEMPERIPHERALS_FLASH_H
4#define SYSTEMPERIPHERALS_FLASH_H
80static uint32_t const FLASH_FLAG_BSY = 0x00000001U;
85static uint32_t const FLASH_FLAG_EOP = 0x00000020U;
90static uint32_t const FLASH_FLAG_PGERR = 0x00000004U;
95static uint32_t const FLASH_FLAG_WRPRTERR = 0x00000010U;
100static uint32_t const FLASH_FLAG_OPTERR = 0x00000001U;
FLASH_PrefetchBuffer
Flash prefetch buffer emumeration.
@ FLASH_PrefetchBuffer_Disable
@ FLASH_PrefetchBuffer_Enable
bool FLASH_IsFlag(uint32_t const flag)
Checks if a FLASH flag is pending.
FLASH_Status FLASH_ReadBlock(uint32_t const address, uint8_t *pBuffer, uint32_t const bufferSize)
Reads a block of memory from the flash.
void FLASH_EnableInterrupt(FLASH_Irq const irq, bool const doEnable)
Enables or disables the specified flash IRQ.
FLASH_Status FLASH_ErasePage(uint32_t const pageAddress)
Erases a specified FLASH page.
void FLASH_ErasePageFinish()
Completes ereasing a page by cleraing the erease bit.
void FLASH_Unlock()
Unlocks the FLASH Program Erase Controller.
void FLASH_SetLatency(FLASH_Latency const latency)
Sets the code latency value.
FLASH_Status FLASH_GetStatus()
Returns the FLASH Status.
bool FLASH_ProgramWordAsync(uint32_t const address, uint16_t const data)
Starts programming a word (16 bit) at a specified address and returns.
void FLASH_ProgramWordFinish()
Completes programming a word by cleraing the write bit.
FLASH_Latency
Flash latency cycles emumeration.
FLASH_Status FLASH_WaitForLastOperation(uint32_t const timeout)
Waits for a Flash operation to complete or a TIMEOUT to occur.
FLASH_Irq
Flash IRQ emumeration.
@ FLASH_Irq_EndOfOperation
FLASH_Status FLASH_ProgramDoubleWord(uint32_t const address, uint32_t const data)
Programs a double word (32 bit) at a specified address and blocks until the word has been written.
FLASH_Status FLASH_ErasePageAsync(uint32_t const pageAddress)
Starts ereasing a specified FLASH page asynchronous.
void FLASH_Lock()
Locks the FLASH Program Erase Controller.
void FLASH_HalfCycleAccessCmd(FLASH_HalfCycleAccess const halfCycleAccess)
Enables or disables the Half cycle flash access.
void FLASH_ClearFlag(uint32_t const flag)
Clears the FLASH's pending flags.
void FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer const prefetchBuffer)
Enables or disables the Prefetch Buffer.
FLASH_Status
Flash peripheral module.
FLASH_HalfCycleAccess
Flash half cycle access emumeration.
@ FLASH_HalfCycleAccess_Disable
@ FLASH_HalfCycleAccess_Enable
unsigned __int16 uint16_t
unsigned __int32 uint32_t