You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Anton Lydike ab19abe12b kernel scheduling now working better with ecalls, not resetting the time slice 3 years ago
kinclude kernel scheduling now working better with ecalls, not resetting the time slice 3 years ago
lib initial commit 3 years ago
.gitignore added .img files to gitignore 3 years ago
LICENSE initial commit 3 years ago
Makefile added -Wall -Wextra -pedantic-errors to gcc flags 3 years ago
README.md added toolchain compilation infos to readme 3 years ago
kernel.c moved binary_table from .bss to .data section to prevent overwriting it with zeros on startup 3 years ago
kernel.h introduced data structure to manage binaries in memory 3 years ago
linker.ld switched to a real linker script 3 years ago
package.py cleaned packaging script up and added debug symbols 3 years ago

README.md

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, configured with --with-arch=rv32im --disable-linux --disable-gdb --disable-multilib and built using make -j <number of threads>.

The Makefile:

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