This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Electrically Erasable Programmable Read-Only Memory (EEPROM)

Overview

The EEPROM API provides read and write access to Electrically Erasable Programmable Read-Only Memory (EEPROM) devices.

EEPROMs have an erase block size of 1 byte, a long lifetime, and allow overwriting data on byte-by-byte access.

Configuration Options

Related configuration options:

API Reference

group eeprom_interface

EEPROM Interface.

Since

2.1

Version

1.0.0

Functions

int eeprom_read(const struct device *dev, off_t offset, void *data, size_t len)

Read data from EEPROM.

Parameters:
  • dev – EEPROM device

  • offset – Address offset to read from.

  • data – Buffer to store read data.

  • len – Number of bytes to read.

Returns:

0 on success, negative errno code on failure.

int eeprom_write(const struct device *dev, off_t offset, const void *data, size_t len)

Write data to EEPROM.

Parameters:
  • dev – EEPROM device

  • offset – Address offset to write data to.

  • data – Buffer with data to write.

  • len – Number of bytes to write.

Returns:

0 on success, negative errno code on failure.

size_t eeprom_get_size(const struct device *dev)

Get the size of the EEPROM in bytes.

Parameters:
  • dev – EEPROM device.

Returns:

EEPROM size in bytes.