www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Doofe Frage: Programm von externer Quelle Laden?


Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Profis,

ist es eigentlich möglich, mit einem AVR Programmabschnitte dynamisch
zu laden (aus ext. Flash), und dann auszuführen?

Ein unqualifiziert gedachter Gedanke von

leif

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, solange der AVR über das Self-Programming-Feature verfügt, dürfte
das wie bei einem Bootloader durchaus möglich sein.
Sollte man gleich einen Interpreter entwickeln so wäre dies sogar
standardmäßig möglich.

Gruß Hagen

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hagen,

ich dachte jetzt eher an das RAM. Aber da siehts mit der Codeausführung
wohl schlecht aus ..

Ein Interpreter wär aber nicht wirklich effizient, oder?

Sprich ich reserviere mir im Programm-Flash einen Bereich, den ich dann
je nach Bedarf mit meinem '.exe' code überschreibe, und dann im
Programm an die entsprechende Stelle springe. Wie oft macht denn der
Flash das mit?

leif

Autor: Moritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVRs haben keine Neumann-Architektur, daher gibts im RAM nur Daten und
keine Programme.

'.EXE'-Code beim AVR?? - Da ist sicher ausführbarer Maschinencode
gemeint?

Mit einem Bootloader kann man bei den Megas Teile des Flashs neu
beschreiben. Wie, und wie oft das geht, findest du sicher im Datenblatt
deines AVRs und den ATMEL-Appnotes.

Ich denke mal, dass man einen Bootloader auch so schreiben kann, dass
er von deinem Massenspeicher (CF-Card?) lesen kann. Trotzdem wird das
kein "Mini-PC", der Flash unterliegt einer gewissen Abnutzung.
Bootloader dienen eigentlich dem unkomplizierten GELEGENTLICHEN
Programmupdate, nicht dem betriebsmäßigen "Laden & Ausführen" von
unterschiedlichen Programmen.

Autor: leif (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Moritz,

danke für die Bestätigung! Genau das hatte ich mir gedacht, war aber
nicht sicher, ob's nicht doch ein work-around gibt. Ich habe leider
noch kein Gefühl dafür, was man mit dem vorhandenen Speicher anstellen
kann; aber sobald meine Pläne (zumindest theoretisch) ausgereifter
sind, werd ich mich auch zu praktischen Versuchen herablassen. ;-)


leif

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage ob Interpreter effizient sind oder nicht ist eine Frage des
Blickwinkels. Klar, sie sind meistens im gesamten langsammer aber nicht
unbedingt ineffizienter. In kryptographischen Architekturen kann man
über Interpetierende Programmierung eine vollständige SandBox aufbauen.
Somit steigt die Sicherheit des Gesamtsystemes, die Performance während
der Entwicklung und auch der Fehlersuche. Somit kann man effizient
Programme schreiben. Hauptvorteil eines Interpreters wäre aber das man
den P-Code eben aus einem beliebigen Medium heraus ausführen kann. Dies
muß nicht bedingterweise ineffizienter als ein Compiler sein.

Gruß hagen

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.