#[non_exhaustive]pub enum MultiCoreStrategy {
Error,
AutoPark,
Ignore(IgnoreMarker),
}unstable only.Expand description
Strategy for the other core during flash operations.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Error
Returns Error::OtherCoreRunning if the other core is running.
AutoPark
rt only.Posts an IPC function on the other core for the operation.
The function runs from RAM. The function masks interrupts on that core and waits until the operation finishes. The operation waits until that core enters the function. A core that does not take the IPC interrupt delays the operation.
If crate::system::CpuControl did not start the APP core, the CPU-control registers
stall that core instead.
Ignore(IgnoreMarker)
Does not check or stop the other core.
Construct with Self::ignore.
Implementations§
Source§impl MultiCoreStrategy
impl MultiCoreStrategy
Sourcepub const unsafe fn ignore() -> Self
pub const unsafe fn ignore() -> Self
Creates a strategy that does not check or stop the other core.
§Safety
The other core must not fetch instructions or data from flash during any operation, including reads. Flash-backed caches are unavailable while an operation runs.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Trait Implementations§
Source§impl Clone for MultiCoreStrategy
impl Clone for MultiCoreStrategy
impl Copy for MultiCoreStrategy
Source§impl Debug for MultiCoreStrategy
impl Debug for MultiCoreStrategy
Source§impl Default for MultiCoreStrategy
impl Default for MultiCoreStrategy
impl Eq for MultiCoreStrategy
Source§impl Hash for MultiCoreStrategy
impl Hash for MultiCoreStrategy
Source§impl PartialEq for MultiCoreStrategy
impl PartialEq for MultiCoreStrategy
impl StructuralPartialEq for MultiCoreStrategy
Auto Trait Implementations§
impl Freeze for MultiCoreStrategy
impl RefUnwindSafe for MultiCoreStrategy
impl Send for MultiCoreStrategy
impl Sync for MultiCoreStrategy
impl Unpin for MultiCoreStrategy
impl UnsafeUnpin for MultiCoreStrategy
impl UnwindSafe for MultiCoreStrategy
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)