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