Moin! Kennt von euch jemand ein ATMEL/Microchip Dokument, wo die
Unterschiede von einzelnen uC-Subtypen beschrieben werden?
Konkret geht es um die Varianten des ATmega324, da gibts im gleichen
TQFP44-Package u.a. diese Ausführungen:
324PV10AU
324P20AU
324PB20AU
Im Datenblatt hab ich keine Aufschlüsselung gefunden, kann von den
Profis jmd weiterhelfen, wo die Unterschiede sind?
> ... Datenblatt hab ich keine ...
Brauchst du auch nicht. Hier gibt es genügend willfährige Geister, die
nur darauf warten, dass jemand kommt dem sie dienen können.
Ferna schrieb:>> ... Datenblatt hab ich keine ...>> Brauchst du auch nicht. Hier gibt es genügend willfährige Geister, die> nur darauf warten, dass jemand kommt dem sie dienen können.
Und hier sehen wir wie man sinnverdrehend zitiert. Noch nie etwas in
einem Datenblatt übersehen/-lesen?
Matthias H. schrieb:> Noch nie etwas in einem Datenblatt übersehen/-lesen?
Wenn man im Datenblatt die Suchfunktion mit einer nicht verunstalteten
Bezeichnung benutzt, lässt sich das vermeiden.
H.Joachim S. schrieb:> Bei xxPB immer sehr gut aufpassen, sind nicht pinkompatibel.
Natürlich kann man damit alte Platinen auch bestücken.
Beim 324PB sind 4 zusätzliche IO-Pins, wo vorher GND/VCC waren.
Da IO-Pins beim Reset hochohmig sind, schadet die Verbindung mit GND/VCC
nicht. Man kann sie eben nur nicht benutzen.
>Wenn man im Datenblatt die Suchfunktion mit einer nicht verunstalteten>Bezeichnung benutzt, lässt sich das vermeiden.
Oder man guggt im Inhaltsverz. nach.
IC-Bezeichnungen stehen in Datenblatt immer drin.
>> Bei xxPB immer sehr gut aufpassen, sind nicht pinkompatibel.> Natürlich kann man damit alte Platinen auch bestücken..> Beim 324PB sind 4 zusätzliche IO-Pins,.....
Ja, möglich.
Nur die sind nicht softw-kompatibel zu vorigen '324.
Also, 1:1 ersetzen geht nicht.
MCUA schrieb:> Nur die sind nicht softw-kompatibel zu vorigen '324.> Also, 1:1 ersetzen geht nicht.
Warum denn nicht?
Die alten Interruptvektoren und IO-Register sind an der gleichen Stelle,
soweit ich das sehe.
Das sind erweiterte/verbesserte Versionen von MCH.
Ein grosser Teil ist sicherlich unverändert, ein kleinerer Teil ist
anders.
(mit etwas Anpassung wird es aber zu machen sein)
Dort steht auch
"ATmega324PB is not a drop-in replacement for ATmega324 variants, but a
new device." Sind also nicht 100% kompatibel.
(und warum sollte man sonst weitere Bezeichnung einführen?)
MCUA schrieb:> Dort steht auch> "ATmega324PB is not a drop-in replacement for ATmega324 variants, but a> new device." Sind also nicht 100% kompatibel.> (und warum sollte man sonst weitere Bezeichnung einführen?)
Sie sind auf Ebene des Binärcodes 100% *ABWÄRTS*-kompatibel. D.h.: du
kannst den PB nehmen, auf bestehende Board klatschen, das bestehende
HEX-File drauf flashen und der Scheiss wird (recht wahrscheinlich)
funktionieren.
Was du so nicht kannst: die zusätzlichen Features der PB-Variante
benutzen. Dazu mußt du natürlich das bestehende Programm auf
Quelltextebene erweitern. Und dabei kannst du (und wirst du relativ
wahrscheinlich) auf das Problem stoßen, dass sich diverse symbolische
Bezeichner geändert haben, also das Programm (selbst noch ohne
irgendeine funktionale Änderung) erst einmal nicht
kompilierbar/assemblierbar ist, wenn als Target die PB-Variante gewählt
wird.
Nur C&P-Loser halten sowas für ein echtes Problem...
Schon deutlich kitzliger ist, dass sich auch Teile der Specs geändert
haben. Dass das in einem konkreten Fall stört, merkt man dann spätestens
daran, dass die Binärkompatibilität des Codes nicht genügt, um das
bestehende Board zum Laufen zu bringen. Clevere Entwickler lesen
natürlich vorher das Datenblatt und klopfen das Design auf mögliche
Inkompatibilitäten ab. Aber im Zeitalter der C&P-Programmierer mit wenig
oder garkeiner Ahnung von der Hardware kann man sowas wohl nicht mehr
wirklich verlangen...
> Clevere Entwickler lesen> natürlich vorher das Datenblatt und klopfen das Design auf mögliche> Inkompatibilitäten ab.
Clevere Entwickler würden den nie complett 1:1 ersetzen.