9 ms·
Riot OS – Real-Time, MMU optional and threads
- seren 7y agoI wonder why the comparison table does not include FreeRTOS or Zephyr. From a high level view, I don't really what's really different for RIOT OS
- anonsivalley652 7y agoI would read the extensive list of features and look at the code first before hurling content-free FUD. It even supports Arduino too. https://github.com/RIOT-OS/RIOT/tree/master/cpu https://github.com/RIOT-OS/RIOT/tree/master/cpu
- seren 7y agoFound some answers on another HN thread : https://news.ycombinator.com/item?id=19016945 https://news.ycombinator.com/item?id=19016945 But asking questions is not spreading FUD in my book
- bsder 7y agoNot comparing to Zephyr, which ticks all the same boxes, is absolutely a problem. And I would argue that Arduino support nowadays is a negative, not a positive. Arduino support means that you are going to do a bunch of things to support 8 and 16 bit systems that look absolutely silly on 32 bit systems. And, it's not even clear that Arduino systems are actually cheaper or lower power than ARM Cortex-M4 systems anymore--which negates the advantage of Arduinos.
- moron4hire 7y agoI completely switched to the Adafruit Feather M4 series for my hobby electronics about 5 years ago. Each board might be a little more expensive than a base Arduino, but they are way more powerful and have a lot of great features.
- duskwuff 7y agoIf you want to go "budget", STM32 hardware (like the common "blue pill" STM32F103C8 board) is priced comparably to a knockoff Arduino, if not cheaper.
- pantalaimon 7y agoYou can now get much more powerfull STM32F411CEU6 boards for the same price.
- duskwuff 7y agoWhich boards are you thinking of? "Blue pill" STM32F103C8 boards are $2 to $3, if you're willing to run the risk of getting a cloned microcontroller. (The clones are actually quite usable for most purposes.)
- pantalaimon 7y agoThe clones even tend to have more memory. But I was thinking of those boards: https://aliexpress.com/item/4000103610226.html https://aliexpress.com/item/4000103610226.html (also supported by RIOT btw https://github.com/RIOT-OS/RIOT/pull/12778 https://github.com/RIOT-OS/RIOT/pull/12778)
- elcritch 7y agoThose M4's are handy! I use the Adafruit Itsy M4s. Wait does this support them?!
- Avamander 7y ago> Arduino support means that you are going to do a bunch of things to support 8 and 16 bit systems that look absolutely silly on 32 bit systems. [citation required]
- monocasa 7y agoNot sure why you're being downvoted. ISAs like avr, 8051, and msp430 aren't really any crazier than arm. The archs that are a pain aren't because they're 8/16 bit.
- bsder 7y agoJust talking about memory--far pointers, banks that have to be switched in and out, non-uniform memory accesses, etc. Putting those into a compiler puts an enormous amount of surface into a compiler that is completely useless on 32-bit architectures.
- RantyDave 7y ago...and then you can start to use mbed.
- pantalaimon 7y agoThe website hasn't been updated in a while, back then Zephyr wasn't thing yet…
- anon4242 7y agoBut FreeRTOS has been around for quite some time with wide support among HW manufacturers, so why not include that?
- pantalaimon 7y agoFreeRTOS doesn't come with drivers or a networking stack, it's more a building block than a whole operating system.
- anonsivalley652 7y agoCollab between Samsung + Microsoft + UofW + U of Maryland that is also trying CheckedC. https://github.com/Microsoft/checkedc-clang https://github.com/Microsoft/checkedc-clang https://github.com/Microsoft/checkedc https://github.com/Microsoft/checkedc
- dang 7y agoRelated from 2019: https://news.ycombinator.com/item?id=19016945 https://news.ycombinator.com/item?id=19016945 (Edit: link is for the curious. Reposts are fine after a year or so: https://news.ycombinator.com/newsfaq.html. https://news.ycombinator.com/newsfaq.html.)
- anonsivalley652 7y agoDern it, http<->s. I swore I algolia'd first but must not have. Sorry! Btw, would it be a bother to suggest a tweak to the submit action's link uniqueness check to prevent dupe items differing only in URI scheme? // Crunchy pseudo-LISP below (defun flip_scheme (url) (sed "s/^https/@ttp/;s/^http/@ttps/;s/^@/h/" url) ) // after sanitization/normalization at the point of checking for dupe items // instead of // (has_url url) (if (has_url url) (return (redirect 301 "Moved permanently" (item_for_url url)) ) (let flipped (flip_scheme url)) (if (has_url flipped) (return (redirect 301 "Moved permanently" (item_for_url flipped))) )
- Wowfunhappy 7y agoThe last posting was more than a year ago, it's fine to re-post! Dang was merely providing the old thread as a reference.
- dang 7y agoAs Wowfunhappy explained, it's actually a feature not a bug that your repost made it through. This is in the FAQ: https://news.ycombinator.com/newsfaq.html https://news.ycombinator.com/newsfaq.html. I'm trying not to have to post like this every time: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=by%3Adang%20curious%20reposts&sort=byDate&type=comment https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que... ... but it's beginning to look like maybe we need to.
- xvilka 7y agoTock OS[1][2] is way more promising since it's written in Rust instead. In 2020 there is no reason to invest time in anything new in C, apart from maintaining legacy software. [1] https://www.tockos.org/ https://www.tockos.org/ [2] https://github.com/tock/tock https://github.com/tock/tock
- snvzz 7y agoI'd rather seL4, which isn't written in rust but on a time-proven language (C) and yet has thorough proofs of doing what it's supposed to do, unlike this OS you suggest.
- pjmlp 7y agoIndeed, 40 years of proven memory corruption bugs. https://www.cvedetails.com/vulnerability-list/opmemc-1/memory-corruption.html https://www.cvedetails.com/vulnerability-list/opmemc-1/memor... https://msrc-blog.microsoft.com/2019/07/16/a-proactive-approach-to-more-secure-code/ https://msrc-blog.microsoft.com/2019/07/16/a-proactive-appro... Which are reaching the tipping point of enough is enough. Which is why Android 11 will now require memory tagging hardware for C and C++ code, when running on ARM. https://security.googleblog.com/2019/08/adopting-arm-memory-tagging-extension.html https://security.googleblog.com/2019/08/adopting-arm-memory-... https://source.android.com/devices/tech/debug/tagged-pointers https://source.android.com/devices/tech/debug/tagged-pointer... And no, it doesn't need to be Rust, in fact NVidia has decided to dump C and C++ for security critical firmware, betting on Ada, https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-autonomous-driving/ https://blogs.nvidia.com/blog/2019/02/05/adacore-secure-auto... While F-Secure is using bare metal Go for their Foundry, https://www.f-secure.com/en/consulting/foundry https://www.f-secure.com/en/consulting/foundry Speaking of seL4, Genode OS is now using Ada alongside seL4, https://genode.org/documentation/release-notes/16.08 https://genode.org/documentation/release-notes/16.08 https://genode.org/documentation/release-notes/19.11 https://genode.org/documentation/release-notes/19.11
- renox 7y agoseL4 isn't really written in C, AFAIK it's written in Haskell then translated in C. Because C is one of the few language to have a formally verified compiler CompCert. Now does seL4 support properly modern CPUs: multiple cores, with different power settings? This I don't know. And what about Spectre?
- snvzz 7y agoYet another to the list[0]. [0]: https://www.osrtos.com/ https://www.osrtos.com/
- andrewklofas 7y agoCool project, but no ipv4 support. Can't take an iot os seriously with no ipv4, sorry
- Reventlov 7y agoIpv6 should be the way to go nowadays, no ? For sensors network, people are using ipv6: as you don't have enough ipv4 adresses for computers and phones, you don't use ipv4 for sensors networks and IOT, that's a nonsense.
- joosters 7y agoI would imagine almost all IoT devices in the home are using IPv4 at the moment, you can’t rely on IPv6 working properly with many ISPs. They don’t have to use public addresses, so scarcity isn’t a problem.
- kbumsik 7y agoBut majorities of ISPs still don't support IPv6 yet. IPv6-only stack will have some problems.
- pantalaimon 7y agoYou can use lwip instead of the default GNRC stack for IPv4. But there is also a PR for IPv4 in GNRC: https://github.com/RIOT-OS/RIOT/pull/12988 https://github.com/RIOT-OS/RIOT/pull/12988
- Aloha 7y agoI wonder how this compares to RTEMS