2018-12-02 15:03:13 -05:00
2018-12-02 14:20:22 -05:00
2018-12-02 14:18:36 -05:00
2018-11-04 23:46:12 -05:00
2018-12-02 14:18:36 -05:00
2018-09-25 16:22:47 -04:00
2018-11-29 20:43:06 -05:00
2018-11-30 10:51:10 -05:00
2018-12-02 15:03:13 -05:00
2018-11-29 20:43:06 -05:00

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.)
Description
No description provided
Readme 679 KiB
Languages
C 85.1%
Makefile 8.9%
Shell 2%
C++ 1.7%
Assembly 1.5%
Other 0.8%