Enum probe_rs::DebugProbeError
source · [−]pub enum DebugProbeError {
Show 19 variants
Usb(Option<Box<dyn Error + Send + Sync>>),
ProbeFirmwareOutdated,
ProbeSpecific(Box<dyn Error + Send + Sync>),
ProbeCouldNotBeCreated(ProbeCreationError),
UnsupportedProtocol(WireProtocol),
Timeout,
ArchitectureSpecific(Box<dyn Error + Send + Sync>),
InterfaceNotAvailable(&'static str),
Registry(RegistryError),
UnsupportedSpeed(u32),
NotAttached,
Attached,
TargetNotFound,
NotImplemented(&'static str),
DebugSequenceNotSupported(&'static str),
BatchError(BatchCommand),
CommandNotSupportedByProbe(&'static str),
BreakpointUnitsExceeded,
Other(Error),
}
Expand description
This error occurs whenever the debug probe logic encounters an error while operating the relevant debug probe.
Variants
Usb(Option<Box<dyn Error + Send + Sync>>)
Something with the USB communication went wrong.
ProbeFirmwareOutdated
The firmware of the probe is outdated. This error is especially prominent with ST-Links. You can use their official updater utility to update your probe firmware.
ProbeSpecific(Box<dyn Error + Send + Sync>)
An error which is specific to the debug probe in use occurred.
ProbeCouldNotBeCreated(ProbeCreationError)
The debug probe handle could not be created as specified.
UnsupportedProtocol(WireProtocol)
The selected wire protocol is not supported with given probe.
Timeout
A timeout occurred during an operation.
ArchitectureSpecific(Box<dyn Error + Send + Sync>)
An error that is specific to the selected target core architecture occoured.
InterfaceNotAvailable(&'static str)
The selected probe does not support the selected interface. This happens if a probe does not support certain functionality, such as:
- ARM debugging
- RISC-V debugging
- SWO
Registry(RegistryError)
Some interaction with the target registry failed. This happens when an invalid chip name is given for example.
UnsupportedSpeed(u32)
The debug probe does not support the speed that was chosen. Try to alter the selected speed.
NotAttached
The debug probe did not yet perform the init sequence.
Try calling DebugProbe::attach
before trying again.
Attached
The debug probe already performed the init sequence.
Try runnoing the failing command before DebugProbe::attach
.
TargetNotFound
Performing the init sequence on the target failed. Check the wiring before continuing.
NotImplemented(&'static str)
The variant of the function you called is not yet implemented. This can happen if some debug probe has some unimplemented functionality for a specific protocol or architecture.
DebugSequenceNotSupported(&'static str)
The called debug sequence is not supported on given probe. This is most likely happening because you are using an ST-Link, which are severely limited in functionality. If possible, try using another probe.
BatchError(BatchCommand)
An error occurred during the previously batched command.
CommandNotSupportedByProbe(&'static str)
The used functionality is not supported by the selected probe. This can happen when a probe does not allow for setting speed manually for example.
BreakpointUnitsExceeded
The hardware breakpoint could not be set because all breakpoint units are in use.
Other(Error)
Some other error occurred.
Trait Implementations
sourceimpl Debug for DebugProbeError
impl Debug for DebugProbeError
sourceimpl Display for DebugProbeError
impl Display for DebugProbeError
sourceimpl Error for DebugProbeError
impl Error for DebugProbeError
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl From<DapError> for DebugProbeError
impl From<DapError> for DebugProbeError
sourceimpl From<DebugPortError> for DebugProbeError
impl From<DebugPortError> for DebugProbeError
sourcefn from(error: DebugPortError) -> Self
fn from(error: DebugPortError) -> Self
Converts to this type from the input type.
sourceimpl From<DebugProbeError> for AccessPortError
impl From<DebugProbeError> for AccessPortError
sourcefn from(source: DebugProbeError) -> Self
fn from(source: DebugProbeError) -> Self
Converts to this type from the input type.
sourceimpl From<DebugProbeError> for DebugPortError
impl From<DebugProbeError> for DebugPortError
sourcefn from(source: DebugProbeError) -> Self
fn from(source: DebugProbeError) -> Self
Converts to this type from the input type.
sourceimpl From<DebugProbeError> for Error
impl From<DebugProbeError> for Error
sourcefn from(source: DebugProbeError) -> Self
fn from(source: DebugProbeError) -> Self
Converts to this type from the input type.
sourceimpl From<DebugProbeError> for RiscvError
impl From<DebugProbeError> for RiscvError
sourcefn from(source: DebugProbeError) -> Self
fn from(source: DebugProbeError) -> Self
Converts to this type from the input type.
sourceimpl From<Error> for DebugProbeError
impl From<Error> for DebugProbeError
sourcefn from(e: Error) -> DebugProbeError
fn from(e: Error) -> DebugProbeError
Converts to this type from the input type.
sourceimpl From<Error> for DebugProbeError
impl From<Error> for DebugProbeError
sourceimpl From<ProbeCreationError> for DebugProbeError
impl From<ProbeCreationError> for DebugProbeError
sourcefn from(source: ProbeCreationError) -> Self
fn from(source: ProbeCreationError) -> Self
Converts to this type from the input type.
sourceimpl From<RegistryError> for DebugProbeError
impl From<RegistryError> for DebugProbeError
sourcefn from(source: RegistryError) -> Self
fn from(source: RegistryError) -> Self
Converts to this type from the input type.
Auto Trait Implementations
impl !RefUnwindSafe for DebugProbeError
impl Send for DebugProbeError
impl Sync for DebugProbeError
impl Unpin for DebugProbeError
impl !UnwindSafe for DebugProbeError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more