MiROS
OOP-in-C
Our great sponsors
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 |
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
- Beginners Project
-
Where should I start if I want to learn embedded systems ?
Have you checked this one? https://www.state-machine.com/quickstart
-
Do World Need Another RTOS?
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?
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
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?
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
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
-
path of learning the arm cortex-m embedded c programming?
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?
> "... 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.)
What are some alternatives?
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