[riot-notifications] [RIOT-OS/RIOT] doc/rdm: RFC - design goals (#10162)

Kaspar Schleiser notifications at github.com
Wed Jan 30 16:47:11 CET 2019


kaspar030 commented on this pull request.



> +
+Modules outside the core should leverage the benefits and address the
+programming challenges of such a scheduler. They shouldn't demand that users do
+the same.  They should, however, allow users to manage power through different
+modes and functions.
+
+#### Small memory footprint
+
+Most of RIOT's targeted use cases are well addressed by devices in class 1 of
+the taxonomy presented in [1]. If small price differences are important or the
+energy budget is particularly tight, the available memory might be near the
+bottom of this class. Over-the-air updating currently reduces the available ROM
+by over half.
+
+RIOT should provide out-of-the-box support for devices with ~10 KiB of
+available RAM and ~100 KiB of ROM. It should be just as possible to address

+1 for removing ""Users should be given the choice of what they want to spend their memory on."

Other than that, I don't understand the aversion to supporting low-end embedded devices.

To me RIOT is the first choice for creating *any* application involving MCUs. I do choose it even on the smallest supported platforms (e.g., Arduino Uno, with 2kB of RAM), e.g., for simple Arduino-style control tasks. For reference, hello-world on that board uses ~1250B RAM, so there's room to spare for quite some control logic.
While on a board that small I can certainly not enjoy RIOT's awesome networking options, many of RIOT's perks make it a valid first choice (even compared to the Arduino libraries):

- nice and compact periph APIs
- multi-threading
- portability (upgrade path) to other (larger) MCUs using the same application code
- large collection of supported sensors (with similar, familiar APIs)

I don't see why using RIOT on those systems is only possible "with manual optimizations and specialized modules".

It all depends on the application, but RIOT is a good fit for ~2kB RAM systems for use in control tasks (which means basically anything that the supported Atmega 328p is capable of). Why state otherwise in the design goals?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/10162#discussion_r252313761
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190130/bbcfb5c1/attachment.html>


More information about the notifications mailing list