Xous SDK (pinned for betrusted transpilation)
Find a file
Sean Cross 45656b36cd loader: correct comment on init section
This assert is getting triggered due to a bug.  The error message is
missing a closing ")".

Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-10 17:31:30 +08:00
docs
emulation emulation: litex_timer_32: remove dead code 2020-03-10 17:30:58 +08:00
examples/shell examples: shell: use 32-bit timer csr 2020-03-10 16:41:48 +08:00
kernel
loader loader: correct comment on init section 2020-03-10 17:31:30 +08:00
tools
xous-rs
.gitattributes
.gitignore
Cargo.lock
Cargo.toml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
README.md README: fix quickstart 2020-03-10 14:45:18 +08:00

Xous Core

Core files for the Xous microkernel operating system.

This repository contains everything necessary to build the Xous kernel from source. It consists of the following projects:

  • kernel: core memory manager, irq manager, and syscallhandler
  • loader: initial loader used to start the kernel
  • tools: programs used to construct a final boot image
  • docs: documentation on various aspects of Xous
  • emulation: Renode scripts used to emulate Xous
  • xous-rs: userspace library

Generating an image

You can build all Xous packages by running:

$ rustup target add riscv32imac-unknown-none-elf
$ cargo build --target riscv32imac-unknown-none-elf
$ cd kernel
$ cargo build -p kernel --target riscv32imac-unknown-none-elf
$ cd ..

This will compile all runtime packages for riscv32imac-unknown-none-elf.

These need to be packaged into a loadable binary. You can generate such a binary by running the following:

$ cargo run -p tools --bin create-image -- \
        --csv emulation/csr.csv
        --kernel target/riscv32imac-unknown-none-elf/debug/kernel \
        --init target/riscv32imac-unknown-none-elf/debug/shell \
        target/args.bin

$