Mikrocontroller von "innen" programmieren

OP #1241356
Hallo Community,

schon seit einiger Zeit spiele ich mit dem Gedanken, einen meiner 
AtMega8515 so zu behandeln, dass man ihm, während er läuft, mit 2 oder 
mehr Tastern ein Programm im AVR-opcode eingeben kann (ohne 
angeschlossenen Computer).

Hat hier schon mal jemand damit experimentiert? Oder kann mir jemand 
Tipps geben, wie das zu bewerkstelligen wäre?

PS: Ich schrecke nicht davor zurück, sämtliche Opcodes auswendig zu 
lernen!
OP #1241386
hmmm... Danke für die Antworten. An das mit der Harvard-Architektur hab 
ich nicht gedacht. Also ist mehr oder weniger die einzige Möglichkeit, 
die Funktionalität während der Laufzeit zu verändern, indem man einen 
Interpreter schreibt?
Gast #1241392
Also mit dem Bootloader klappt das normal schon.

Wenn du einen seriellen Bootloader verwendest, brauchst du eigentlich 
nur einen Taster und ggf eine LED (für RX, und TX lol)



Gruß
Roland
Gast #1241465
Hi

>Das Vorhaben hoert sich ja nicht gerade realistisch an... erinnert mich
>an dieses 8088-System aus meiner Ausbildungszeit, wo man ueber ein
>Zaehlwerk (wie man es von alten Kassettenspielern kennt) Adresse und
>Datenwort einstellen konnte und es mit einem Taster programmiert hat ;P
>Viel Spass sag ich da nur :D

So habe ich meine ersten Z80-'Programme' auch 'geschrieben'. Zumindest 
lernt man dabei, das einfacher ist, sich erst einige Gedanken zu machen 
und nicht einfach wild drauf los zu programmieren.
Aber der der grundsätzliche Unterschied zwischen 8080 und AVR liegt in 
der Architektur (Neumann/Havard). Der AVR kann halt keine Programme im 
RAM ausführen.

MfG Spess
Gast #1241472
Weshalb AVR-Opcodes ?

Ein 6502 Code-Interpreter und per ATMega32 einen alten EMUF6504 mit 
Harware emulieren im RAM / IOs.

Encoding/Decoding ist für 6502 einfacher als für AVR.
Zudem hatte der nur 3 Arbeitsregister, den PC und eine Statusregister.
Das ist auch Debugging einfacher.

Und es gab früher Designs wie http://de.wikipedia.org/wiki/KIM-1, die 
alles an Bord hatten zur Programmierung.

Aber eine PC-Tastatur und ein LCD-Display würden das ersetzen können.

Der 6502 Code war relativ einfach und mit Akku, x-Reg und y-Reg konnte 
man weniger den Überblick verlieren als bei Assembler-AVR.
Und die Werte auch auf Display ausgeben.

Ich schätze mal, dass ein 6502 bzw. EMUF6504 Emulatur in Hardware auch 
für mehr Leute interessant wäre als irgendwelche Frickeleien am ATMega.

Per RS232 könnte man Sourcecode exportieren/ archivieren und etwas 
größere Software extern schreiben.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.