flashpage.h File Reference

Low-level flash page peripheral driver interface. More...

Detailed Description

#include <stdint.h>
#include "cpu_conf.h"
#include "periph_cpu.h"
+ Include dependency graph for flashpage.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CPU_FLASH_BASE   (0)
 Per default, we expect the internal flash to start at address 0.
 
#define FLASHPAGE_WRITE_BLOCK_SIZE
 For raw writings to the flash, this constant must define the minimum write length allowed by the MCU.
 
#define FLASHPAGE_WRITE_BLOCK_ALIGNMENT
 The buffers to be written to the flash MUST be aligned, as well as the address on which the buffer is written to the flash. This variable must be defined for that purpose, according to the MCU align requirements.
 

Enumerations

enum  { FLASHPAGE_OK = 0, FLASHPAGE_NOMATCH = -1 }
 Return values used in this interface. More...
 

Functions

static void * flashpage_addr (unsigned page)
 Translate the given page number into the page's starting address. More...
 
static unsigned flashpage_page (void *addr)
 Translate the given address into the corresponding page number. More...
 
void flashpage_erase (unsigned page)
 Erase the given page. More...
 
void flashpage_write_page (unsigned page, const void *data)
 Write the given page with the given data. More...
 
void flashpage_write (void *target_addr, const void *data, size_t len)
 Write any number of data bytes to a given location in the flash memory. More...
 
void flashpage_read (unsigned page, void *data)
 Read the given page into the given memory location. More...
 
int flashpage_verify (unsigned page, const void *data)
 Verify the given page against the given data. More...
 
int flashpage_write_and_verify (unsigned page, const void *data)
 Write the given page and verify the results. More...