Home
Softono
lttit

lttit

Open source MIT C
99
Stars
17
Forks
0
Issues
1
Watchers
1 week
Last Commit

About lttit

A dynamically programmable distributed real-time operating system

Platforms

Web Self-hosted

Languages

C

Links

LTTit

中文介绍

LTTit is a distributed embedded operating system that enables runtime migration of compiled programs across heterogeneous bare‑metal microcontrollers. The system unifies multiple MCUs into a single execution environment where computation can move between nodes without restarting.

Demo Video

Full demonstration:

https://github.com/skaiui2/lttit/raw/main/video/migrate.mp4

Demonstration Summary

The demo shows the complete workflow of migrating a running program between two MCUs:

  • Writing a program in ccBPF, a small C‑subset language
  • Compiling the program directly on the MCU into bytecode
  • Executing the bytecode inside a lightweight virtual machine
  • Capturing execution state at runtime
  • Transferring the state across heterogeneous nodes
  • Resuming execution on the target MCU without restarting the program

Core Concept

LTTit uses ccBPF, a compact language and VM designed for constrained devices. It provides:

  • On‑device compilation
  • Virtual machine execution
  • Instruction‑level state capture
  • Built‑in migration primitives

Migration is part of the execution model itself, not an external mechanism.

System Components

LTTit consists of the following subsystems:

  • ccBPF — compiler and virtual machine
  • CSC — distributed communication stack
  • RTOS — microkernel runtime
  • FS / MG — filesystem and memory management
  • TcpIp — lightweight network stack
  • world — unified node abstraction model

Execution Model

Programs run as bytecode inside a VM. At any instruction boundary:

  • Registers, stack, and program counter can be serialized
  • The state is transferred to another node
  • Execution resumes at the exact point of suspension

Hardware Setup

The demo uses:

  • Raspberry Pi Pico 2W (source node)
  • STM32F103C8T6 with 20 KB RAM (target node)

Result

During the demonstration:

  • The program produces output on the source MCU
  • Execution is suspended at runtime
  • The VM state is transferred to the target MCU
  • Execution continues seamlessly on the target
  • Output remains correct and continuous

Repository Structure

ccBPF   - language and virtual machine
CSC     - distributed communication stack
fs      - filesystem
mg      - memory management
RTOS    - microkernel
shell   - interactive shell
TcpIp   - network stack
world   - unified node abstraction

Current Status

LTTit is a research prototype focused on:

  • Execution mobility on constrained devices
  • Language‑level distributed execution
  • Bare‑metal MCU interoperability