mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89C51xxx - Port für FreeRTOS


Autor: Sebastian B. (lufti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich versuche auf mein kleines Board mit AT89C51ed2 das freie RTOS
'FreeRTOS' zum Laufen zu bekommen.

Leider scheitert dies im Moment am Port für diesen µController!

Ein 8051-Port ist vorhanden. Jedoch nicht für meinen Atmel, sondern für
einen ganz anderen 8051 von Cygnal.
Selber habe ich mich auch schon an einem Port gemacht, .. leider
verstehe ich dieses Betriebssystem zu wenig und meine C-Kenntnisse sind
nicht gut genug für dieses Thema.

Nach sehr langer Suche im Internet und vielen, vielen Fehlern bei der
Portierung meines µCs für FreeRTOS richte ich mich nun an euch, in der
Hoffnung, dass dies jemand von euch bereits gemacht hat, .. oder mir
zumindest dabei helfen könnte.

Vorzuweisen habe ich allerdings noch nichts. Ich stolper lediglich
immer wieder über meine Verständnislücken, anstatt etwas greifbares
machen zu können.

Ich hoffe ihr könnt mir helfen.

Vielen Dank im Voraus für euer Interresse!

liebevoll .. Sebastian

Autor: Sebastian B. (lufti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe gerade das Forum von FreeRTOS gefunden und durchsucht.
Dort hat ein Admin, auf die Frage, ob es einen Port für z.B AT89C51
oder AT89C51rd2, gesagt, dass die 8051 für ein RTOS zu langsam wären,
um etwas sinnvolles damit anzufangen.

Das ist erst mal ziemlich doof für mich!

Was sagt ihr dazu?

Ich habe einen AT89C51ed2, welcher mehrere Funktionen verwalten soll.
Darunter:
 -Display 64x128
 -5 Temperatursensoren (Dallas)
 -Keyboard
 -Graphen von Temperatur auf Display anzeigen.
 -Codeschloss
 -Uhrzeitanzeige (wenn möglich mit 10ms-Auflösung)

Das alles bequem per RTOS zu machen wäre toll!

Kann mir jemand von euch alternativ zum FreeRTOS ein kostenloses RTOS
nennen, welches nicht so komplex (um auf das Zitat aus dem FreeRTOS
Forum einzugehen) und aufwändig ist, wie FreeRTOS?

Ob präemtiv oder kooperativ ist egal. Hauptsache ich kann ganz einfache
Tasks ca. alle 1000µs ausführen. Maschinenzyclus ist bei mir bei 0,5µs.

Ich hoffe ihr könnte mir helfen.

liebevoll .. Sebastian

Autor: MNR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft dir das weiter:
http://www.embedded.com/2000/0009/0009feat4.htm
Sollte für deine Anwendung ausreichend sein.

Gruß,
Matthias

Autor: Thomas Keil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Die 8051 Familie ist für mein Verständnis viel zu altersschwach für
Portierungen von Betriebssystemen. Das scheitert schon am
Programmiermodell (keine Regbankumschaltung, viel zu besch..
Speicheransteuerung (über DataPtr). Er ließ sich prima per Assembler
für begrenzte Projekte verwenden. Meiner Ansicht nach lebt er nur noch,
weil viel zu viele Quelltexte existieren und sich die Leute nicht an
Neues wagen. Meine Empfehlung: Alternativen von Infineon (XC176), AVR
und besonders ARM. Letzterer hat bei gleichen Abmessungen besseren
Stromverbrauch, Debugmöglichkeiten, vom Performancegewinn ganz zu
schweigen - den ein RTX nebenbei 'verbraten' muß für Kontextswitch.
Mein Tip: Time To Change!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.