Trait probe_rs::MemoryInterface [−][src]
pub trait MemoryInterface { fn read_word_32(&mut self, address: u32) -> Result<u32, Error>; fn read_word_8(&mut self, address: u32) -> Result<u8, Error>; fn read_32(&mut self, address: u32, data: &mut [u32]) -> Result<(), Error>; fn read_8(&mut self, address: u32, data: &mut [u8]) -> Result<(), Error>; fn write_word_32(&mut self, address: u32, data: u32) -> Result<(), Error>; fn write_word_8(&mut self, address: u32, data: u8) -> Result<(), Error>; fn write_32(&mut self, address: u32, data: &[u32]) -> Result<(), Error>; fn write_8(&mut self, address: u32, data: &[u8]) -> Result<(), Error>; fn flush(&mut self) -> Result<(), Error>; fn read_mem_32bit(
&mut self,
address: u32,
data: &mut [u8]
) -> Result<(), Error> { ... } fn read(&mut self, address: u32, data: &mut [u8]) -> Result<(), Error> { ... } }
Required methods
Read a 32bit word of at address
.
The address where the read should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
Read a block of 32bit words at address
.
The number of words read is data.len()
.
The address where the read should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
Read a block of 8bit words at address
.
Write a 32bit word at address
.
The address where the write should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
Write an 8bit word at address
.
Write a block of 32bit words at address
.
The number of words written is data.len()
.
The address where the write should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
Write a block of 8bit words at address
.
Flush any outstanding operations.
For performance, debug probe implementations may choose to batch writes;
to assure that any such batched writes have in fact been issued, flush
can be called. Takes no arguments, but may return failure if a batched
operation fails.
Provided methods
Reads bytes using 32 bit memory access. Address must be 32 bit aligned and data must be an exact multiple of 4.