[][src]Enum kernel::procs::ProcessLoadError

pub enum ProcessLoadError {
    TbfHeaderParseFailure(TbfParseError),
    NotEnoughFlash,
    NotEnoughMemory,
    MpuInvalidFlashLength,
    MemoryAddressMismatch {
        actual_address: u32,
        expected_address: u32,
    },
    IncorrectFlashAddress {
        actual_address: u32,
        expected_address: u32,
    },
    InternalError,
}

Errors that can occur when trying to load and create processes.

Variants

TbfHeaderParseFailure(TbfParseError)

The TBF header for the process could not be successfully parsed.

NotEnoughFlash

Not enough flash remaining to parse a process and its header.

NotEnoughMemory

Not enough memory to meet the amount requested by a process. Modify the process to request less memory, flash fewer processes, or increase the size of the region your board reserves for process memory.

MpuInvalidFlashLength

A process was loaded with a length in flash that the MPU does not support. The fix is probably to correct the process size, but this could also be caused by a bad MPU implementation.

MemoryAddressMismatch

A process specified a fixed memory address that it needs its memory range to start at, and the kernel did not or could not give the process a memory region starting at that address.

Fields of MemoryAddressMismatch

actual_address: u32expected_address: u32
IncorrectFlashAddress

A process specified that its binary must start at a particular address, and that is not the address the binary is actually placed at.

Fields of IncorrectFlashAddress

actual_address: u32expected_address: u32
InternalError

Process loading error due (likely) to a bug in the kernel. If you get this error please open a bug report.

Trait Implementations

impl Debug for ProcessLoadError[src]

Auto Trait Implementations

impl Send for ProcessLoadError

impl Sync for ProcessLoadError

impl Unpin for ProcessLoadError

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.