www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Starthilfe: ARM9 Betriebssystem ja/nein


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe bisher nur mit AVR gearbeitet und diese in C geproggt.
Jetzt habe ich eine neue Aufgabenstellung. µC mit TFT.
Ich habe mir zum lernen bei Taskit was rausgesucht (Panel-Card 57 mit µC 
Modul). Ich möchte Grafik, Touchscreen, SDCARD, Audio und Uart benutzen.
Welche Vorteile/Nachteile bringt da ein Betriebssystem?
Wie kann ich mir das programmieren mit einem Betriebssystem vorstellen?

Kann mir vielleicht mal jemand an einen simplen Beispiel (Pin x auf high 
setzen) zeigen, wie man das mit und ohne Betriebssystem programmieren 
würde.

Danke im Vorrau

Autor: Jens B. (sio2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Überlegmal was dir ein Betriebssystem auf dem PC bringt. So ists dort 
genauso. Einfachere Verwaltung der HW. Andre sachen sind wieder 
Schwieriger.
Pin Togglen? versuche es mal unter DOS und Windows am Parallelport oder 
RS232. Da siehst du schon gut die Unterschiede.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwaltung der HW, OK. Aber wie kann ich mir das vorstellen, wird da 
z.B. der Memory automatisch eingerichtet oder ???

Pin Togglen ist schwierig? Also Einfaches ist schwierig, Schwieriges 
einfach?


Wie gebe ich z.B. mit einem Betriebssystem ein Bild auf dem TFT aus?
Unter C, kann ich es mir ja noch vorstellen, aber mit Betriebssystem?

Autor: mampf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein (gutes) Betriebsystem bietet auch
-Prozesse und Tasks mit verschiedenen Prioritäten
-Interprozess/taskkommunikation
-Speicherverwaltung

Dafür ist wie bereits genannt die Hardware i.d.R. schwierig 
anzusprechen.

Autor: Jens B. (sio2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Wie gebe ich z.B. mit einem Betriebssystem ein Bild auf dem TFT aus?
Unter C, kann ich es mir ja noch vorstellen, aber mit Betriebssystem?"

cat /home/myName/myPics/tanja.bmp >> /dev/fb0 ;)
Framebuffer öffnen, bild reinschreiben, fb schliessen. Fertig.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sieht jetzt natürlich einfach aus :-)

Das ist Linux/unix oder?

Geht das auch so einfach, wenn man mehrere kleinere Bilder nebeneinander 
haben möchte, ich denke da an Schaltericons, die dann mit dem 
Touchscreen gedrückt werden?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei deinen Schalter Icons kommen wir dann in Richtung GUI.
Hierbei hast du unter Linux eine GUI im embedded Bereich z.B. Qt mit 
deren Hilfe du dein "Icon Menü" in C oder so schreibst und die GUI 
regelt dann deine Benutzeroberfläche.

Autor: horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also Einfaches ist schwierig, Schwieriges einfach?

Die Hardware wird abstrahiert. Konkretes wird schwieriger.
Alles, wo du einen Treiber dafür hast, wird einfacher. Ansonsten heißt 
es selber Treiber schreiben.
Ich gehe jetzt mal von einem "höheren" OS aus und nicht von einem 
einfachen Taskmanager.

Wenn du z.B. unter Linux programmierst, dann ist das dem Programmieren 
unter Linux am PC ähnlicher als der Programmierung eines nackten AVR.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei man auf einem mC hoffentlich kein DOS laufen lassen will.
Wenn es sauber gemacht ist, geht der Zugriff auf Pins auf
einem sinnvollen OS auch recht einfach (z.B. Schreiben nach
dev...).

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd schrieb:
> ich habe mir zum lernen bei Taskit was rausgesucht (Panel-Card 57 mit µC
> Modul).

Mit 548,- bis 811,-Euro bist du bei Taskit aber als Anfänger teuer 
dabei...

