FpgaManager
Software API Documentation
IMmAccess Struct Referenceabstract

Interface definition of the FPGA Manager MmAccess interface More...

#include <FpgaManager_Interfaces.h>

Inheritance diagram for IMmAccess:
RegisterBank

Public Member Functions

virtual ~IMmAccess ()=default
 Destructor More...
 
virtual uint32_t ReadRegister (uint32_t address)=0
 Reads from a single register More...
 
virtual void WriteRegister (uint32_t address, uint32_t value)=0
 Writes to a single register More...
 
virtual void ReadContiguous (uint32_t address, uint8_t *buffer_p, std::size_t bufSize)=0
 Reads consecutive bytes from mapped memory/registers More...
 
template<std::size_t N>
void ReadContiguous (uint32_t address, uint8_t(&buffer)[N])
 Reads consecutive bytes from mapped memory/registers More...
 
template<std::size_t N>
void ReadContiguous (uint32_t address, std::array< uint8_t, N > &array)
 Reads consecutive bytes from mapped memory/registers More...
 
virtual void WriteContiguous (uint32_t address, const uint8_t *buffer_p, std::size_t bufSize)=0
 Writes consecutive bytes to mapped memory/registers More...
 
template<std::size_t N>
void WriteContiguous (uint32_t address, const uint8_t(&buffer)[N])
 Writes consecutive bytes to mapped memory/registers More...
 
template<std::size_t N>
void WriteContiguous (uint32_t address, const std::array< uint8_t, N > &array)
 Writes consecutive bytes to mapped memory/registers More...
 
virtual void ReadMailbox (uint32_t address, uint8_t *buffer_p, std::size_t bufSize)=0
 Reads multiple words from a single address location More...
 
template<std::size_t N>
void ReadMailbox (uint32_t address, uint8_t(&buffer)[N])
 Reads multiple words from a single address location More...
 
template<std::size_t N>
void ReadMailbox (uint32_t address, std::array< uint8_t, N > &array)
 Reads multiple words from a single address location More...
 
virtual void WriteMailbox (uint32_t address, const uint8_t *buffer_p, std::size_t bufSize)=0
 Writes multiple words to a single address location More...
 
template<std::size_t N>
void WriteMailbox (uint32_t address, const uint8_t(&buffer)[N])
 Writes multiple words to a single address location More...
 
template<std::size_t N>
void WriteMailbox (uint32_t address, const std::array< uint8_t, N > &array)
 Writes multiple words to a single address location More...
 
virtual void ReadMailbox (uint32_t address, uint32_t *buffer_p, std::size_t count)=0
 Reads multiple words from a single address location More...
 
template<std::size_t N>
void ReadMailbox (uint32_t address, uint32_t(&buffer)[N])
 Reads multiple words from a single address location More...
 
template<std::size_t N>
void ReadMailbox (uint32_t address, std::array< uint32_t, N > &array)
 Reads multiple words from a single address location More...
 
virtual void WriteMailbox (uint32_t address, const uint32_t *buffer_p, std::size_t count)=0
 Writes multiple words to a single address location More...
 
template<std::size_t N>
void WriteMailbox (uint32_t address, const uint32_t(&buffer)[N])
 Writes multiple words to a single address location More...
 
template<std::size_t N>
void WriteMailbox (uint32_t address, const std::array< uint32_t, N > &array)
 Writes multiple words to a single address location More...
 

Detailed Description

Interface definition of the FPGA Manager MmAccess interface

Constructor & Destructor Documentation

◆ ~IMmAccess()

virtual ~IMmAccess ( )
virtualdefault

Destructor

Member Function Documentation

◆ ReadContiguous() [1/3]

virtual void ReadContiguous ( uint32_t  address,
uint8_t *  buffer_p,
std::size_t  bufSize 
)
pure virtual

Reads consecutive bytes from mapped memory/registers

Parameters
addressStart address of transfer
buffer_pBuffer where the data is copied to
bufSizeLength of transfer in bytes

Implemented in RegisterBank.

◆ ReadContiguous() [2/3]

void ReadContiguous ( uint32_t  address,
uint8_t(&)  buffer[N] 
)
inline

Reads consecutive bytes from mapped memory/registers

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressStart address of transfer
bufferBuffer where the data is copied to

◆ ReadContiguous() [3/3]

void ReadContiguous ( uint32_t  address,
std::array< uint8_t, N > &  array 
)
inline

Reads consecutive bytes from mapped memory/registers

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressStart address of transfer
arrayArray where the data is copied to

◆ ReadMailbox() [1/6]

virtual void ReadMailbox ( uint32_t  address,
uint8_t *  buffer_p,
std::size_t  bufSize 
)
pure virtual

Reads multiple words from a single address location

Parameters
addressAddress of transfer
buffer_pBuffer where the data is copied to
bufSizeLength of transfer in bytes

