Xous 微内核
Xous is a microkernel operating system written in pure Rust, built for high-assurance applications.
Key features:
std support in stable Rust (tier-3 Rust target)The Xous Book covers the architecture and structure of the kernel.
The wiki is a community resource that answers many FAQ.
The Baochip README is the starting point for Baochip users. vscode users may wish to install the baochip extension to help manage build & test cycles.
The Precursor README is the starting point for Precursor users.
[!IMPORTANT] Xous checks version tags as part of the build process. If building from a "shallow clone" or fork, fetch the tags, or else image creation will fail:
git remote add upstream https://github.com/betrusted-io/xous-core.git
git fetch upstream --tags
Xous is a mono-repo project. It contains the kernel, libraries, applications, and tools necessary to build full device images. Here is a brief description of the more important directories:
no-std featuresmain.rs, just a lib.rs.Install the latest Rust or run rustup update to update your Rust installation prior to building. Xous development assumes a recent version of Rust.
cargo xtask app-imagecargo xtask dabao dabao-consolecargo xtask baoseccargo xtask baremetal-bao1xcargo xtask baosec-lite dc34-console~flash dc34-vaultAdditional apps to be bundled into images can be specified as extra arguments on the command line, e.g. cargo xtask dabao dabao-console will generate a Dabao image that includes dabao-console in the detached-app section. Features, app-features, loader-features, and so forth can also be passed as command line arguments; run cargo xtask on its own for more help.
cargo xtask run will bring up an emulated Precursorcargo xtask baosec-emu will bring up an emulated Baoseccargo xtask renode-image will build an image suitable for Renode emulation of a Precursor target. Start renode by running renode emulation/xous-release.rescA flag of --feature doc-deps must be passed when running cargo doc, like this:
cargo doc --no-deps --feature doc-deps
doc-deps is a dummy hardware target that satisfies the requirement of
a "board" when building documentation.
xtask does a check every build to ensure that any crates.io dependencies
are synchronized with the contents of the monorepo. It protects against the
scenario where you edited a crate that exists in the Xous repo, but the
build system ignores the local edits because it's fetching an old version from
crates.io.
Developers working on published crates should patch them in the root Cargo.toml
file and bypass the check with --no-verify.
This project is funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310.
暂无开放 Issues,或尚未同步最近议题。