pub enum ProcessLoadError {
NotEnoughMemory,
MpuInvalidFlashLength,
MpuConfigurationError,
MemoryAddressMismatch {
actual_address: u32,
expected_address: u32,
},
NoProcessSlot,
BinaryError(ProcessBinaryError),
CheckError(ProcessCheckError),
InternalError,
}
Expand description
Errors that can occur when trying to load and create processes.
Variants§
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.
MpuConfigurationError
The MPU configuration failed for some other, unspecified reason. This could be of an internal resource exhaustion, or a mismatch between the (current) MPU constraints and process requirements.
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.
NoProcessSlot
There is nowhere in the PROCESSES
array to store this process.
BinaryError(ProcessBinaryError)
Process loading failed because parsing the binary failed.
CheckError(ProcessCheckError)
Process loading failed because checking the process failed.
InternalError
Process loading error due (likely) to a bug in the kernel. If you get this error please open a bug report.