MiROS VS OOP-in-C

Compare MiROS vs OOP-in-C and see what are their differences.

OOP-in-C

Simple and efficient implementation of OOP in C suitable for real-time embedded systems. (by QuantumLeaps)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
MiROS OOP-in-C
7 2
73 187
- 3.7%
0.9 3.3
about 1 year ago 4 months ago
C C
GNU General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

MiROS

Posts with mentions or reviews of MiROS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-17.
  • Beginners Project
    2 projects | /r/embedded | 17 Mar 2023
  • Where should I start if I want to learn embedded systems ?
    1 project | /r/embedded | 1 Mar 2023
    Have you checked this one? https://www.state-machine.com/quickstart
  • Do World Need Another RTOS?
    2 projects | /r/embedded | 12 Jan 2023
    You can check out the YouTube videos [about building your own minimal RTOS](https://www.youtube.com/playlist?list=PLPW8O6W-1chyrd_Msnn4LD6LBs2slJITs). This minimal RTOS (called MiROS) is used as a teaching aid. The project is also available on GitHub.
  • How can I do a context switch with rust?
    4 projects | /r/rust | 18 Jul 2022
    I've checked out C implementations like os h and (MirOS)[https://github.com/QuantumLeaps/MiROS] but when I port them to rust (even with C2Rust) they cause hard faults too.
  • A Tiny RTOS Simply Explained
    1 project | /r/embedded | 2 Jul 2022
    To see "A Tiny RTOS Simply Explained" you might want to watch the RTOS video playlist on YouTube. The videos teach about the RTOS by building a "Minimal Real-Time Operating System" (MiROS) for ARM Cortex-M, which is available on GitHub.
  • path of learning the arm cortex-m embedded c programming?
    3 projects | /r/embedded | 5 Jun 2021
    For example, in the segment about the RTOS, you witness building a "Minimal Real-time Operating System "MiROS". The MiROS code is available on GitHub, and you can keep adding to it other features. Building a functional RTOS is a great way to learn about RTOSes.
  • How to find out how to write an operating system
    1 project | /r/embedded | 26 May 2021
    You will build there a small "Minimal Real-time Operating System (MiROS)" for ARM Cortex-M. You will start with performing context switching manually, and then you will automate the process in assembly. Then you will build schedulers, first time-slicing round-robin and then preemptive, priority-based. You will learn about real-time and Rate Monotonic Scheduling. You will see how all this works using a logic analyzer. The RTOS code, and the examples are available on GitHub.

OOP-in-C

Posts with mentions or reviews of OOP-in-C. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-05.
  • path of learning the arm cortex-m embedded c programming?
    3 projects | /r/embedded | 5 Jun 2021
    There is also a small OOP-in-C project (Object-Oriented Programming in C) introduced in the segment about Object-Oriented Programming. This project is also available on GitHub in the OOP-in-C repository.
  • Ask HN: What are relevant books as of C++20?
    2 projects | news.ycombinator.com | 13 Feb 2021
    > "... my coding in C++ still feels like doing C with classes and some STL containers like 2005. I want to progress from this state. ..."

    What's wrong with these?:

    - C++: The Core Language by Gregory Satir and Doug Brown

    - https://github.com/QuantumLeaps/OOP-in-C

    - C++ Concurrency in Action

    - C++ Templates the Complete Guide 2e

    The first is particularly geared towards C programmers, and I prefer the second one to "Inside the C++ Object Model". (There's also another popular book by a German author who covers OOP in C.)

    For the time being, I will be an "opportunist" who is waiting for the right time to switch to another language[1] - Rust:

    "To me using C++ means you are ready to give up a lot of time and energy in order to gain a complete control over certain aspects of your program. I was very much into that at the start of my career and gradually started drifting away to more immediate productivity while reserving the right to poke under the hood when necessary. This has led me to Rust and I find it to be the better natively compiled strongly & statically typed language, but YMMV of course."

    (No, the concepts I learn in C++11 and beyond won't go into waste even when C++ becomes less and less relevant in a couple of decades.)

    [1] https://news.ycombinator.com/item?id=24805717

What are some alternatives?

When comparing MiROS and OOP-in-C you can also consider the following projects:

modern-embedded-programming-course - Companion repository to the "Modern Embedded Systems Programming" video course.

modern-cpp-features - A cheatsheet of modern C++ language and library features.

QuarkTS - An open-source OS for embedded applications that supports prioritized cooperative scheduling, time control, inter-task communications primitives, hierarchical state machines and CoRoutines.

cortexm-threads - Simple context switching library for ARM Cortex-M MCUs in Rust

ChaOS - Simple RTOS for cortex-m processors

EmbeddedProto - Embedded Proto is a C++ Protocol Buffers implementation specifically suitable for microcontrollers. It is small, reliable and easy to use.

os.h - A simple context switcher for Cortex-M0 processors

HeliOS - A community delivered, open source embedded operating system project.

qpc - QP/C Real-Time Embedded Framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines

lwesp - Lightweight and versatile AT parser library for ESP8266 and ESP32 devices.

stm32f1-baremetal - Program STM32 Arm Cortex M3 micro-controller using bare metal embedded c