Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,602 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 br@machdep.com.

Note that mdepx uses FreeBSD style(9) guide.

License

This project is licensed under two-clause BSD license.

Releases

Packages

Used by

Contributors

Languages