Zitat Zitat von Mxt Beitrag anzeigen
Ok, meine Antwort bezog sich da auf das "Compiler bauen" in deiner Frage. Dann ist das "bauen" also nur das Gegenstück zum installieren auf dem anderen Systemen.

Man müsste sich halt anschauen, wie das FreeRTOS für die AVR in Platformio gemacht ist. Ob es auch die Sourcen für andere Platformen enthält. Dann besteht da vielleicht eine Chance.

Ansonsten steht ja hier unter supported Tools für Atmel auch GCC
http://www.freertos.org/RTOS_ports.html
Also sollte das auch irgendwo beschrieben sein.



Muss man doch gar nicht. Platformio ist die eine Variante lokal zu übersetzen, aber mbed hat auch sowas selbst, auch in Python
https://os.mbed.com/docs/v5.6/tools/mbed-cli.html

mbed abstrahiert die Hardware auch ziemlich stark. Das hat auch so seine Nachteile. Dafür hat es Multithreading, Ethernet usw.

Es gibt halt z.B. hier ein Board im Uno Format
https://os.mbed.com/platforms/FRDM-K64F/
das einen Controller verwendet, der sehr eng mit dem auf dem Teensy 3.5 verwandt ist (mbed hat MK64FN..., Teensy MK64FX..., unterscheiden sich hauptsächlich bei RAM und Flash). Wenn man da tiefer eintauchen will, hat man in mbed und Arduino immerhin die gleichen Prozessorregister als Basis ...
nicht dass ich euch entmutigen will, aber was mich damals schon frustriert hatte, war
a) ein SAM3X8E ist in http://www.freertos.org/a00090.html#ATMEL nicht gelistet, nur andere SAM3 Typen:
AT91SAM3 ARM Cortex-M3 based microcontrollers

Atmel SAM3S-EK2 and Atmel SAM3X-EK demo using Atmel Studio
This page presents two projects that both run the same demo application. The first targets the SAM3S microcontroller on the SAM3S-EK2 evaluation board, and the second the SAM3X microcontroller on the SAM3X-EK evaluation board. Both are built and debugged using the free Atmel Studio IDE.

Atmel SAM3U-EK demo using IAR
The demo application presented on this page is pre-configured to execute on the official SAM3U-EK evaluation kit from Atmel. The demo uses the FreeRTOS IAR ARM Cortex-M3 port and can be compiled and debugged directly from the IAR Embedded Workbench for ARM.
und
b) die Hinweise auf einer anderen Seite https://create.arduino.cc/projecthub...arduino-ebc3cc, dass noch nicht einmal sehr ähnlich klingende ARM SAM Boards RTOS-kompatibel sind:
Let's discuss why it won't work in this particular library. Because the Arduino IDE preconfigures all the hardware resources (Timers, Serial Ports, etc) in a MCU "under the covers" to make it easy for new programmers, there are few resources available to drive a RTOS without generating conflicts with Arduino Libraries, or causing important features to cease working. Luckily with AVR ATmega devices the Watchdog Timer was unused by the Arduino IDE, so I could use that to drive the RTOS System Tick, and the Watchdog Timer is configured identically across all ATmega devices.

Also because no resources were re-purposed (borrowed from the Arduino IDE), there was no need to generate a separate core for the AVR version FreeRTOS library. It works with the standard Arduino core.

To support other hardware within FreeRTOS it is necessary to have both a specific configuration for a hardware timer to generate System Tick interrupts, and a specific efficient Scheduler Interrupt to drive task switching. These two items depend strongly on the hardware, and mean that the implementation will be different for each implementation of the Cortex M0+ core. The Arduino Zero uses the SAMD21 but the Arduino MKR1000 uses the SAMW25. Whilst these are both Cortex M0+, the implementation for each one is different, because of the different features they provide.

Cortex M0+ is a VLSI "library" which can be licenced from ARM. There is no requirement from vendors to implement it in exactly the same way for each device they produce. Unlike ATmega which is a proprietary implementation from one vendor (AVR), each vendor usually changes the implementation of the Cortex line of processors to suit their exact business requirements, which generally change from vendor to vendor, and even across the range provided by one vendor.

So whilst someone might find it useful to support all of these different ARM based boards with an implementation of FreeRTOS, I find that most of my needs are covered by ONE AVR implementation which supports all of these Arduino boards; UNO, LEONARDO, YUN, PRO MINI, MICRO, ESPLORA, all of the Arduino Wearables lke LilyPad, MEGA 2560, Adafruit Feather, and all of the options that third parties produce for inexpensive clones.

There are other timing solutions already available, that provide Threading (quite different from a RTOS in capabilities and features) which may suit simple requirements. These have been mentioned.

Perhaps not the desired answer, but in reality the AVR ATmega based range of Arduino hardware essentially covers all the requirements of those interested in using the Arduino IDE. Beyond these basic projects, the limitations inherent in using the Arduino IDE outweigh the advantages.
Trotzdem - oder gerade deswegen - interessiert mich sehr, ob die ARM-Portierungen nutzbar sind für den Due oder eben doch bzw. immer noch nicht.