ArmDebugInterface

Struct ArmDebugInterface 

Source
pub struct ArmDebugInterface<T> { /* private fields */ }

Implementations§

Source§

impl<T, U> ArmDebugInterface<T>
where T: DerefMut<Target = U>, U: Cable + ?Sized,

Source

pub fn new(taps: Taps<T>) -> Self

Source

pub fn queue_read_adi_nobank(&mut self, port: Port, reg: u8) -> bool

Source

pub fn finish_read(&mut self) -> Result<u32, u8>

Source

pub fn read_adi_nobank(&mut self, port: Port, reg: u8) -> Result<u32, u8>

Read register reg from port. This function assumes that the correct bank is already selected. You probably want read_adi unless you know what you’re doing.

Source

pub fn write_adi_nobank( &mut self, port: Port, reg: u8, val: u32, check: bool, ) -> Result<(), u8>

Write val to register reg on port. This function assumes that the correct bank is already selected. If check is true then the return code of the write will be verified, however this comes at a performance penalty. You probably want write_adi unless you know what you’re doing.

Source

pub fn bank_select(&mut self, apsel: u32, apbank: u32, dpbank: u32)

Select the given access port and banks on the access port and debug port.

Source

pub fn read_adi(&mut self, apsel: u32, port: Port, reg: u8) -> Result<u32, u8>

Read register reg from AP apsel and port.

Source

pub fn queue_read_adi(&mut self, apsel: u32, port: Port, reg: u8) -> bool

Read register reg from AP apsel and port.

Source

pub fn write_adi( &mut self, apsel: u32, port: Port, reg: u8, val: u32, ) -> Result<(), u8>

Write val to register reg of AP apsel and port.

Source

pub fn write_adi_nocheck( &mut self, apsel: u32, port: Port, reg: u8, val: u32, ) -> Result<(), u8>

Write val to register reg of AP apsel and port without checking for success. This is slightly faster than write_adi, especially when doing a sequence of writes.

Source

pub fn read_adi_pipelined( &mut self, apsel: u32, port: Port, reg: &[u8], ) -> Vec<Result<u32, u8>>

Read multiple registers. reg is an array of register values to access. The result is returned in the corresponding index of the returned Vec. This function makes more efficient use of the JTAG bus when there are multiple reads to perform.

Source

pub fn write_adi_pipelined( &mut self, apsel: u32, port: Port, reg: &[(u8, u32)], ) -> Result<(), u8>

Write multiple registers. Each item of reg is a tuple consisting of the register address and the value to write. This function makes more efficient use of the JTAG bus when there are multiple reads to perform.

Auto Trait Implementations§

§

impl<T> Freeze for ArmDebugInterface<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for ArmDebugInterface<T>
where T: RefUnwindSafe,

§

impl<T> Send for ArmDebugInterface<T>
where T: Send,

§

impl<T> Sync for ArmDebugInterface<T>
where T: Sync,

§

impl<T> Unpin for ArmDebugInterface<T>
where T: Unpin,

§

impl<T> UnwindSafe for ArmDebugInterface<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.