DKWatson:
Sorry, PiFM uses an on-board peripheral to generate spread-spectrum RF clock signals. We could attach the same peripheral to any device with the same results, a somewhat meaningless comparison. The test involved nothing but software to toggle an IO pin, similar to how an underlying OS would handle quasi-real-time requests.
http://www.riosscheduler.org/
Interesting, didn't know that.
westfw:
Any of the ARM-based Arduinos should be able to do this; certainly anything with a CM3 or better.
I'd recommend Course | edX for leading you through some of the steps needed to get multitasking working on an ARM. (The class is long over and closed; I'm not sure if you can still "register" review the archived content.)
They used TI ARM Launchpads (which do run Arduino SW via "Energia")
Adafruit SAMD21 Datalogger has the same ARM CPU as the Arduino Zero, and has a built-in SD card. Several Adafruit SAMD21 and SAMD51 boards have a built-in 2MB SPI flash...
Okay, thanks. I'll take the DUE then as I already have one here.
I don't have access to that document, but I'll try to register.
gdsports:
ESP32 runs FreeRTOS and the Arduino sketch runs as a FreeRTOS thread. The Arduino sketch can call the underlying FreeRTOS APIs so, for example, it can start FreeRTOS threads.
ESP32 Arduino: Using FreeRTOS functions - techtutorialsx
ESP32 Arduino: Creating a FreeRTOS task - techtutorialsx
Loading code from an SD card and executing, I do not know. Maybe with a lot of extra work.
ESP32 would be very interesting as it has 2 cores, but the problem with it is that as far as I know it is not able to jymp memory addresses and execute code from memory. That is something I would need.
I'll go and experiment with the ESP32 though, it's a fun little(powerfull) board.
Robin2:
You have to realize that for most people reading this Thread OS does mean Linux or Windows.
If you mean something radically simpler then you need to explain what you want in detail if we are to be on the same wavelength.
My concept of "multi-tasking" on an Arduino is encapsulated in the demo Several Things at a Time
I can conceive of that being broken up into a few separate pieces - one for each function with the code in loop() being the "operating system". And I can conceive of writing an alternative bootloader that would allow each piece to be loaded separately.
I can also envisage all sorts of complications getting that piece-by-piece system to work - but perhaps they can be overcome.
Maybe using that as a model you can more clearly explain what you have in your mind?
...R
I don't see how I have to explain what I want in detail, all I want is executing 2 programs preemptive from memory, and I am looking for a good board that supports it.
I never mentioned I want to run windows or Linux on an Arduino.
The reason I am not going with your multiple things at the same time thing, is because it doesn't work for me.
I want to be able to run functions that block, or take long, without modifying them to run into steps. That is why I want something that multi-tasks preemptively.