M2OS: A Small and Lightweight Ada RTOS for Microcontrollers
m2os.unican.es
m2os.unican.es
> allows to apply the advanced techniques used in high integrity systems (i.e. aircraft flight control, medical devices, critical industrial control) to the smallest MCUs used by industry and hobbyists
But also this:
> M2OS implements one-shot non-preemptive scheduling policy
Uhm, what? Those two paragraphs cancel out each other pretty much.
> The STM32F4 board is based on the ARM Cortex-M4 microcontroller. The amount of memory available in this board does not justify the use of a small RTOS as M2OS, however we have decided to port M2OS to this board to explore its implementation on ARM microcontrollers.
STM32F4 is a controller family, not a board. Is this some GPT-3 output?
The list goes on ...
Seriously, what am I even looking at? Is this just some SEO optimized site with a bunch of buzzwords and some seemingly valid content?
Something about this website feels uncanny, hence my (joking) guess regarding GPT-3.
As for the STMF4, they're possible referring to the STMF4DISCOVERY boards.
The rest of your comment I agree with. It seems to be a half-baked academic project. Might be interesting if you know anything about Ada, which I don't.
[0] https://www.st.com/en/evaluation-tools/stm32f4discovery.html
> smallest MCUs used by industry and hobbyists
> ARM Cortex-M4
Hardly the smallest MCUs used.
https://blog.adacore.com/theres-a-mini-rtos-in-my-language
Fascinating.
That's not to say that nobody is using, or hasn't used, Ada in automotive, but it would seem likely vestigial rather than up and coming based on my exposure to that industry.
I was thinking of this, which is a little vague, but the software will have some ASIL classification I'm sure, but maybe is not typical automotive software. Article mentions certain firmware.
Which then thanks to packages, they can be reused across several projects when similar type parameters are required.
So you only generate List(T => Integer) once for the whole project, when project architecture is properly done.
A scenario that eventually might be possible in C++, around C++23 time frame, taking into consideration how long the modules infrastructure might need to mature.
Except Ada was military/government mandated, and the syntax is probably the opposite of Rust: very verbose, very wordy. And the concept of type inference is anathema to the Ada mindset, where everything is explicitly... explicit.
I've never used Ada for work but I went through a couple years where I enjoyed playing with the language as a sort of C++ alternative. I ... kind of? like it, but then I learned Pascal and Modula-2 before I ever learned C, so...