Xous SDK (pinned for betrusted transpilation)
Find a file
Sean Cross 1da460cd41 examples: fix betrusted LCD under Renode
This gets the Betrusted LCD demo working within emulation, which means
it ought to work on real hardware.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-08-18 12:09:23 +08:00
.cargo xtask: add cargo xtask command 2020-08-17 19:42:39 +08:00
docs ThreadID: rename from CtxID 2020-07-16 11:04:31 +08:00
emulation examples: fix betrusted LCD under Renode 2020-08-18 12:09:23 +08:00
examples examples: fix betrusted LCD under Renode 2020-08-18 12:09:23 +08:00
kernel xtask: remove loader, kernel from workspace to fix rebuilds 2020-08-18 10:51:29 +08:00
loader xtask: remove loader, kernel from workspace to fix rebuilds 2020-08-18 10:51:29 +08:00
macros xous: add #[xous::xous_main] proc-macro 2020-08-14 16:44:08 +08:00
tools kernel: native: create process for initial processes 2020-08-09 23:08:54 +08:00
xous-rs xous-rs: remove baremetal cfg 2020-08-14 19:53:33 +08:00
xtask xtask: remove loader, kernel from workspace to fix rebuilds 2020-08-18 10:51:29 +08:00
.gitattributes initial commit 2020-03-10 12:13:05 +08:00
.gitignore xtask: remove loader, kernel from workspace to fix rebuilds 2020-08-18 10:51:29 +08:00
Cargo.lock xtask: remove loader, kernel from workspace to fix rebuilds 2020-08-18 10:51:29 +08:00
Cargo.toml xtask: remove loader, kernel from workspace to fix rebuilds 2020-08-18 10:51:29 +08:00
CODE_OF_CONDUCT.md initial commit 2020-03-10 12:13:05 +08:00
CONTRIBUTING.md initial commit 2020-03-10 12:13:05 +08:00
README.md README: update info on running renode 2020-03-12 13:33:37 +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 ..
$ cd loader
$ cargo build -p loader --target riscv32imac-unknown-none-elf
$ cd ..

This will compile all runtime packages for riscv32imac-unknown-none-elf. Note that the kernel and loader must currently be built separately, due to the fact that they have custom linker scripts.

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

$