libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
f3/flash.h File Reference
Include dependency graph for f3/flash.h:

Go to the source code of this file.

Macros

#define FLASH_ACR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x00)
 Flash Access Control register. More...
 
#define FLASH_KEYR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x04)
 Flash Key register. More...
 
#define FLASH_OPTKEYR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x08)
 Flash Option bytes key register. More...
 
#define FLASH_SR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x0C)
 Flash Status register. More...
 
#define FLASH_CR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x10)
 Flash Control register. More...
 
#define FLASH_AR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x14)
 Flash Address register. More...
 
#define FLASH_OBR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x1C)
 Flash Option Byte register. More...
 
#define FLASH_WRPR   MMIO32(FLASH_MEM_INTERFACE_BASE + 0x20)
 Flash Write Protection register. More...
 
#define FLASH_ACR_PRFTBS   (1 << 5)
 
#define FLASH_ACR_PRFTBE   (1 << 4)
 
#define FLASH_ACR_PRFTEN   FLASH_ACR_PRFTBE
 Compatibility alias. More...
 
#define FLASH_ACR_HLFCYA   (1 << 3)
 
#define FLASH_ACR_LATENCY_SHIFT   0
 
#define FLASH_ACR_LATENCY_MASK   0x0f
 
#define FLASH_ACR_LATENCY(w)   ((w) & FLASH_ACR_LATENCY_MASK)
 
#define FLASH_SR_BSY   (1 << 0)
 
#define FLASH_SR_ERLYBSY   (1 << 1)
 
#define FLASH_SR_PGERR   (1 << 2)
 
#define FLASH_SR_WRPRTERR   (1 << 4)
 
#define FLASH_SR_EOP   (1 << 5)
 
#define FLASH_CR_OBL_LAUNCH   (1 << 13)
 
#define FLASH_CR_EOPIE   (1 << 12)
 
#define FLASH_CR_ERRIE   (1 << 10)
 
#define FLASH_CR_OPTWRE   (1 << 9)
 
#define FLASH_CR_LOCK   (1 << 7)
 
#define FLASH_CR_STRT   (1 << 6)
 
#define FLASH_CR_OPTER   (1 << 5)
 
#define FLASH_CR_OPTPG   (1 << 4)
 
#define FLASH_CR_MER   (1 << 2)
 
#define FLASH_CR_PER   (1 << 1)
 
#define FLASH_CR_PG   (1 << 0)
 
#define FLASH_KEYR_KEY1   ((uint32_t)0x45670123)
 
#define FLASH_KEYR_KEY2   ((uint32_t)0xcdef89ab)
 
#define FLASH_OPTKEYR_KEY1   FLASH_KEYR_KEY1
 
#define FLASH_OPTKEYR_KEY2   FLASH_KEYR_KEY2
 

Functions

void flash_clear_pgerr_flag (void)
 
void flash_clear_wrprterr_flag (void)
 
void flash_program_half_word (uint32_t address, uint16_t data)
 
void flash_erase_page (uint32_t page_address)
 
void flash_erase_all_pages (void)