Expand description
The kernel interface.
Not to be confused with r3_kernel
, a kernel implementation.
Modules
Kernel configuration
Event groups
Hooks
Hunks
Interrupt lines and handlers
Mutexes
The low-level kernel interface to be implemented by a kernel implementor.
The low-level kernel static configuration interface to be implemented by a
kernel implementor.
Semaphores
Tasks
Timers
Re-exports all traits defined under this module for convenience.
Structs
Wraps a
raw_cfg::CfgBase
to provide higher-level services.Represents a single owned event group in a system.
Represents a single borrowed event group in a system.
Options for
EventGroup::wait
.Represents a single hunk in a system.
Refers to an interrupt line in a system.
A non-
Send
, 'static
task reference. The lack of Send
-ness constrains
its lifetime to the owning task and thus allows it to represent a current
task safely.Represents a single mutex in a system.
Represents a single borrowed mutex in a system.
Represents a single semaphore in a system.
Represents a single borrowed semaphore in a system.
Represents a registered startup hook in a system.
Represents a registered (second-level) interrupt handler in a system.
Represents a single task in a system.
Represents a single borrowed task in a system.
Represents a single timer in a system.
Represents a single borrowed timer in a system.
Enums
Error type for
Task::activate
.Error type for
Kernel::adjust_time
.Error type for
Kernel::boost_priority
and
Kernel::unboost_priority
.Error type for
InterruptLine::clear
.Error type for
Kernel::acquire_cpu_lock
and
Kernel::release_cpu_lock
.Error type for
Semaphore::drain
.Error type for
InterruptLine::enable
and InterruptLine::disable
.Error type for
Kernel::exit_task
.Error type for
LocalTask::current
.Error type for
EventGroup::get
.Error type for
Semaphore::get
.Error type for
Task::priority
.Error type for
Task::interrupt
.Error type for
Mutex::lock
.Error type for
Mutex::lock_timeout
.Error type for
Mutex::mark_consistent
.Specifies the locking protocol to be followed by a mutex.
Error type for
Kernel::park
.Error type for
Kernel::park_timeout
.Error type for
InterruptLine::pend
.Error type for
EventGroup::poll
.Error type for
Semaphore::poll_one
.Error type for
InterruptLine::is_pending
.Error type for
Mutex::is_locked
.Specifies the sorting order of a wait queue.
All result codes (including the one indicating success) that a kernel
function can return.
Error type for
InterruptLine::set_priority
and
InterruptLine::set_priority_unchecked
.Error type for
Task::set_priority
.Error type for
Timer::set_delay
.Error type for
Timer::set_period
.Error type for
Semaphore::signal
.Error type for
Kernel::sleep
.Error type for
Timer::start
.Error type for
Timer::stop
.Error type for
Kernel::time
and
Kernel::set_time
.Error type for
Mutex::try_lock
.Error type for
Mutex::unlock
.Error type for
Task::unpark
.Error type for
Task::unpark_exact
.Error type for
EventGroup::set
and EventGroup::clear
.Error type for wait operations such as
EventGroup::wait
.Error type for
EventGroup::wait
.Error type for
EventGroup::wait_timeout
.Error type for
Semaphore::wait_one
.Error type for
Semaphore::wait_one_timeout
.Error type for wait operations with timeout such as
EventGroup::wait_timeout
.Traits
A group of traits that must be implemented by kernel object ID types,
including
KernelBase::RawTaskId
.Provides access to the global functionalities of a kernel.
Type Definitions
Unsigned integer type backing event groups.
Numeric value used to identify interrupt lines.
Priority value for an interrupt line.
Unsigned integer type representing the number of permits held by a
semaphore.