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

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

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.

Converts the given value to a String. Read more

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.