pub struct AppFlashComponent<F: 'static + Flash + HasClient<'static, NonvolatileToPages<'static, F>>, const BUF_LEN: usize, CAP: MemoryAllocationCapability + 'static> { /* private fields */ }Implementations§
Source§impl<F: 'static + Flash + HasClient<'static, NonvolatileToPages<'static, F>>, const BUF_LEN: usize, CAP: MemoryAllocationCapability + 'static> AppFlashComponent<F, BUF_LEN, CAP>
impl<F: 'static + Flash + HasClient<'static, NonvolatileToPages<'static, F>>, const BUF_LEN: usize, CAP: MemoryAllocationCapability + 'static> AppFlashComponent<F, BUF_LEN, CAP>
pub fn new( board_kernel: &'static Kernel, driver_num: usize, storage: &'static F, mem_cap: CAP, ) -> AppFlashComponent<F, BUF_LEN, CAP>
Trait Implementations§
Source§impl<F: 'static + Flash + HasClient<'static, NonvolatileToPages<'static, F>>, const BUF_LEN: usize, CAP: MemoryAllocationCapability + 'static> Component for AppFlashComponent<F, BUF_LEN, CAP>
impl<F: 'static + Flash + HasClient<'static, NonvolatileToPages<'static, F>>, const BUF_LEN: usize, CAP: MemoryAllocationCapability + 'static> Component for AppFlashComponent<F, BUF_LEN, CAP>
Source§type StaticInput = (&'static mut MaybeUninit<[u8; BUF_LEN]>, &'static mut MaybeUninit<<F as Flash>::Page>, &'static mut MaybeUninit<NonvolatileToPages<'static, F>>, &'static mut MaybeUninit<AppFlash<'static>>)
type StaticInput = (&'static mut MaybeUninit<[u8; BUF_LEN]>, &'static mut MaybeUninit<<F as Flash>::Page>, &'static mut MaybeUninit<NonvolatileToPages<'static, F>>, &'static mut MaybeUninit<AppFlash<'static>>)
An optional type to specify the chip or board specific static memory
that a component needs to setup the output object(s). This is the memory
that [
crate::static_buf!()] would normally setup, but generic
components cannot setup static buffers for types which are
chip-dependent, so those buffers have to be passed in manually, and the
[Component::StaticInput] type makes this possible.Source§type Output = &'static AppFlash<'static>
type Output = &'static AppFlash<'static>
The type (e.g., capsule, peripheral) that this implementation of
[
Component] produces via [Component::finalize()]. This is typically
a static reference (&'static).Source§fn finalize(self, static_buffer: Self::StaticInput) -> Self::Output
fn finalize(self, static_buffer: Self::StaticInput) -> Self::Output
A factory method that returns an instance of the Output type of this
[
Component] implementation. This is used in the boot sequence to
instantiate and initialize part of the Tock kernel. This factory method
may only be called once per Component instance. Read moreAuto Trait Implementations§
impl<F, const BUF_LEN: usize, CAP> !RefUnwindSafe for AppFlashComponent<F, BUF_LEN, CAP>
impl<F, const BUF_LEN: usize, CAP> !Send for AppFlashComponent<F, BUF_LEN, CAP>
impl<F, const BUF_LEN: usize, CAP> !Sync for AppFlashComponent<F, BUF_LEN, CAP>
impl<F, const BUF_LEN: usize, CAP> !UnwindSafe for AppFlashComponent<F, BUF_LEN, CAP>
impl<F, const BUF_LEN: usize, CAP> Freeze for AppFlashComponent<F, BUF_LEN, CAP>where
CAP: Freeze,
impl<F, const BUF_LEN: usize, CAP> Unpin for AppFlashComponent<F, BUF_LEN, CAP>where
CAP: Unpin,
impl<F, const BUF_LEN: usize, CAP> UnsafeUnpin for AppFlashComponent<F, BUF_LEN, CAP>where
CAP: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more