34#ifndef _FREERTOS_DRIVERS_NXP_LPC17xx40xxEEPROMEMULATION_HXX_
35#define _FREERTOS_DRIVERS_NXP_LPC17xx40xxEEPROMEMULATION_HXX_
61 static inline const uint32_t* get_block(
unsigned sector,
unsigned offset);
69 const uint32_t*
block(
unsigned sector,
unsigned offset)
override;
83 void flash_program(
unsigned sector,
unsigned start_block, uint32_t *data, uint32_t byte_count)
override;
Emulates EEPROM in FLASH for the Tiva, LPC17xx and LPC40xx platforms.
size_t file_size()
Get the maximum file size of the EEPROM file.
const char * name
device name
Emulates EEPROM in FLASH for the LPC17xx and LPC40xx platforms.
LpcEEPROMEmulation()
Default constructor.
~LpcEEPROMEmulation()
Destructor.
static constexpr unsigned WRITE_SIZE
write size in bytes, must be used as an array size
void flash_erase(unsigned sector) override
Simple hardware abstraction for FLASH erase API.
const uint32_t * block(unsigned sector, unsigned offset) override
Computes the pointer to load the data stored in a specific block from.
const uint8_t firstSector_
Stores the IAP sector code for the first sector starting at __eeprom_start.
uint8_t scratch[WRITE_SIZE]
scratchpad for performing write operations
void flash_program(unsigned sector, unsigned start_block, uint32_t *data, uint32_t byte_count) override
Simple hardware abstraction for FLASH program API.
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
Removes default copy-constructor and assignment added by C++.