xous-core/kernel
2021-12-27 02:49:08 +08:00
..
.cargo kernel: config: temporarily remove support for lto 2021-08-18 18:16:13 +08:00
.vscode vscode: specify platform for vscode support 2021-08-06 17:51:47 +08:00
bin kernel: compatibility with riscv32imac-unknown-xous-elf 2021-08-18 18:14:24 +08:00
src retrofit the seed into an atomicu64 so we can set it elsewhere 2021-12-27 02:49:08 +08:00
utralib kernel: compatibility with riscv32imac-unknown-xous-elf 2021-08-18 18:14:24 +08:00
assemble.ps1 kernel: compatibility with riscv32imac-unknown-xous-elf 2021-08-18 18:14:24 +08:00
assemble.sh kernel: compatibility with riscv32imac-unknown-xous-elf 2021-08-18 18:14:24 +08:00
build.rs kernel: compatibility with riscv32imac-unknown-xous-elf 2021-08-18 18:14:24 +08:00
Cargo.lock initial attempt to make hosted mode more deterministic 2021-12-25 15:58:27 +08:00
Cargo.toml initial attempt to make hosted mode more deterministic 2021-12-25 15:58:27 +08:00
link.x kernel: compatibility with riscv32imac-unknown-xous-elf 2021-08-18 18:14:24 +08:00
README.md adding license info to README 2021-01-25 14:57:39 +01:00

Xous Kernel

This contains the core kernel for Xous. It requires a stage 1 loader in order to start up, as it assumes the system is already running in Supervisor mode.

Building

To build the kernel, you will need a riscv32 target for Rust. Possible targets include riscv32i-unknown-none-elf, riscv32imac-unknown-none-elf, or riscv32imac-unknown-xous-elf.

  1. Decide what target you want. For simple, embedded systems this could be riscv32i-unknown-none-elf, and for more complex systems with compressed instructions you could use riscv32imac-unknown-none-elf.
  2. Get Rust. Go to https://rustup.rs/ and follow its instructions.
  3. Install the proper toolchain: rustup target add ${target_arch}
  4. Build the kernel: cargo build --release --target ${target_arch}

Using

To use the kernel, you must package it up into an arguments binary with xous-tools.

Testing

TBD

Contribution Guidelines

Contributor Covenant

Please see CONTRIBUTING for details on how to make a contribution.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide its terms.

License

Copyright © 2020

This project is licensed under the Apache License 2.0 LICENSE. For accurate information, please check individual files.