mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR: Unterschied zwischen P-, A- und PA-Versionen


Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich blicke langsam bei der Benamsung der AVRs nicht mehr ganz durch. Zu 
Zeiten des ATmega8 war alles noch so einfach ;)
Mittlerweile wurde der ATmega8 (den es anscheinend wieder zu geben 
scheint...) ja durch den ATmega88 und seine Verwandten (ATmega48, 168, 
328) ersetzt. Soweit war das ja auch alles noch schön und gut, da gibt 
es wirklich einige nette Features (Zwei Compare-Kanäle pro Timer, CLKPR, 
etc.). Doch in der Zwischenzeit sind diese Versionen ja auch schon 
wieder "not recommended for new designs" mit dem Verweis auf die 
PA-Versionen. Aber was hat sich da geändert? Das P ist eigentlich klar, 
picoPower steht ja einfach für besonders sparsam. Aber was ist mit dem 
A? Der Titel vom ATmega88PA-Datenblatt sieht ja beispielsweise auch 
schon recht interessant aus:
ATmega48A/48PA/88A/88PA/168A/168PA/328/328P
Im Datenblatt an sich wird dann abgesehen von Ausnahmen 
(Instruktionsbreite bei Interruptvektoren, Speichervolumina, ...) auch 
gar nicht mehr grossartig auf die einzelnen Versionen eingegangen, somit 
sollten die doch ohnehin weitestgehend (binär-)kompatibel sein. Doch wo 
liegen denn nun wirklich die Unterschiede zwischen den A-, P-, PA- und 
"Ur"-versionen (Ohne Suffix)? Konkret geht es mir dabei vor Allem um die 
Kompatibilität zur avr-libc. Bezogen auf den 16kiB-Typen ATmega168XX 
wird hier ja der ATmega168, der ATmega168A und der ATmega168P 
unterstützt, nicht jedoch der ATmega168PA. Letzterer wird vom GCC zwar 
erkannt, jedoch mit der Fehlermeldung "ATmega168PA supported for 
assembler only" quittiert. Und das obwohl die P- und die PA-Version 
abgesehen von elektrischen Eigenschaften doch eigentlich identisch sein 
müssten o.O

Kann mir da jemand sagen, was mit welcher Einstellung nun wirklich 
sicher funktioniert? Die Programme kompiliert mit -mmcu=atmega168 
scheinen auch auf der PA-Version zu funktionieren, aber ist das 
zuverlässig und sicher?

Ich wäre froh, mir könnte da jemand etwas auf die Sprünge helfen...

Danke und Gruss,
Philipp

: Verschoben durch Moderator
Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier in der Artikelsammlung ist die Namensgebung erklärt: AVR Typen

Aber wie du schon sagst, von der Programmierung her sind die P, A, PA, 
"" Typen alle identisch und kompatibel.

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis Jan. Den Artikel hatte ich glatt übersehen. Sollte 
also soweit eigentlich problemlos gehen...

@Mod: Ich hatte den Thread in "GCC" gepostet, weil es mir insbesondere 
um die Kompatibilität zur libc ging. Aber da anscheinend eh alles 
binärkompatibel ist, hat das darauf wohl keinen Einfluss.

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

Bewertung
0 lesenswert
nicht lesenswert
Da es Dir erst in der 19. Zeile Deines Beitrages einfällt, konkret 
darauf zu verweisen, nahm ich mir die Freiheit, Deinen Beitrag zu 
verschieben.

Beitrag #4997259 wurde von einem Moderator gelöscht.

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.