From 8bec5add0c272acf6f29512246d129efffb7a34b Mon Sep 17 00:00:00 2001 From: clyne Date: Sun, 2 Dec 2018 14:19:54 -0500 Subject: [PATCH 1/4] Fixed link --- arm-stmos/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arm-stmos/README.md b/arm-stmos/README.md index ba234f7..3d44f02 100644 --- a/arm-stmos/README.md +++ b/arm-stmos/README.md @@ -5,8 +5,7 @@ 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). -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 From 1abf75ff045809835e3794d99ebd88bba798c469 Mon Sep 17 00:00:00 2001 From: clyne Date: Sun, 2 Dec 2018 14:20:22 -0500 Subject: [PATCH 2/4] Fixed another link --- arm-stmos/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arm-stmos/README.md b/arm-stmos/README.md index 3d44f02..91735bf 100644 --- a/arm-stmos/README.md +++ b/arm-stmos/README.md @@ -3,7 +3,7 @@ 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 installed, just run the script: From 31d0e65c8a5567dcdcc5b660e0c0278808782593 Mon Sep 17 00:00:00 2001 From: clyne Date: Sun, 2 Dec 2018 14:37:33 -0500 Subject: [PATCH 3/4] Update README.md --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 4f065b5..35e1921 100644 --- a/README.md +++ b/README.md @@ -1 +1,20 @@ # 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. From 388fbf4bd247e6bbe06940ce04ceea6f4d4ea2a6 Mon Sep 17 00:00:00 2001 From: clyne Date: Sun, 2 Dec 2018 15:03:13 -0500 Subject: [PATCH 4/4] Update README.md --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 35e1921..7811c51 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,13 @@ To build stmos, you'll need the following programs: * 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. +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.)