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.
19d3aaf4b2 | 6 years ago | |
---|---|---|
arm-stmos | 6 years ago | |
src | 6 years ago | |
tools | 6 years ago | |
.gitignore | 6 years ago | |
LICENSE | 6 years ago | |
Makefile | 6 years ago | |
README.md | 6 years ago | |
link.ld | 6 years ago | |
run.sh | 6 years ago |
README.md
stmos
stmos is an operating system for STM microprocessors. It aims to support (or be able to support) all STM Cortex-M processors.
Features:
- Unprivileged code execution
- ELF loading and execution (loads an init from the initrd)
- Near-full C standard library support for loaded ELFs
- libgpio: GPIO access for loaded ELFs
Currently supported processors:
- STM32L476RG (board: NUCLEO-L476RG)
building
To build stmos, you'll need the following programs:
- The arm-stmos toolchain (see the
arm-stmos
folder) - openocd
- gdb (with multiarch support)
To compile stmos simply run make
(-j option supported). To upload, use run.sh
to start openocd/gdb; do lo
to load stmos, and c
to run it.
notes
Only the initrd works right now in regards to filesystem access. Files in the folder src/initrd/files
are put into the initrd. C source files in src/initrd
are compiled with libgpio, placing the program in src/initrd/files
.
What's next for stmos?
- SD card support
- Display support (ILI....)
- Script program support (a shell like sash, maybe lua)
- More ELF work (better execve, signals?, etc.)