Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/antonlydike/embark
- Owner: AntonLydike
- License: mit
- Created: 2021-10-10T17:51:46.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-03-28T21:22:47.000Z (almost 3 years ago)
- Last Synced: 2024-10-30T11:49:31.670Z (2 months ago)
- Language: C
- Size: 73.2 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.