[][src]Trait probe_rs::architecture::arm::memory::MI

pub trait MI {
    fn read32(&mut self, address: u32) -> Result<u32, AccessPortError>;
fn read8(&mut self, address: u32) -> Result<u8, AccessPortError>;
fn read_block32(
        &mut self,
        address: u32,
        data: &mut [u32]
    ) -> Result<(), AccessPortError>;
fn read_block8(
        &mut self,
        address: u32,
        data: &mut [u8]
    ) -> Result<(), AccessPortError>;
fn write32(
        &mut self,
        address: u32,
        data: u32
    ) -> Result<(), AccessPortError>;
fn write8(&mut self, address: u32, data: u8) -> Result<(), AccessPortError>;
fn write_block32(
        &mut self,
        address: u32,
        data: &[u32]
    ) -> Result<(), AccessPortError>;
fn write_block8(
        &mut self,
        address: u32,
        data: &[u8]
    ) -> Result<(), AccessPortError>; }

Required methods

fn read32(&mut self, address: u32) -> Result<u32, AccessPortError>

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.

fn read8(&mut self, address: u32) -> Result<u8, AccessPortError>

Read an 8bit 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.

fn read_block32(
    &mut self,
    address: u32,
    data: &mut [u32]
) -> Result<(), AccessPortError>

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.

fn read_block8(
    &mut self,
    address: u32,
    data: &mut [u8]
) -> Result<(), AccessPortError>

Read a block of 8bit 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.

fn write32(&mut self, address: u32, data: u32) -> Result<(), AccessPortError>

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.

fn write8(&mut self, address: u32, data: u8) -> Result<(), AccessPortError>

Write an 8bit 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.

fn write_block32(
    &mut self,
    address: u32,
    data: &[u32]
) -> Result<(), AccessPortError>

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.

fn write_block8(
    &mut self,
    address: u32,
    data: &[u8]
) -> Result<(), AccessPortError>

Write a block of 8bit 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.

Loading content...

Implementations on Foreign Types

impl<'_, T> MI for &'_ mut T where
    T: MI
[src]

Loading content...

Implementors

Loading content...