aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md28
-rw-r--r--arm-stmos/README.md5
2 files changed, 30 insertions, 3 deletions
diff --git a/README.md b/README.md
index 4f065b5..7811c51 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,29 @@
# 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.)
diff --git a/arm-stmos/README.md b/arm-stmos/README.md
index ba234f7..91735bf 100644
--- a/arm-stmos/README.md
+++ b/arm-stmos/README.md
@@ -3,10 +3,9 @@
A special binutils/gcc toolchain is necessary to build stmos and associated
programs. For convenience, a bash script has been written to attempt to automate
the majority of the compilation/installation process. This process is based of
-off various tutorials from [osdev.org](wiki.osdev.org).
+off various tutorials from [osdev.org](https://wiki.osdev.org).
-Some programs are required for the build process. A list can be found [here]
-(https://wiki.osdev.org/GCC_Cross-Compiler#Installing_Dependencies). Once
+Some programs are required for the build process. A list can be found [here](https://wiki.osdev.org/GCC_Cross-Compiler#Installing_Dependencies). Once
installed, just run the script:
```
./create-toolchain.sh