Welche Betriebssysteme gibt es für einen 8-Bit-Mikroprozessor? [geschlossen]

8

Es muss kein vollwertiges Betriebssystem sein, muss aber mindestens über Multitasking-Funktionen verfügen (z. B. einen Scheduler).
Bitte erwähnen Sie, auf welche Prozessorarchitektur es sich bezieht.

Dies ist eine Umfrage , also sind genaue Fähigkeiten nicht wirklich wichtig. Betrachten Sie dies als einen Ort, an dem Sie nach Möglichkeiten suchen können, wenn Ihr nächstes 8-Bit-Embedded-Projekt auftaucht ...

Mir ist klar, dass die meisten 8-Bit-Mikrocontroller kein Betriebssystem benötigen, aber als Gegenbeispiel bietet Rabbit Semiconductor das RCM3710-Prozessormodul mit vier seriellen Ports, einem 10-BaseT-Ethernet-Port, 512 KByte RAM und 512 KByte Flash. All das für 39 $. Alles basiert auf einem 8-Bit-Z80-Core.

8-bit bedeutet NICHT notwendigerweise extreme Ressourcenbeschränkung.

    
Benoit 17.09.2008, 15:54
quelle

17 Antworten

4

Dies mag ein ungewöhnlicher Standpunkt sein, aber ich würde dringend empfehlen, zweimal zu überlegen oder sogar dreimal, bevor Sie sich entscheiden, ein Betriebssystem für einen 8-Bit-Computer zu verwenden. Betriebssysteme sind für komplexe Anwendungsbedürfnisse und 8-Bit-CPUs sind nicht die beste Wahl für diese Aufgaben.

Ich sage nicht, dass ein OS nie für ein 8-Bit verwendet werden sollte, nur dass es weniger wahrscheinlich ist, dass es die beste Lösung ist.

    
Eli Bendersky 17.09.2008 16:02
quelle
4

Für diejenigen, die anstelle eines Betriebssystems State Machines vorschlagen, weil sie wenig Overhead haben, sollten Sie Contiki ausprobieren. Es ist sehr klein und kostenlos. Es hat kein traditionelles Threading-Modell, stattdessen verwendet es ProtoThreads: Ссылка .

ProtoThreads geben Ihnen etwas Näheres zur Threading-Semantik ohne den Overhead eines echten Betriebssystems mit Multi-Stacks, etc ... Als Bonus brauchen Sie kein Betriebssystem, um sie zu verwenden Contiki oder sonst.

Wir haben sie bei einem Projekt mit großem Erfolg eingesetzt. Sie machen das Schreiben komplizierter Code viel einfacher.

    
Tom Hennen 18.09.2008 01:54
quelle
4

Ich glaube Contiki wird funktionieren. Adam Dunkels macht wirklich coole Sachen.

Es läuft auf vielen Plattformen, einschließlich des Commodore 64.

    
Tom Hennen 17.09.2008 15:56
quelle
3

Rabbit Semiconductor hat einen Port der MicroC / OS II für ihre Prozessoren.

    
Benoit 17.09.2008 15:59
quelle
2

Was ist das Ziel hier? Eingebettete Betriebssysteme kosten sehr viel. (MicroC / OS II usw.)

Es hört sich so an, als würden Sie OS-Unterstützung vor etwas platzieren, das ich für wichtigere Dinge halte, wenn es um die Geräteauswahl geht. Sie sollten die allgemeinen Entwurfsmuster für die Plattform kennen, an der Sie arbeiten. Versuchen Sie nicht, PC-Konzepte in so winzige eingebettete Chips wie diese zu schieben.

OMFG ... Java gehört NICHT zu einem 8-Bit-Prozessor. Ich habe tatsächlich diesen Maxix / Dallas DS80C400 Chip ausprobiert. Es hatte ein vereinfachtes Betriebssystem (lesen: Scheduler) und TCP / IP-Stack auf dem Chip gebacken, und es sah gut aus auf dem Datenblatt. Es war eine völlige Katastrophe. Langsam, langsam, langsam!

Ich endete mit einem FPGA-basierten Soft-Prozessor und einem Soft-MAC. Kein OS ... hat super funktioniert. Sobald ein FIFO-Fehler Pakete tatsächlich so schnell gesendet hat, dass jeder Windows-PC im Netzwerk feste Interrupts gesperrt hat (selbst wenn die Maus gesperrt ist), bis ich das Dev-Board eingeschaltet habe.

