Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antonlydike/embark

EMBARK - The Educational and Modifiable Basic RISC-V Kernel
https://github.com/antonlydike/embark

Last synced: 23 days ago
JSON representation

EMBARK - The Educational and Modifiable Basic RISC-V Kernel

Awesome Lists containing this project

README

        

# EMBARK: An Educational and Modifiable BAsic RISC-V Kernel

EMBARK is a small kernel, designed for educational projects. It has very limited scope and is designed to be extensible.

## The toolchain:

I am using the [riscv-gnu-toolchain](https://github.com/riscv/riscv-gnu-toolchain), configured with `--with-arch=rv32im --disable-linux --disable-gdb --disable-multilib` and built using `make -j `.

## The Makefile:

You can build the kernel using `make kernel`. Make sure the toolchain is in your path!

## Packaging a kernel image with user programs

You can use the `package.py` script to package a kernel and multiple user binaries into a single `img` file.

Debugging information is also emitted, it's a json formatted file called `.img.dbg`.

To generate such an image, run `python3 package.py out/kernel ... output/path/memory.img`. You can edit the script to change various variables. They atre somewhat well documented.