17#ifndef __ROGUE_HARDWARE_MEM_MAP_H__
18#define __ROGUE_HARDWARE_MEM_MAP_H__
32#define MAP_DEVICE "/dev/mem"
61 volatile uint8_t* map_;
64 std::shared_ptr<rogue::Logging> log_;
91 static std::shared_ptr<rogue::hardware::MemMap>
create(uint64_t base, uint32_t size);
109 MemMap(uint64_t base, uint32_t size);
124 void doTransaction(std::shared_ptr<rogue::interfaces::memory::Transaction> tran);
128typedef std::shared_ptr<rogue::hardware::MemMap>
MemMapPtr;
Thread-safe bounded queue with optional busy threshold.
Memory-slave bridge for direct /dev/mem mapped register access.
void doTransaction(std::shared_ptr< rogue::interfaces::memory::Transaction > tran)
Queues a memory transaction for asynchronous mapped-memory access.
void stop()
Stops worker thread, unmaps memory, and closes /dev/mem.
static std::shared_ptr< rogue::hardware::MemMap > create(uint64_t base, uint32_t size)
Creates a raw memory-map bridge instance.
static void setup_python()
Registers Python bindings for this class.
~MemMap()
Destroys the raw memory-map bridge instance.
std::shared_ptr< rogue::hardware::MemMap > MemMapPtr
Shared pointer alias for MemMap.