Enum probe_rs::flashing::FlashError
source · pub enum FlashError {
Show 23 variants
NoSuitableNvm {
start: u64,
end: u64,
description_source: TargetDescriptionSource,
},
ChipEraseFailed {
source: Box<dyn Error + Send + Sync + 'static>,
},
EraseFailed {
sector_address: u64,
source: Box<dyn Error + Send + Sync + 'static>,
},
PageWrite {
page_address: u64,
source: Box<dyn Error + Send + Sync + 'static>,
},
Init(Box<dyn Error + Send + Sync + 'static>),
Uninit(Box<dyn Error + Send + Sync + 'static>),
ChipEraseNotSupported,
RoutineCallFailed {
name: &'static str,
error_code: u32,
},
AddressNotInRegion {
address: u32,
region: NvmRegion,
},
Core(Error),
FlashAlgorithmNotLoaded,
InvalidFlashAlgorithmLoadAddress {
address: u64,
},
InvalidPageSize {
size: u32,
},
NoFlashLoaderAlgorithmAttached {
name: String,
},
MultipleDefaultFlashLoaderAlgorithms {
region: NvmRegion,
},
MultipleFlashLoaderAlgorithmsNoDefault {
region: NvmRegion,
},
Verify,
NoRamDefined {
name: String,
},
InvalidFlashAlgorithmLength {
name: String,
algorithm_source: Option<TargetDescriptionSource>,
},
DataOverlaps {
added_addresses: Range<u64>,
existing_addresses: Range<u64>,
},
NoNvmCoreAccess(NvmRegion),
NoRamCoreAccess(RamRegion),
RegisterValueNotSupported(u64),
}
Expand description
Describes any error that happened during the or in preparation for the flashing procedure.
Variants§
NoSuitableNvm
Fields
description_source: TargetDescriptionSource
The source of this target description (was it a built in target or one loaded externally and from what file path?).
No flash memory contains the entire requested memory range.
ChipEraseFailed
Erasing the full chip flash failed.
EraseFailed
Fields
Erasing the given flash sector failed.
PageWrite
Fields
Writing the given page failed.
Init(Box<dyn Error + Send + Sync + 'static>)
Initializing the flash algorithm failed.
Uninit(Box<dyn Error + Send + Sync + 'static>)
Uninizializing the flash algorithm failed.
ChipEraseNotSupported
This target does not support full chip flash erases.
RoutineCallFailed
Fields
Calling the given routine returned the given error code.
AddressNotInRegion
Fields
The given address was not contained in the given NVM region.
Core(Error)
An error occurred during the interaction with the core.
FlashAlgorithmNotLoaded
The RAM contents did not match the flash algorithm.
InvalidFlashAlgorithmLoadAddress
Failed to load the flash algorithm into RAM at given address. This can happen if there is not enough space.
Check the algorithm code and settings before you try again.
InvalidPageSize
The given page size is not valid. Only page sizes multiples of 4 bytes are allowed.
NoFlashLoaderAlgorithmAttached
No flash algorithm was linked to this target.
MultipleDefaultFlashLoaderAlgorithms
More than one matching flash algorithm was found for the given memory range and all of them is marked as default.
MultipleFlashLoaderAlgorithmsNoDefault
More than one matching flash algorithm was found for the given memory range and none of them is marked as default.
Verify
Flash content verification failed.
NoRamDefined
The given chip has no RAM defined.
InvalidFlashAlgorithmLength
Fields
algorithm_source: Option<TargetDescriptionSource>
The source of the flash algorithm (was it a built in target or one loaded externally and from what file path?).
The given flash algorithm did not have a leng multiple of 4 bytes.
This means that the flash algorithm that was loaded is broken.
DataOverlaps
Fields
Two blocks of data overlap each other which means the loaded binary is broken.
Please check your data and try again.
NoNvmCoreAccess(NvmRegion)
No core can access this NVM region.
NoRamCoreAccess(RamRegion)
No core can access this RAM region.
RegisterValueNotSupported(u64)
The register value supplied for this flash algorithm is out of the supported range.
Trait Implementations§
source§impl Debug for FlashError
impl Debug for FlashError
source§impl Display for FlashError
impl Display for FlashError
source§impl Error for FlashError
impl Error for FlashError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<Error> for FlashError
impl From<Error> for FlashError
source§impl From<FlashError> for FileDownloadError
impl From<FlashError> for FileDownloadError
source§fn from(source: FlashError) -> Self
fn from(source: FlashError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for FlashError
impl Send for FlashError
impl Sync for FlashError
impl Unpin for FlashError
impl !UnwindSafe for FlashError
Blanket Implementations§
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.