I don't have and Arduino Due to test it out but as far as I can see it uses an ARM-Processor. ArduinoOS is right now only compatibly with 16 Bit AVR-Assembly supporting processors, as well as 16 and 24 Bit function pointers.
I just tried to compile it (ArduinoOS.ino) for Arduino UNO and it succeeds:
I get a message like this:
Sketch uses 4,044 bytes (12%) of program storage space. Maximum is 32,256 bytes.
Global variables use 81 bytes (3%) of dynamic memory, leaving 1,967 bytes for local variables. Maximum is 2,048 bytes.Also, it success for the Arduino Mega 2560:
Sketch uses 4,508 bytes (1%) of program storage space. Maximum is 253,952 bytes.
Global variables use 81 bytes (0%) of dynamic memory, leaving 8,111 bytes for local variables. Maximum is 8,192 bytes.
But then I try to compile for Arduino DUE and get the following error:
In file included from sketch/KernelInitializer.h:14:0,
from /ArduinoOS-master/ArduinoOS/ArduinoOS.ino:7:
sketch/TimerOne.h:14:20: fatal error: avr/io.h: No such file or directory
#include <avr/io.h>
^
compilation terminated.
exit status 1
Error compiling for board Arduino Due (Programming Port).Bad luck, but hopefully in the future your ArduinoOS will be popular (as Linux, but for Arduino) and ported to more Arduino models. I was thinking of using it for a project which has to manage several tasks at once, and the threads solve the problem of separated codes running all at once, and it has to be the Due, instead of the UNO or MEGA, because the DUE has de CAN bus and DACs.
Thanks anyway!!!!