kompatibilität

Gast #231039
inwiefern sind eigentlich die ganzen AVRs unter einander kompatibel? Ich
les mir grad den MMC code auf der website von ulrichradig durch und der
ist entweder für ATmega32 oder 128 ausgelegt, wird der dann auf meinem
ATmega8 gar nicht funktionieren oder nur langsamer sein?
Gast
Die Grundstruktur in allen AVRs ist annähernd gleich, die
Rechengeschwindigkeit auch.
Es kann also nur Probleme geben, wenn

- mehr I/O-Pins verwendet werden als vorhanden
- mehr Speicher verwendet wird als vorhanden
- "Sonderfunktionen" verwendet werden, die nur bei manchen AVrs
vorhanden sind, z.B. JTAG, 2x USART, ADC ...

Trotzdem muss das Programm je nach Controller angepasst werden, da die
Register teilweise andere Namen haben.
Die AVR sind nicht untereinander kompatibel, wie es z.B. die 8051 sind.

Das Hauptproblem ist, daß die Interruptvektoren, die IO-Register und
die Bits in den IO-Registern frisch, frei und fröhlich durcheinander
gewürfelt sind, ohne jedes System dahinter.
Und bei den neueren AVRs wird der IO-Bereich kaum noch genutzt, die
meisten IO-Register sind in den SRAM-Bereich umgezogen (IN, OUT hagelt
Fehlermeldungen), d.h. auch der interne SRAM zieht um !

Sämtliche IO- und SRAM-Zugriffe müssen also an den jeweiligen AVR-Typ
angepaßt werden.

Das mit den Interruptvektoren kann man dadurch abmildern, daß man mit
.org die Vektoren absolut plaziert. Die häufig zu sehenden
RETI-Tabellen sind dagegen tödlich.


Peter
Gast
aber wenn ich doch jetzt zum beispiel nur die ports nutze dann muss ich
doch nichts umschreiben oder? PortB wird es doch bei allen geben oder?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.