pub struct Riscv32<'probe> { /* private fields */ }
Expand description

A interface to operate RISC-V cores.

Implementations

Create a new RISC-V interface.

Trait Implementations

See docs on the CoreInterface::hw_breakpoints trait NOTE: For riscv, this assumes that only execution breakpoints are used.

Wait until the core is halted. If the core does not halt on its own, a DebugProbeError::Timeout error will be returned. Read more

Check if the core is halted. If the core does not halt on its own, a DebugProbeError::Timeout error will be returned. Read more

Try to halt the core. This function ensures the core is actually halted, and returns a DebugProbeError::Timeout otherwise. Read more

Continue to execute instructions.

Reset the core, and then continue to execute instructions. If the core should be halted after reset, use the reset_and_halt function. Read more

Reset the core, and then immediately halt. To continue execution after reset, use the reset function. Read more

Steps one instruction and then enters halted state again.

Read the value of a core register.

Write the value of a core register.

Returns all the available breakpoint units of the core.

Enables breakpoints on this core. If a breakpoint is set, it will halt as soon as it is hit.

Sets a breakpoint at addr. It does so by using unit bp_unit_index.

Clears the breakpoint configured in unit unit_index.

Returns a list of all the registers of this core.

Returns true if hwardware breakpoints are enabled, false otherwise.

Get the Architecture of the Core.

Get the CoreType of the Core

Determine the instruction set the core is operating in This must be queried while halted as this is a runtime decision for some core types Read more

Returns the current status of the core.

Determine if an FPU is present. This must be queried while halted as this is a runtime decision for some core types. Read more

Called during session stop to do any pending cleanup

Does this interface support native 64-bit wide accesses Read more

Read a 64bit word of at address. Read more

Read a 32bit word of at address. Read more

Read an 8bit word of at address.

Read a block of 64bit words at address. Read more

Read a block of 32bit words at address. Read more

Read a block of 8bit words at address.

Write a 64bit word at address. Read more

Write a 32bit word at address. Read more

Write an 8bit word at address.

Write a block of 64bit words at address. Read more

Write a block of 32bit words at address. Read more

Write a block of 8bit words at address.

Flush any outstanding operations. Read more

Reads bytes using 64 bit memory access. Address must be 64 bit aligned and data must be an exact multiple of 8. Read more

Reads bytes using 32 bit memory access. Address must be 32 bit aligned and data must be an exact multiple of 4. Read more

Read a block of 8bit words at address. May use 32 bit memory access, so should only be used if reading memory locations that don’t have side effects. Generally faster than read_8. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.