Home
Softono
mdepx

mdepx

Open source C
29
Stars
7
Forks
0
Issues
3
Watchers
2 months
Last Commit

About mdepx

MDX — A bare-metal / RTOS framework

Platforms

Web Self-hosted

Languages

C

Links

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
  • BSD math library (msun)
  • 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

  • STMicroelectronics STM32
  • Nordic Semiconductor nRF5, nRF9
  • Raspberry Pi Pico
  • Microchip PIC32
  • SiFive
  • Many 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 [email protected].

Note that mdepx uses FreeBSD style(9) guide.

License

This project is licensed under two-clause BSD license.