FreeRTOS ist eine beliebte Echtzeit-Kernel für Embedded-Geräte, die auf 34-Mikrocontroller portiert wurde. Es ist unter der GPL mit einem optionalen Ausnahme verteilt. Die Ausnahme erlaubt proprietären Code der Benutzer auf Closed-Source bleiben, während die Kernel selbst als Open Source, wodurch die Verwendung von FreeRTOS Erleichterung in proprietären Anwendungen.
Durchführung
FreeRTOS soll klein und einfach sein. Der Kernel selbst besteht aus nur drei oder vier C-Dateien. Um den Code lesbar, leicht zu tragen, und wartbar zu machen, wird es meist in C geschrieben, aber es gibt ein paar Montagefunktionen enthalten, wo nötig.
FreeRTOS stellt Methoden für die mehrere Threads oder Tasks, Mutexe, Semaphore und Software-Timer. Ein Tick-less-Modus ist für Anwendungen mit niedriger Leistung vorgesehen. Themen-Schwerpunkte werden unterstützt. Darüber hinaus gibt es vier Systeme der Speicherzuweisung zur Verfügung gestellt:
- zuzuweisen nur;
- zuzuweisen und kostenlos mit einem sehr einfachen, schnellen Algorithmus;
- eine komplexere, aber schnell zuordnen und frei-Algorithmus mit Speicher Koaleszenz;
- und C-Bibliothek zuordnen und kostenlos mit einigen gegenseitigen Ausschluss Schutz.
Es gibt keine von den erweiterten Funktionen typischerweise in Betriebssysteme wie Linux oder Microsoft Windows, wie zB Gerätetreiber, erweiterte Speicherverwaltung, Benutzerkonten und Netzwerk gefunden. Der Schwerpunkt liegt auf Kompaktheit und Schnelligkeit der Ausführung. FreeRTOS kann man sich als "Thread-Bibliothek" und nicht als "Betriebssystem" betrachtet werden, auch wenn Befehlszeilenschnittstelle und POSIX-ähnliche IO Abstraktion Add-ons zur Verfügung.
FreeRTOS implementiert mehrere Threads, indem der Host-Programm rufen Sie einen Thread tick Verfahren in regelmäßigen kurzen Abständen. Der Faden tick Verfahren schaltet Aufgaben je nach Priorität und einer Round Robin-Schema. Das übliche Intervall 1/1000 Sekunde bis 1/100 einer Sekunde durch einen Interrupt von einem Hardware-Zeitgeber, aber dieses Intervall wird häufig geändert, um einer bestimmten Anwendung zu entsprechen.
Der Download enthält vorbereitete Konfigurationen und Vorführungen für jeden Port und Compiler, die eine schnelle Anwendungsentwicklung. Die FreeRTOS.org Seite enthält auch viele Dokumentationen und RTOS-Tutorials, Einzelheiten der RTOS-Design.
Hauptmerkmale
- Sehr geringen Speicherbedarf, geringer Overhead, und sehr schnelle Ausführung.
- Tick-weniger-Option für Anwendungen mit geringer Leistung.
- Gleich gut für Bastler, die neu in Betriebssysteme sind, und professionelle Entwickler, die an kommerzielle Produkte.
- Scheduler kann sowohl für präventive oder kooperativen Betrieb konfiguriert werden.
- Koroutine Unterstützung
- Trace-Unterstützung durch generische Spuren Makros. Tools wie FreeRTOS + Trace kann dabei aufzeichnen und visualisieren das Laufzeitverhalten FreeRTOS-basierten Systemen. Dazu gehören Aufgabenplanung und Kernel-Aufrufe zur Semaphore und Warteschlangenoperationen. Preis Punkt = US $ 1.500. Allerdings ist keine freie Tracer verfügbar.
Unterstützte Architekturen
- Altera Nios II-
- ARM-Architektur
- ARM7
- ARM9
- ARM Cortex-M3
- ARM Cortex-M4
- ARM Cortex-A
- Atmel
- Atmel AVR
- AVR32
- SAM3
- SAM4
- SAM7
- SAM9
- Cortus
- APS1
- APS3
- APS3R
- APS5
- FPS6
- FPS8
- Cypress
- PSoC
- Energy Micro
- EFM32
- Fujitsu
- FM3-Serie
- MB91460-Serie
- MB96340
- Freescale
- Coldfire V1
- Coldfire V2
- HCS12
- Kinetis
- IBM
- PPC405
- PPC404
- Infineon
- TriCore
- Infineon XMC4000
- Intel
- x86
- 8052
- PIC-Mikrocontroller
- PIC18
- PIC24
- dsPIC
- PIC32
- Microsemi
- Smartfusion
- Multiclet
- Multiclet P1
- NXP
- LPC1000
- LPC2000
- LPC4300
- Renesas
- 78K0R
- RL78
- H8 / S
- RX600
- RX200
- SuperH
- V850
- STMicroelectronics
- STM32
- STR7
- Texas Instruments
- MSP430
- Stellaris
- Herkules
- Xilinx
- Microblaze
- Zynq-7000
Verwandte Projekte
SafeRTOS
SafeRTOS wurde als ergänzendes Angebot an FreeRTOS, mit gemeinsame Funktionalität, aber mit einem einzigartig gestalteten sicherheitskritische Anwendung konstruiert. Wenn die FreeRTOS Funktionsmodell wurde zu einem vollen HAZOP unterzogen wurden Schwächen in Bezug auf Benutzer Missbrauch und Hardware-Fehler innerhalb des Funktionsmodell und API erkannt und gelöst. Die berechnete Anforderungen wurde durch eine vollständige IEC 61508 SIL 3 Entwicklungs-Lebenszyklus für eine reine Software-Komponenten setzen, die höchstmögliche.
SafeRTOS wurde von WITTENSTEIN High Integrity Systems entwickelt in Partnerschaft mit Echtzeit Engineers Ltd, Hauptentwickler des FreeRTOS Projekt. Beide SafeRTOS und FreeRTOS die gleiche Scheduling-Algorithmus, haben ähnliche APIs und sind ansonsten sehr ähnlich, aber sie wurden mit unterschiedlichen Zielen entwickelt. SafeRTOS wurde ausschließlich in der Sprache C entwickelt, um Anforderungen für die Zertifizierung nach IEC61508 erfüllen.
SafeRTOS ist für seine Fähigkeit, einzigartig unter den Betriebssystemen, ausschließlich für die On-Chip-Speicher eines Mikrocontrollers befinden bekannt, so dass die Pre-Zertifizierung der kompletten Hard- und Softwaresysteme nach IEC61508 oder andere Sicherheit oder Zuverlässigkeit Betriebsstandards. Wenn in der Hardware-Speicher implementiert ist, kann SafeRTOS Code nur in der Originalkonfiguration verwendet werden, so Zertifizierungstests von Systemen mit diesen OS muss nicht erneut testen diesen Teil ihrer Entwürfe während der Funktionssicherheit Zertifizierungsprozess.
SafeRTOS im ROM einiger Stellaris Mikrocontroller von Texas Instruments enthalten. Dies ermöglicht SafeRTOS in kommerziellen Anwendungen, ohne den Quellcode zu kaufen verwendet werden. In diesem Einsatzszenario wird eine einfache C-Header-Datei verwendet werden, um SafeRTOS API-Funktionen, um ihre Lage im Festwertspeicher zuzuordnen. Die Verwendung von Festwertspeicher ist ideal, weil die darin enthaltenen Code kann nicht geändert werden - wodurch die Möglichkeit der Benutzerfehler, und die Gewährleistung der Code, der ursprünglich getesteten bleibt während der Projektlaufzeit absolut identisch. Es brauchen nicht erneut testen, wie der Anwendungscode wächst und entwickelt sich um ihn herum. Die Belastung durch komplexe Kernel-Tests wird als die bereits zertifizierten und zugelassenen Zertifizierungs Beweise entfernt, einschließlich des Testplans, Code und Ergebnisse können "von der Stange" gekauft werden.
OpenRTOS
Ein weiteres Projekt, um FreeRTOS, eines mit identischen Code, aber verschiedenen Lizenz, bezogen ist OpenRTOS. Die OpenRTOS Lizenz entfernt alle Verweis auf die GPL und ihre Auswirkungen. Zum Beispiel: eine der Bedingungen der Verwendung FreeRTOS in einem kommerziellen Produkt ist, dass der Anwender über die Verwendung FreeRTOS und den Quellcode FreeRTOS muss auf Anfrage zur Verfügung gestellt. Da es sich um ein kommerzielles Produkt zum Kauf angeboten, hat OpenRTOS nicht über diese Genehmigungspflicht. OpenRTOS Benutzer haben auch Zugriff auf umfassende technische Unterstützung.
Kommentare - 0