mdepx / mdepx

MDX — A BSD-style RTOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

mdepx (also known as MDX or Machdep X) is an operating system for embedded applications.

Key features

  • Real-time
  • Priority-based time-sliced round-robin scheduling
  • Fully preemptible, cooperative scheduling optional
  • Tickless operation
  • Static/Dynamic memory allocation
  • Timed Mutexes, Semaphores
  • Symmetric Multiprocessing (SMP)
  • BSD libc included
  • Flat address space

ISA supported

  • ARM Cortex-M family (ARMv7-M, ARMv8-M)
  • CHERI128 Hybrid and Pure ABI capability system models
  • MIPS32, MIPS64
  • RISC-V machine or supervisor modes, rv32, rv64, SMP

Platforms supported

  • Raspberry Pi Pico
  • Nordic Semiconductor nRF5, nRF9
  • STMicroelectronics STM32
  • Microchip PIC32
  • SiFive
  • some others...

Emulators support (see emul/)

  • qemu/riscv64c128 CHERI Pure Capability Mode
  • qemu/riscv64 SMP
  • qemu/riscv32 SMP
  • qemu/mips64c128 CHERI Hybrid and Pure Capability Modes
  • qemu/mips64

Featured applications (external)

Getting started

See documentation.

Contributing

Please submit pull requests on github or send patches to br@machdep.com.

Note that mdepx uses FreeBSD style(9) guide.

License

This project is licensed under two-clause BSD license.

About

MDX — A BSD-style RTOS

License:Other


Languages

Language:C 97.3%Language:Assembly 0.9%Language:C++ 0.7%Language:Makefile 0.4%Language:Python 0.3%Language:HTML 0.3%Language:CMake 0.0%Language:M4 0.0%Language:Meson 0.0%Language:Smarty 0.0%Language:Shell 0.0%