HPM SDK
HPMicro Software Development Kit
e2p_emulation.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "e2p_emulation.h"

Functions

static uint32_t flash_read (uint8_t *buf, uint32_t addr, uint32_t size)
 Flash read function for eeprom emulation. More...
 
static uint32_t flash_write (uint8_t *buf, uint32_t addr, uint32_t size)
 Flash write function for eeprom emulation. More...
 
static void flash_erase (uint32_t start_addr, uint32_t size)
 Flash erase function for eeprom emulation. More...
 
static uint32_t eeprom_enter_critical (void)
 Enter critical section by disabling global interrupts. More...
 
static void eeprom_exit_critical (uint32_t level)
 Exit critical section by restoring global interrupts. More...
 
hpm_stat_t e2p_emulation_xpi_register_param (hpm_eeprom_device_t *device)
 Register eeprom xpi emulation device parameter to device structure. More...
 
hpm_stat_t e2p_emulation_xpi_init (hpm_eeprom_device_t *device)
 Initialize eeprom xpi emulation device. More...
 
hpm_stat_t e2p_emulation_xpi_read (hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
 Read data from eeprom xpi emulation device. More...
 
hpm_stat_t e2p_emulation_xpi_write (hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
 Write data to eeprom xpi emulation device. More...
 

Variables

e2p_t hpm_e2p_emulation
 
static e2p_device_ops_t hpm_e2p_xpi_device_ops
 eeprom xpi emulation device operations structure More...
 

Function Documentation

◆ e2p_emulation_xpi_init()

hpm_stat_t e2p_emulation_xpi_init ( hpm_eeprom_device_t device)

Initialize eeprom xpi emulation device.

Parameters
[in]devicePointer to eeprom device structure
Return values
status_successor status_fail if initialization fails

◆ e2p_emulation_xpi_read()

hpm_stat_t e2p_emulation_xpi_read ( hpm_eeprom_device_t device,
uint32_t  data_addr,
uint32_t  len,
uint8_t *  data 
)

Read data from eeprom xpi emulation device.

Parameters
[in]devicePointer to eeprom device structure
[in]data_addrData address to read from
[in]lenLength of data to read
[in]dataPointer to buffer to store read data
Return values
status_successor status_fail if read fails

◆ e2p_emulation_xpi_register_param()

hpm_stat_t e2p_emulation_xpi_register_param ( hpm_eeprom_device_t device)

Register eeprom xpi emulation device parameter to device structure.

Parameters
[in]devicePointer to eeprom device structure
Return values
status_success

◆ e2p_emulation_xpi_write()

hpm_stat_t e2p_emulation_xpi_write ( hpm_eeprom_device_t device,
uint32_t  data_addr,
uint32_t  len,
uint8_t *  data 
)

Write data to eeprom xpi emulation device.

Parameters
[in]devicePointer to eeprom device structure
[in]data_addrData address to write to
[in]lenLength of data to write
[in]dataPointer to buffer containing data to write
Return values
status_successor status_fail if write fails

◆ eeprom_enter_critical()

static uint32_t eeprom_enter_critical ( void  )
static

Enter critical section by disabling global interrupts.

◆ eeprom_exit_critical()

static void eeprom_exit_critical ( uint32_t  level)
static

Exit critical section by restoring global interrupts.

◆ flash_erase()

static void flash_erase ( uint32_t  start_addr,
uint32_t  size 
)
static

Flash erase function for eeprom emulation.

Parameters
[in]start_addrStart address to erase
[in]sizeSize of data to erase

◆ flash_read()

static uint32_t flash_read ( uint8_t *  buf,
uint32_t  addr,
uint32_t  size 
)
static

Flash read function for eeprom emulation.

Parameters
[in]bufPointer to buffer to store read data
[in]addrAddress to read from
[in]sizeSize of data to read
Return values
status_success

◆ flash_write()

static uint32_t flash_write ( uint8_t *  buf,
uint32_t  addr,
uint32_t  size 
)
static

Flash write function for eeprom emulation.

Parameters
[in]bufPointer to buffer containing data to write
[in]addrAddress to write to
[in]sizeSize of data to write
Return values
status_success

Variable Documentation

◆ hpm_e2p_emulation

e2p_t hpm_e2p_emulation

◆ hpm_e2p_xpi_device_ops

e2p_device_ops_t hpm_e2p_xpi_device_ops
static
Initial value:
= {
.deinit = NULL,
}
hpm_stat_t e2p_emulation_xpi_read(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
Read data from eeprom xpi emulation device.
Definition: e2p_emulation.c:138
hpm_stat_t e2p_emulation_xpi_write(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
Write data to eeprom xpi emulation device.
Definition: e2p_emulation.c:156
hpm_stat_t e2p_emulation_xpi_init(hpm_eeprom_device_t *device)
Initialize eeprom xpi emulation device.
Definition: e2p_emulation.c:108

eeprom xpi emulation device operations structure