Du solltest dir erst mal darüber klar werden mit welchem Controller du 
arbeiten willst,
AVR32 oder ARM oder..... Dann dir das entsprechende Board suchen. Dabei 
solltest du berücksichtigen: Mit welchen Tools kann ich das Board 
programmieren. Welchen Programmieradapter brauche ich. Welche 
Betriebssysteme laufen darauf. Brauche ich ein Betriebssystem oder kann 
ich den Controller auch zu Fuß programmieren.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... schrieb:
> Du solltest dir erst mal darüber klar werden mit welchem Controller du
> arbeiten willst,

Ups, sorry, hab die Überschrift überlesen. Aber auch bei ARM9 gibt es 
günstigere Boards.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem Taskit Board habe ich halt schon ein größeres TFT.
Bisher hatte ich mir Crossworks rausgesucht. Da gibt es ja auch diese 
Task- Geschichte...
Dann habe ich an anderer Stelle wieder gelesen, das man ARM9 ohne OS 
nicht betreiben sollte, weil der Programmieraufwand zu hoch sei. Daher 
meine Frage ob oder ob nicht.

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur mal ein Grund warum ein OS fuer einen ARM9 sinnvoll ist. 
Cache-Verwaltung! Ohne Cache sind die meisten ARM9 lahme Kruecken, der 
Cache macht einen Riesenunterschied in der Performance. Wenn man den 
allerdings selbst verwalten muss, viel Spass! Keine Ahnung wovon ich 
spreche? Dann ist das OS ein MUSS.

Robert

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://picoos.sourceforge.net/
http://micrium.com/page/support/bookstore

Am besten mal die Grundlagen durchgehen, um eine Übersicht zu bekommen.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Betriebsystem beinhaltet ein Programmloader, Treiber hier genannt 
API fuer die Peripherie, falls die CPU eine MMU hat ist ein 
Memorymanagement dabei. Ein Realtime Betriebssystem enthaelt auch die 
ganze Infrastruktur fuer Taskwechsel auf Multiprogrammebene.
Eine abgespekte Variante ist ein Realtimekernel. Das ist eine zu einer 
einzelnen Applikation zulinkbare Library, die die Taskwechsel 
Infrastruktur enthaelt. Ohne OS hat man so genau nur eine Applikation am 
Laufen, welche aus mehreren Task besteht, das Memory Managment wird in 
diesem Fall auch durch den Realtimekernel bereitgestellt.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, es wäre nett, wenn mir da jemand erklären könnte, wie ich da 
anfange. Gibt es da Bücher oder Tutorials, die wirklich bei Null 
starten?
Ich kann bisher nur etwas C, möchte das aber wirklich lernen!
Dank im Voraus.

Autor: Hans S. (hhasch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,

falls Du immer noch ein passendes ARM9 Board suchst schau dir mal das
neue BMSKTOPAS900 Starterkit von Toshiba an. Das ist peripheriemäßig
sehr gut bestückt.
BMSKTOPAS900-http://glyn.de/content_xl.asp?wdid=2337&sid=000000...
Das habe ich selbst vor kurzem für 179€ plus MwSt. über Glyn bezogen,
allerdings geht das nur als Firma. Falls Du dazu keine Möglichkeit hast
gib mir per PM Bescheid.
Was das Programmieren in C unter Linux und Linux auf Embedded-Systemen
angeht findest Du einiges im Netz. In Papierform kenne ich auch nix
griffiges zum Thema, aber vielleicht jemand anders hier im Forum wenn
die Urlaubszeit vorbei ist ;-)
Auf jeden Fall hast Du einiges vor Dir egal ob du die Hardware direkt
oder über ein Betriebsystem ansprechen willst. Bei Verwendung eines
Grafik-Displays, USB-Ports etc. würde ich persönlich auf jeden Fall ein
Betriebssystem als Unterbau vorziehen, da es "zu Fuß" ein arg steiniger
Weg ist.

Viel Erfolg
Hans

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.