Ich persönlich fand es ziemlich schwierig, so viel Code für einen 8-Bit-Prozessor zu schreiben, dass man sogar ein Betriebssystem braucht. Ich bin sicher, dass einige Anwendungen / Situationen es wünschenswerter machen als ich es gesehen habe. Die einzige Verwendung für ein Betriebssystem, die ich gefunden habe, ist, wenn Sie ein komplexes Gerät mit Gerätetreibern für ein bestimmtes Betriebssystem haben, das Sie verwenden möchten, und dann ist es keine "allgemeine Betriebssystem" -Frage mehr.

Machen Sie sich mit dem allgegenwärtigen 1ms-Timer-Tick + der globalen Flag-Liste "volatile char g_TASKS []" + einer einfachen main () - Schleife vertraut, die Task-Flags und Aufruf-Subroutinen prüft. Staatsmaschinen sind dein Freund. Sie werden viel besser im Griff haben, wie Ihr System läuft. Dies sind die Entwurfsmuster von 8-Bit-Prozessoren.

Jedes Mal, wenn Sie Aufgabe A benötigen, um auf Aufgabe B zu warten, dann fügen Sie der Aufgabe A einen Zustandsmaschinenzustand hinzu, und Aufgabe B setzt diesen Zustand ... oder etwas in diesen Zeilen.

Eine viel nützlichere (IMHO) Liste wäre von guten 8-Bit-Prozessoren zu verwenden, nicht von Betriebssystemen. Hier wären meine Kriterien: geringe Leistung, exzellentes Debugging (OCD), exzellente Entwicklungsumgebung (oder nur Eclipse-Integration), niedrige Kosten, gute C-Compiler-Unterstützung und allgemeine Stabilität der Debugging-Plattform / Debugger / etc.

    
darron 17.09.2008 16:33
quelle
2

Ich habe uC / OS auf einer Z180 (8-Bit-Maschine) verwendet. Ich musste zu unserem kundenspezifischen Speichermodell portieren. Aber ansonsten war großartig, vor allem mit einem detaillierten Buch, das die ganze Funktionalität beschreibt. Und obwohl es ein RTOS war, mussten wir Threads usw. sehr sparsam verwenden.

    
simon 17.09.2008 20:04
quelle
2

Mitte der 70er Jahre schrieb ich, und 1982 stoppte ich ein 8-Bit-Betriebssystem (SDOS) für Motorola 6800/6801/6809. Diese Betriebssysteme gab es in verschiedenen Varianten:

  • Echtzeit Multithread (2Kb ROM + was RAM Sie wollten)
  • Einzelbenutzer-Festplattenbetriebssystem (maximal 64 KB)
  • Multiuser-Timesharing (15 Benutzer in 1 MB RAM mit 65 KB Speicher, einer pro Benutzer)
  • Verteiltes Betriebssystem (Einzel- oder Mehrbenutzersystem mit Zugriff auf Remote-Festplatten)

Wo warst du, als ich einen Kunden brauchte: -? (Ich gab es auf, als es klar wurde, dass IBM Bill Gates durch Blitz wählte, um Mikroprozessor OS König zu sein).

    
Ira Baxter 12.02.2010 09:15
quelle
1

Softools bietet auch ein OS (genannt TurboTask) für die Rabbit-Prozessoren.

Es gibt eine Bibliothek, die eine grundlegende Aufgabenplanung für den Hasen bietet. Die Bibliothek arbeitet mit dem Softtools-Compiler, nicht aber mit dem Hasen-Compiler.

    
Benoit 17.09.2008 16:08
quelle
1

Es gibt auch Uzix, für die MSX-basierten (z80) Computer, eine Unix-ähnliche, Posix-konforme, multi-tasked, preemptive und mit einem TCP / IP-Stack implementiert.

    
Rodrigo Domingues 17.09.2008 16:39
quelle
1

