IceCube display
LED display to show IceCube event data
All Data Structures Files Functions Variables Enumerations Enumerator Macros Modules Pages
memspace.h File Reference

Non-uniform memory access. More...

Include dependency graph for memspace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  memspace_t { MEMSPACE_RAM, MEMSPACE_PROGMEM, MEMSPACE_EEPROM, MEMSPACE_NONE }
 Define which memory space the body of a data block is in. More...
 

Functions

void * memcpy_memspace (enum memspace_t memspace, void *restrict dest, const void *restrict src, size_t length)
 

Detailed Description

Non-uniform memory access.

The ATmega32U4 has SRAM, flash and EEPROM to store data. In case dynamic information is mixed with static, perhaps device specific, information, a single interface is provided to access these different parts of the microcontroller's memory space.

Author
Sander Vanheule (Universiteit Gent)

Enumeration Type Documentation

◆ memspace_t

enum memspace_t

Define which memory space the body of a data block is in.

Enumerator
MEMSPACE_RAM 

RAM storage.

MEMSPACE_PROGMEM 

Flash (or program memory) storage.

MEMSPACE_EEPROM 

EEPROM storage.

MEMSPACE_NONE 

Placeholder if the refering entity only provides metadata.

Function Documentation

◆ memcpy_memspace()

void* memcpy_memspace ( enum memspace_t  memspace,
void *restrict  dest,
const void *restrict  src,
size_t  length 
)

Generic memcpy function that calls the correct copy routine depending on the provided memory space.