Welche Entwicklungsboards unterstützen RTOS gut?

7

Ich suche ein relativ kostengünstiges (<$ 50 wäre ideal) Entwicklungsboard mit echter Unterstützung für ein RTOS. Es spielt keine Rolle, ob das RTOS vom Hersteller unterstützt wird oder ein separates Projekt, aber ich möchte etwas, das solide unterstützt wird (dh tatsächlich für mehrere Personen funktioniert). Ich habe einige Zeit damit verbracht, defekte RTOS-Ports zu reparieren, und ich möchte mich lieber nicht damit anlegen müssen.

Meine andere Anforderung ist, dass das Development Board Unterstützung für eine Linux-Entwicklungsumgebung haben muss.

Wir suchen nach etwas, das in Bezug auf die technischen Daten in etwa mit dem Atmega 2560 vergleichbar ist. (Und tatsächlich ist ein Arduino Mega 2560 mit BeRTOS sicherlich eine Option.)

Um der Frage etwas mehr Hintergrundwissen zu geben, haben wir letztes Jahr einen Quadcopter von Grund auf neu gebaut (dh die gesamte Hardware, den gesamten Code usw. Nichts von Arducopter ausgeliehen oder ähnliches). Mit einem kleinen Budget (400 US-Dollar) haben wir uns an ein Arduino Pro (ein Atmega 328-basiertes Board) gehalten. Als wir das Ding fliegen ließen, stießen wir (aufgrund der Codegröße) auf das Speicherlimit und taten alles, um zu optimieren, dass unsere PID-Schleifen schnell genug laufen.

Das neue Ziel ist es, das Steuerungssystem basierend auf einem weniger einschränkenden Mikro und einem RTOS zu wiederholen.

Zusammenfassend stellt sich die Frage, welche Entwicklungsboards diesen Kriterien entsprechen:

  • Ca. <50 US-Dollar
  • RTOS-Unterstützung
  • Kompatibel mit einer Linux-Entwicklungsumgebung

Vielen Dank!

Computerisch
quelle
Hast du das gesehen? freertos.org
Chris Laplante
Ja, und ich habe einige Arbeiten mit BeRTOS (einem sehr ähnlichen Open Source RTOS) durchgeführt. Ich hatte gehofft, ich könnte herausfinden, was die Leute mögen / benutzt haben.
Computerish
2
Anscheinend möchten Sie vielleicht entscheiden, welche RTOS von Interesse sind, und sich ansehen, was sie unterstützen. Möglicherweise möchten Sie auch eine Massenbegrenzung für den Controller festlegen.
Chris Stratton
1
Muss "Kompatibel mit einer Linux-Entwicklungsumgebung" mehr bedeuten als "Es gibt einen Cross-Compiler, der unter Linux läuft"?
UnconditionallyReinstateMonica
1
Eigentlich ja, es sollte bedeuten "es gibt einen Cross-Compiler und ein Flashing-Tool , das unter Linux läuft"
Chris Stratton

Antworten:

2

Ich hatte viel Erfolg mit FreeRTOS . Kombinieren Sie dies mit einem ARM Cortex- Entwicklungsboard wie einem von Olimex (erhältlich von Farnell). Eine Liste der unterstützten Geräte finden Sie auf dieser Seite . Ein Cortex M3 läuft mit 75 MHz und liefert über 80 MIPS. ARM-Code ist absolut effizient und einige ARM Cortex-Geräte enthalten mathematische Festkommafunktionen.

Wenn Sie noch mehr grunzen möchten, probieren Sie ein Beagleboard oder RasberryPI.

Letzteres führt neben FreeRTOS auch Linux mit Linux aus, das mit der Konfigurationsoption config_preempt_rt kompiliert wurde.

Jason Morgan
quelle
1

Ich verwende derzeit die LPCXpresso-Reihe von Boards (zusammen mit NXP, Embedded Artists und Code Red). Hervorragende Unterstützung sowohl von der Community ( http://lpcware.com/ ) als auch von NXP, dem Board-Hersteller ( http://embeddedartists.com/ ) und natürlich von Richard Barry und FreeRTOS.

Für 20 EUR erhalten Sie die MCU-Karte (100 mil Abstand für schnelles Protoyping), und Sie können die Basisplatine oder eine Basisplatine von Drittanbietern für die Entwicklung verwenden (Basisplatinen sind im Grunde eine Reihe von Anschlüssen und schöne Peripheriegeräte). Grundplatten sind teurer, aber es lohnt sich. Sie sind mit dem mbed (www.mbed.org) für WIRKLICH schnelles Prototyping kompatibel, aber ich mag es, bei einigen weniger teuren "normalen" MCU-Boards zu bleiben: LPCXpresso 11C24 für Cortex M0 und LPCXpresso 1343 oder 1769 für M3.

Die Entwicklungsumgebung ist für bis zu 128 KB kostenlos (tatsächlich werden dort nur Debugging-Stopps ausgeführt). Eclipse-basiert funktioniert auch unter Linux ...

FreeRTOS ist auch für die kommerzielle Bereitstellung kostenlos, wenn es mit NXP-Chips verwendet wird (was praktisch ist, wenn Sie sie trotzdem wie ich verwenden).

Schauen Sie sich zum Schluss den Port an, der genau für die Karte gemacht wurde, die ich habe. Er ist sofort einsatzbereit. Bei der Portierung auf eine andere LPC-Variante wird die FreeRTOS-Konfigurationsdatei mehr oder weniger einfach kopiert und die Stapelgrößen angepasst. Diese Schönheit hat auch so etwas wie ein Ökosystem, das auf dem FreeRTOS aufgebaut ist, scheiß drauf, und ich kann bestätigen, dass es einfach funktioniert:

http://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_IO/Demo_Applications/LPCXpresso_LPC1769/NXP_LPC1769_Demo_Description.shtml

Drazen Cika
quelle
1

STM32F0Discovery passt am besten.

Schauen Sie sich den neuen Technologie-Stack (Sommer 2014) an: https://github.com/dobromyslov/stm32f0-cmsis-cube-hal-freertos-template

Hauptmerkmale sind:

Es gibt auch ein großartiges Grafiktool STM32CubeMX für die schnelle Konfiguration verschiedener ST-MCUs: http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF259242?icmp=stm32cubemx_pron_prcube_feb2014&sc=stm32c

Und ein ähnliches Plugin für Eclipse von STM: http://www.st.com/web/en/catalog/tools/PF257931

Die Leute sagen, dass das Plugin teilweise unter Linux unter Wine funktioniert: https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2FSTM32Java%2FSTM32C 20as% 20Eclipse% 20plugin% 20on% 20Linux% 2064% 20machine & FolderCTID = 0x01200200770978C69A1141439FE559EB459D758000F9A0E3A95BA69146A17C2E80209ADC21 & currentviews = 999

Ich bevorzuge jedoch die vollständige STM32CubeMX-Version und führe sie unter Windows auf VirtualBox aus.

Ich mag dieses praktische Ökosystem und empfehle dringend, es in neuen modernen Projekten zu verwenden.

Viacheslav Dobromyslov
quelle