HI-TECH Salvo - Die HI-TECH Salvo-Funktionen sind ein kooperatives, ereignisgesteuertes, prioritätsbasiertes Multitasking-RTOS. Es ist für Prozessoren mit stark eingeschränktem RAM (& lt; 256 Bytes), arbeitet innerhalb eines Hardware-Aufrufs; Rücksprungstapel von 8 Ebenen oder weniger, unterstützt 16 separate dynamische Aufgabenprioritätsebenen und bietet Inter-Task-Kommunikation und Synchronisation, ISR-zu-Task-Kommunikation und gemeinsame Nutzung von Ressourcen. Es ist ein extrem kleiner RAM- und ROM-Footprint, kein PUSH / POP-Stack oder Stack-Pointer erforderlich, ROMable und erweiterbar. Geringe Unterbrechungslatenz, schneller Kontextwechsel und portabel - geschrieben in ANSI C mit minimalem Compiler.

    
user11211 18.09.2008 05:04
quelle
1

Salvo - Das RTOS, das an winzigen Orten läuft (TM). - Salvos bescheidene ROM- und winzige RAM-Anforderungen bedeuten, dass Sie ereignisgesteuerte, prioritätsbasierte Multitasking-Anwendungen in nahezu jedem Single-Chip-Mikrocontroller haben können, mit viel Platz für Ihre Anwendung. Mit Salvo können Sie: Neue Designs schnell implementieren * Funktionalität mit vorhandenen Ressourcen verbessern * Echtzeitleistung verbessern * Multitasking.

    
user11211 18.09.2008 05:05
quelle
1

Das ist wahrscheinlich nicht das, was Sie wollen, aber für MSX und Armstrad gibt es ein absolut erstaunliches GUI-Betriebssystem namens SymbOS ( Ссылка ). Das Tolle daran ist, dass es komplett von einem deutschen Typ namens Prodatron ( Ссылка ) gemacht wurde. Es hat echtes Multitasking und viele Anwendungen, was Sie von einem modernen Betriebssystem erwarten würden:

  • SymCommander - Norton Commander-Klon.
  • SymPlay - Videoplayer, Videos müssen vorverarbeitet werden, danach laufen sie jedoch sehr flüssig und simultan mit anderen Anwendungen.
  • SymSee - Bildbetrachter, erneut müssen Bilder zuerst in das CPC-Format konvertiert werden.
  • SymAmp - Musik-Player, unterstützt Tracker-Module und sogar MP3-s mit spezieller Hardware.
  • Rechner , Minesweeper , Systemsteuerung usw.

Ich habe gesehen, dass es von seinem Autor vorgeführt wurde und der einzige Kommentar vom Publikum war "Du musst grazil sein!". Niemand hat jemals zuvor solche Features auf einem 8-Bit-MSX-Computer gesehen.

    
Tambet 19.09.2008 06:49
quelle
1

HACK-RTOS für Zilog eZ8, eZ80 und ZNEO Mikrocontroller

    
Alex 19.03.2010 18:16
quelle
1

Ich schneide meine RTOS-Zähne auf Microwares OS9 für das Motorola 6809. Brilliant für seinen Tag und machte den exzellenten Gebrauch der 6809 (dann) erweiterte Funktionen.

    
Craig Mc 04.01.2012 03:59
quelle
0

Ich habe vor ein paar Jahren für das Z80 geschrieben, aber das z80 unterstützt kein Hardware-Multitasking oder Paging, Multitasking ist möglich, aber Ihre Freiheit ist ziemlich begrenzt Sie müssen mit Dingen wie keine absoluten Sprünge oder verschiedene Startpositionen in verschiedenen Programmen rollen.

    
Jacobbus 17.09.2008 15:59
quelle
0

Ich habe Schwierigkeiten, den Typ des 8-Bit-Prozessors in Betracht zu ziehen, den Sie hier verwenden wollen - im Grunde genommen, wenn es etwas ist, das stark genug ist, um etwas wie ein OS zu betreiben (ein H8 zum Beispiel), werden Sie mit Sicherheit finden dass ein ARM-Cored Micro genauso billig sein wird.

    
Will Dean 17.09.2008 16:25
quelle
0

Ich habe einen Round-Robin-Scheduler für i8051 geschrieben (der viel schwächer ist als i8085 / Z80) und einen winzigen Kernel für einen 16-Bit-TI-DSP TMS320C54xx (Scheduler mit Prioritäten, Systemaufrufe, Sperren / Mutexe). Wenn Sie in Assembly programmieren können und Ihre Timer-ISRs arbeiten können, können Sie ähnliche grundlegende Funktionalität implementiert und arbeiten in weniger als einer Woche Arbeit.

    
Alexey Frunze 28.11.2011 07:44
quelle

Tags und Links