-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Roberto Valenzuela edited this page Dec 7, 2024
·
6 revisions
Welcome to the OSo wiki!
OSo ("bear" in Spanish) is a microkernel for embedded systems. It currently supports Raspberry Pi 4 Model B.
OSo is an uninterruptable micro-kernel with minimal functionality:
- Create, destroy, and schedule tasks
- Communication between tasks
- Handle interrupts
Everything else, including device management, is left to tasks, which can be prioritized.
Privileged code, but memory protection is optional. Though no memory protection, sharing memory between tasks is avoided (because sharing requires synchronization).
Before you can compile OSo, you first need to install the cross-compiler:
- Download the aarch64-none-elf cross compiler for your development system from ARM website. This project is using version
(Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35)) 12.3.1 20230626. - Untar it to your desired location by running:
$ bash tar -xaf arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf.tar.xz -C /path/to/cross_toolchain
The /path/to/cross_toolchain will be passed to make to build the project.
To build for Raspberry Pi 4, run:
$ make
For Qemu, use:
$ make TARGET=qemu