🚀 Getting Started with MicrOS

Welcome to MicrOS — simple, open, embedded.
This page will help you set up your environment and run MicrOS on its first supported target: LM EVB.


🔹 Prerequisites

Before building MicrOS, install the following tools:

  • CMake (≥ 3.20)
  • Ninja build system
  • ARM GCC toolchain (arm-none-eabi-gcc)
  • OpenOCD (for flashing LM EVB)
  • QEMU (optional) for emulation

On Ubuntu/Debian:

sudo apt update
sudo apt install cmake ninja-build gcc-arm-none-eabi openocd qemu-system-arm

🔹 Cloning the Repository

git clone https://github.com/microsproject/micros.git
cd micros

🔹 Building for LM EVB

Create a build directory and compile:

rm -rf build/ 
cmake -S . -B build/ -DMICROS_BOARD=lm/lm3s6965evb -DMICROS_SAMPLE=hello_world
cmake --build build/

This will produce an ELF file hello_world and a binary hello_world.bin


🔹 Running on LM EVB (real hardware) – COMMING SOON

Flash the firmware using OpenOCD:

ninja flash

If successful, you’ll see output on UART:

Hello, World!
This is MicrOS running on SOME hardware platform.

🔹 Running on QEMU (optional)

You can also emulate MicrOS without hardware:

qemu-system-arm -M lm3s6965evb -nographic -kernel build/samples/hello_world/hello_world

Expected output:

Hello, World!
This is MicrOS running on SOME hardware platform.

🔹 Next Steps

Now that you have MicrOS running:

  • Explore the source in kernel/, arch/, and drivers/.
  • Try modifying the main loop in samples/blinky/.
  • Check out the Blog Posts for deep dives.

🔹 Contribute

MicrOS is open source and welcomes contributors!

  • ⭐ Star the repository on GitHub.
  • Open issues if you hit problems.
  • Submit PRs — even small fixes help.

MicrOS — simple, open, embedded.