#![cfg_attr(target_os = "none", no_std)]
pub mod cycle;
pub mod stack;
pub mod sync;
pub mod task;
pub mod tick;
pub mod timer;
#[doc(hidden)]
pub mod cell;
#[doc(hidden)]
pub mod ctor;
#[cfg(mpu)]
pub mod mpu;
#[cfg(any(mpu_armv6m, mpu_armv7m, mpu_armv7r, mpu_riscv))]
mod align;
mod bindings;
mod list;
mod ptr_macros;
#[inline]
pub fn abort() -> ! {
unsafe { bindings::rt_abort() }
}
#[inline]
pub fn trap() -> ! {
unsafe { bindings::rt_trap() }
}
#[inline]
pub fn exit() -> ! {
unsafe { bindings::rt_exit() }
}
#[doc(hidden)]
pub use paste;
#[cfg(test)]
fn test_init() {
use std::sync::Once;
static TEST_INIT: Once = Once::new();
TEST_INIT.call_once(|| unsafe {
bindings::rt_start_sched();
});
}
#[cfg(target_os = "none")]
mod panic;