Implemented in RegisterBank.

◆ ReadMailbox() [2/6]

void ReadMailbox ( uint32_t  address,
uint8_t(&)  buffer[N] 
)
inline

Reads multiple words from a single address location

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressAddress of transfer
bufferBuffer where the data is copied to

◆ ReadMailbox() [3/6]

void ReadMailbox ( uint32_t  address,
std::array< uint8_t, N > &  array 
)
inline

Reads multiple words from a single address location

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressAddress of transfer
arrayArray where the data is copied to

◆ ReadMailbox() [4/6]

virtual void ReadMailbox ( uint32_t  address,
uint32_t *  buffer_p,
std::size_t  count 
)
pure virtual

Reads multiple words from a single address location

Parameters
addressAddress of transfer
buffer_pBuffer where the data is copied to
countNumber of words to transfer

Implemented in RegisterBank.

◆ ReadMailbox() [5/6]

void ReadMailbox ( uint32_t  address,
uint32_t(&)  buffer[N] 
)
inline

Reads multiple words from a single address location

Template Parameters
NLength of transfer in words (can be deduced)
Parameters
addressAddress of transfer
bufferBuffer where the data is copied to

◆ ReadMailbox() [6/6]

void ReadMailbox ( uint32_t  address,
std::array< uint32_t, N > &  array 
)
inline

Reads multiple words from a single address location

Template Parameters
NLength of transfer in words (can be deduced)
Parameters
addressAddress of transfer
arrayArray where the data is copied to

◆ ReadRegister()

virtual uint32_t ReadRegister ( uint32_t  address)
pure virtual

Reads from a single register

Parameters
addressRegister address
Returns
Read value of the addressed register

Implemented in RegisterBank.

◆ WriteContiguous() [1/3]

virtual void WriteContiguous ( uint32_t  address,
const uint8_t *  buffer_p,
std::size_t  bufSize 
)
pure virtual

Writes consecutive bytes to mapped memory/registers

Parameters
addressStart address of transfer
buffer_pBuffer where the data is copied from
bufSizeLength of transfer in bytes

Implemented in RegisterBank.

◆ WriteContiguous() [2/3]

void WriteContiguous ( uint32_t  address,
const uint8_t(&)  buffer[N] 
)
inline

Writes consecutive bytes to mapped memory/registers

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressStart address of transfer
bufferBuffer where the data is copied from

◆ WriteContiguous() [3/3]

void WriteContiguous ( uint32_t  address,
const std::array< uint8_t, N > &  array 
)
inline

Writes consecutive bytes to mapped memory/registers

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressStart address of transfer
arrayArray where the data is copied from

◆ WriteMailbox() [1/6]

virtual void WriteMailbox ( uint32_t  address,
const uint8_t *  buffer_p,
std::size_t  bufSize 
)
pure virtual

Writes multiple words to a single address location

Parameters
addressAddress of transfer
buffer_pBuffer where the data is copied from
bufSizeLength of transfer in bytes

Implemented in RegisterBank.

◆ WriteMailbox() [2/6]

void WriteMailbox ( uint32_t  address,
const uint8_t(&)  buffer[N] 
)
inline

Writes multiple words to a single address location

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressAddress of transfer
bufferBuffer where the data is copied from

◆ WriteMailbox() [3/6]

void WriteMailbox ( uint32_t  address,
const std::array< uint8_t, N > &  array 
)
inline

Writes multiple words to a single address location

Template Parameters
NLength of transfer in bytes (can be deduced)
Parameters
addressAddress of transfer
arrayArray where the data is copied from

◆ WriteMailbox() [4/6]

virtual void WriteMailbox ( uint32_t  address,
const uint32_t *  buffer_p,
std::size_t  count 
)
pure virtual

Writes multiple words to a single address location

Parameters
addressAddress of transfer
buffer_pBuffer where the data is copied from
countNumber of words to transfer

Implemented in RegisterBank.

◆ WriteMailbox() [5/6]

void WriteMailbox ( uint32_t  address,
const uint32_t(&)  buffer[N] 
)
inline

Writes multiple words to a single address location

Template Parameters
NLength of transfer in words (can be deduced)
Parameters
addressAddress of transfer
bufferBuffer where the data is copied from

◆ WriteMailbox() [6/6]

void WriteMailbox ( uint32_t  address,
const std::array< uint32_t, N > &  array 
)
inline

Writes multiple words to a single address location

Template Parameters
NLength of transfer in words (can be deduced)
Parameters
addressAddress of transfer
arrayArray where the data is copied from

◆ WriteRegister()

virtual void WriteRegister ( uint32_t  address,
uint32_t  value 
)
pure virtual

Writes to a single register

Parameters
addressRegister address
valueValue to write

Implemented in RegisterBank.


The documentation for this struct was generated from the following file: