www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik treiber module


Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat schonmal jemand versucht aus dem hauptprogram (int main() {}) heraus
weitere kompilierte daten zu laden? Wenn ja wie lässt sich das denn
verwirklichen? Ich würde gerne treiber module, wie in unix basierten
system schreiben. Im prinzip zwei programme. Das eine wird geladen wenn
der AVR startet und über eine shell oder ähnliches kann ich dann
entscheiden ob er jetzt mein sd-karten modul läd oder doch nur den lcd
treiber. Wäre sicherlich nützlich! Vielen Dank :).

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll sowas auf einem Mikrocontroller bringen?
µC werden in der Regel in ein Gerät eingebaut, das immer das gleiche
macht - es muß nicht so universell einsetzbar sein, wie Geräte, die mit
einem Betriebssystem arbeiten. Man schreibt ein Programm für einen
Controller und ändert es vielleicht noch mal. Da die Software des
Mikrocontrollers mit dem Aufbau der Hardware zusammenhängt, und diese
sich eher schlecht ändert, braucht man auch nicht nachträglich einen
anderen Treiber zu laden.
Sowas macht man vorher, indem man die entsprechenden Header-Dateien in
das Programm miteinbezieht.
Eine Art Betriebssystem auf einem Mikrocontroller halte ich für wenig
sinnvoll. Zumindest konnte ich bis jetzt noch keinen sinnvollen
Verwendungszweck dafür erkennen.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auch an einen Mikrocontroller externe Komponenten anschließen.
Beim AVR stellt sich allerdings die Frage, von wo diese Module geladen
werden sollen. Wenn sie eh im Flash stehen, braucht man nix laden. Und
wenn nicht, mußte man sie von einem extrenen Medium lesen und jedesmal
ins Flash schreiben.

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rahul du hast hast recht in der industrie ist das völlig idiotisch ;).
aber trozdem finde ich es sehr interessant sowas zu entwickeln. Aber
vielleicht wäre es auch industriell einsetzbar. Man könnte die
treiber/programme von sd karten oder einem externen EEPROM laden.
Weiterhin wäre es sehr universell einsetzbar. Eine hauptplatine,
mehrere kleine Trabanten in form von
LCD,Sensoren,Relaisschnittstelle,was auch immer. Diese könnte man dann
einzeln als modul laden und wenn man sie in einem anderen projekt nicht
braucht lässt man einfach den treiber weg. Weiterhin würde ein treiber
die sicherheit bürgen, dass er seperat entwickelt wird. d.h. eine
kleine änderung müsste nur im treiber code vollzogen werden. Ich denke
immer noch dass das ganze irgendwie nützlich ist ;).

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Philipp:

Das kannst du doch alles haben. Du bindest beim
Compulieren/Assemblieren nur die Includes (Treiber, Bibliotheken,
Routinensammlungen oder wie immer man die nennen will) ein, die du für
das aktuelle Projekt benötigst. Das wird tagtäglich so gemacht.

Um das ohne Compilieren/Assemblieren mit fertig gebranntem AVR zu
realisieren, sind die Ressourcen im AVR etwas knapp. Es bringt unterm
Strich nix. Ein AVR ist und wird kein PC. Wer damit hantieren möchte,
muss sich sachkundig machen oder Dienstleistungen einkaufen.

...

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist wahr, ich mach mir nur gerade nen spass daraus ein
betriebssystem für den avr zu schreiben und hab mich gefragt ob es denn
irgendwie möglich wäre ;). man könnte sich auch ne art "old school"
8bit rechner zusammenbauen, lustig fänd ich es ja schon!

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann viel Spaß...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich mach mir nur gerade nen spass daraus ein
> betriebssystem für den avr zu schreiben und hab mich gefragt ob es
> denn
> irgendwie möglich wäre

Da kommst du zu spät...
In der Codesammlung findest du ein fertiges Betriebssystem für den
Tiny2313. Ich weiß zwar nicht, wozu das gut sein soll, aber was
soll's...

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
interessant, aber ich mach trozdem mal selbst weiter ;)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im übrigen ist gerade der AVR wegen seiner Harvard-Architektur für
derartige Versuche denkbar ungeeignet. Wenn Du das mit einem anderen µC
mit von-Neumann-Architektur machen würdest, dann hätte das ganze ja noch
einen Sinn - hier böten sich ARMe und MSP430 an.

Autor: Take it Easy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze macht dann einen Sinn, wenn man mit einem Codesize limitierten
Compiler (z.B. Keil-Demo) arbeitet. Man kann dann "größere" Programme
(HEX-Code) aus mehreren "kleinerern" Programmen zusammensetzen.

Wichtig ist, das im Hauptcode alle public Funktionen (z.B. printf)
stehen, d.h. die absoluten (gelinkten) Adressen. Die anderen "Module"
brauchen dann "nur" noch eine LookUp-Table mit den Sprungadressen...

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.