Merge branch 'master' of https://github.com/tcsullivan/stmos
commit
19d3aaf4b2
@ -1 +1,29 @@
|
|||||||
# stmos
|
# 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.)
|
||||||
|
Loading…
Reference in New Issue