[−][src]Struct probe_rs::coresight::memory::adi_v5_memory_interface::ADIMemoryInterface
A struct to give access to a targets memory using a certain DAP.
Methods
impl ADIMemoryInterface
[src]
pub fn new(access_port_number: u8) -> Self
[src]
Creates a new MemoryInterface for given AccessPort.
pub fn read32<AP>(
&self,
debug_port: &mut AP,
address: u32
) -> Result<u32, AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
address: u32
) -> Result<u32, AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Read a 32bit word at addr
.
The address where the read should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
pub fn read8<AP>(
&self,
debug_port: &mut AP,
address: u32
) -> Result<u8, AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
address: u32
) -> Result<u8, AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Read an 8bit word at addr
.
The address where the read should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
pub fn read_block32<AP>(
&self,
debug_port: &mut AP,
start_address: u32,
data: &mut [u32]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
start_address: u32,
data: &mut [u32]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Read a block of words of the size defined by S at addr
.
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.
pub fn read_block8<AP>(
&self,
debug_port: &mut AP,
address: u32,
data: &mut [u8]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
address: u32,
data: &mut [u8]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
pub fn write32<AP>(
&self,
debug_port: &mut AP,
address: u32,
data: u32
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
address: u32,
data: u32
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Write a 32bit word at addr
.
The address where the write should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
pub fn write8<AP>(
&self,
debug_port: &mut AP,
address: u32,
data: u8
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
address: u32,
data: u8
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Write an 8bit word at addr
.
The address where the write should be performed at has to be word aligned.
Returns AccessPortError::MemoryNotAligned
if this does not hold true.
pub fn write_block32<AP>(
&self,
debug_port: &mut AP,
start_address: u32,
data: &[u32]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
start_address: u32,
data: &[u32]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Write a block of 32bit words at addr
.
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.
pub fn write_block8<AP>(
&self,
debug_port: &mut AP,
address: u32,
data: &[u8]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
[src]
&self,
debug_port: &mut AP,
address: u32,
data: &[u8]
) -> Result<(), AccessPortError> where
AP: APAccess<MemoryAP, CSW> + APAccess<MemoryAP, TAR> + APAccess<MemoryAP, DRW>,
Write a block of 8bit words at addr
.
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.
Auto Trait Implementations
impl RefUnwindSafe for ADIMemoryInterface
impl Send for ADIMemoryInterface
impl Sync for ADIMemoryInterface
impl Unpin for ADIMemoryInterface
impl UnwindSafe for ADIMemoryInterface
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,