[−][src]Struct ecpdap::jtag::JTAG
Implementations
impl JTAG
[src]
pub fn new(dap: DAP) -> JTAG
[src]
Create a new JTAG object which takes ownership of the provided DAP.
The initial state is TAPState::Unknown; the only way to enter a
known state is by calling enter_test_logic_reset()
to reset.
pub fn set_max_length(&mut self, max_length: usize)
[src]
Set the maximum scan chain length to attempt to detect.
pub fn set_clock(&self, freq: u32) -> Result<()>
[src]
Set JTAG bus clock speed.
pub fn pulse_nrst(&self, duration: Duration) -> Result<()>
[src]
Pulse nRST low for duration
.
pub fn scan(&mut self, ir_lengths: Option<&[usize]>) -> Result<JTAGChain>
[src]
Scan JTAG chain, detecting TAPs and their IDCODEs and IR lengths.
If IR lengths for each TAP are known, provide them in ir_lengths
.
Returns a new JTAGChain, which contains detected IDCODEs and can be used to create a JTAGTAP at a specific index.
pub fn into_tap(self, chain: JTAGChain, index: usize) -> Result<JTAGTAP>
[src]
Create a new JTAG TAP, allowing read/write access to a single TAP on the chain.
pub fn enter_test_logic_reset(&mut self) -> Result<()>
[src]
Force all TAPs into Test-Logic-Reset state from any current state.
pub fn enter_run_test_idle(&mut self) -> Result<()>
[src]
Enter Run-Test/Idle state from TestLogicReset, Exit1*, Pause*, or Update*.
pub fn run_test_idle(&mut self, n: usize) -> Result<()>
[src]
Enter Run-Test/Idle and remain there for n
clock cycles.
pub fn enter_shift_dr(&mut self) -> Result<()>
[src]
Enter Shift-DR state from Test-Logic-Reset, Run-Test/Idle, Update*, or Pause*.
pub fn enter_pause_dr(&mut self) -> Result<()>
[src]
Enter Pause-DR from Exit1-DR.
pub fn enter_update_dr(&mut self) -> Result<()>
[src]
Enter Update-DR from Shift-DR or Exit1-DR.
pub fn enter_shift_ir(&mut self) -> Result<()>
[src]
Enter Shift-IR state from Test-Logic-Reset, Run-Test/Idle, Update*, or Pause*.
pub fn enter_pause_ir(&mut self) -> Result<()>
[src]
Enter Pause-IR from Exit1-IR.
pub fn enter_update_ir(&mut self) -> Result<()>
[src]
Enter Update-IR from Shift-IR or Exit1-IR.
pub fn write_ir(&mut self, tdi: &[bool]) -> Result<()>
[src]
Move to Shift-IR, write tdi
to IR, then enter Update-IR.
pub fn read_ir(&mut self, n: usize) -> Result<Vec<bool>>
[src]
Move to Shift-IR, read n
bits of IR while writing 0xFF, then enter Update-IR.
Returns the captured bits from TDO.
pub fn exchange_ir(&mut self, tdi: &[bool]) -> Result<Vec<bool>>
[src]
Move to Shift-IR, write tdi
to IR while capturing TDO, then enter Update-IR.
Returns the captured bits from TDO.
pub fn write_dr(&mut self, tdi: &[bool]) -> Result<()>
[src]
Move to Shift-DR, write tdi
to DR, enter Update-DR.
pub fn write_dr_and_stay(&mut self, tdi: &[bool]) -> Result<()>
[src]
Move to Shift-DR, write tdi
to DR, remain in Shift-DR.
pub fn read_dr(&mut self, n: usize) -> Result<Vec<bool>>
[src]
Move to Shift-DR, read n
bits of DR while writing 0xFF.
Returns the captured bits from TDO.
pub fn exchange_dr(&mut self, tdi: &[bool]) -> Result<Vec<bool>>
[src]
Move to Shift-DR, write tdi
to DR while capturing TDO.
Returns the captured bits from TDO.
Auto Trait Implementations
impl RefUnwindSafe for JTAG
[src]
impl Send for JTAG
[src]
impl !Sync for JTAG
[src]
impl Unpin for JTAG
[src]
impl UnwindSafe for JTAG
[src]
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,
pub 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.
pub 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>,