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


von Philipp B. (philipp_burch)


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 User
von Jan M. (mueschel)


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.

von Philipp B. (philipp_burch)


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.

von Rufus Τ. F. (rufus) Benutzerseite


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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.