[][src]Crate harsark

A safe and lightweight real-time Kernel written in Rust. Currently the kernel runs on cortex-m3/m4 based microcontrollers, work is in progress on extending this to other platforms.

Usage

Place the following to the Cargo.toml:

[dependencies]
harsark = { version = "0.3.5" }

Re-exports

pub extern crate alloc;

Modules

events

Kernel routines which assist in Event management.

heap

Heap Allocator

helpers

Helper functions.

logging

Kernel routines which handle log management.

macros

Macro Definitions

primitives

Kernel primitives which assist application development.

tasks

Kernel routines which assist in Task management.

timer

Kernel timer management.

Macros

priv_execute

priv_execute! executes the code block only if the current context is in privileged mode.

spawn

The tasks must be looping infinitely and call task_exit whenever a particular task is done. This makes it complicated to create tasks and also might introduce undefined behavior if task_exit is not called. The spawn macro makes it easier to define tasks. It also defines a static variable of type TaskId, which corresponds to the task created.