Type Alias DynamicBinaryStorage

Source
pub(crate) type DynamicBinaryStorage<'a> = SequentialDynamicBinaryStorage<'static, 'static, NRF52<'a, Nrf52833DefaultPeripherals<'a>>, ProcessStandardDebugFull, NVPages<Nvmc>>;

Aliased Type§

struct DynamicBinaryStorage<'a> { /* private fields */ }

Implementations

Source§

impl<'a, 'b, C, D, F> SequentialDynamicBinaryStorage<'a, 'b, C, D, F>
where C: Chip + 'static, D: ProcessStandardDebug + 'static, F: NonvolatileStorage<'b>,

Source

pub fn new( flash_driver: &'b F, loader_driver: &'a SequentialProcessLoaderMachine<'a, C, D>, buffer: &'static mut [u8], ) -> SequentialDynamicBinaryStorage<'a, 'b, C, D, F>

Trait Implementations

Source§

impl<'b, C, D, F> DeferredCallClient for SequentialDynamicBinaryStorage<'_, 'b, C, D, F>

Source§

fn handle_deferred_call(&self)

Software interrupt function that is called when the deferred call is triggered.
Source§

fn register(&'static self)

Source§

impl<'b, C, D, F> DynamicBinaryStore for SequentialDynamicBinaryStorage<'_, 'b, C, D, F>
where C: Chip + 'static, D: ProcessStandardDebug + 'static, F: NonvolatileStorage<'b>,

Storage interface exposed to the app_loader capsule

Source§

fn set_storage_client(&self, client: &'static dyn DynamicBinaryStoreClient)

Sets a client for the SequentialDynamicBinaryStore Object Read more
Source§

fn setup(&self, app_length: usize) -> Result<usize, ErrorCode>

Call to request flashing a new binary. Read more
Source§

fn write( &self, buffer: SubSliceMut<'static, u8>, offset: usize, ) -> Result<(), ErrorCode>

Instruct the kernel to write data to the flash. Read more
Source§

fn finalize(&self) -> Result<(), ErrorCode>

Signal to the kernel that the requesting process is done writing the new binary.
Source§

fn abort(&self) -> Result<(), ErrorCode>

Call to abort the setup/writing process.
Source§

impl<'b, C, D, F> DynamicProcessLoad for SequentialDynamicBinaryStorage<'_, 'b, C, D, F>
where C: Chip + 'static, D: ProcessStandardDebug + 'static, F: NonvolatileStorage<'b>,

Loading interface exposed to the app_loader capsule

Source§

fn set_load_client(&self, client: &'static dyn DynamicProcessLoadClient)

Sets a client for the SequentialDynamicProcessLoading Object Read more
Source§

fn load(&self) -> Result<(), ErrorCode>

Call to request kernel to load a new process.
Source§

impl<'b, C, D, F> NonvolatileStorageClient for SequentialDynamicBinaryStorage<'_, 'b, C, D, F>
where C: Chip + 'static, D: ProcessStandardDebug + 'static, F: NonvolatileStorage<'b>,

This is the callback client for the underlying physical storage driver.

Source§

fn read_done(&self, _buffer: &'static mut [u8], _length: usize)

read_done is called when the implementor is finished reading in to the buffer. The callback returns the buffer and the number of bytes that were actually read.
Source§

fn write_done(&self, buffer: &'static mut [u8], length: usize)

write_done is called when the implementor is finished writing from the buffer. The callback returns the buffer and the number of bytes that were actually written.
Source§

impl<'b, C, D, F> ProcessLoadingAsyncClient for SequentialDynamicBinaryStorage<'_, 'b, C, D, F>
where C: Chip + 'static, D: ProcessStandardDebug + 'static, F: NonvolatileStorage<'b>,

Callback client for the async process loader

Source§

fn process_loaded(&self, result: Result<(), ProcessLoadError>)

A process was successfully found in flash, checked, and loaded into a ProcessStandard object.
Source§

fn process_loading_finished(&self)

There are no more processes in flash to be loaded.