Hallo, ich habe ein Programm in C geschrieben, das ich auf einem Testboard mit ATMega16 getestet habe. Da ich nur sehr wenige I/O Ports benötige, möchte ich das ganze auf einen kleineren uC portieren (z.B. ATiny2313?). Über die Register-Anpassungen bin ich mir schon im klaren. Wie verhält sich aber die Programmgröße (hex File) zu dem internen Flash des Prozessors? Der Mega16 hat 16kB, der Tiny2312 nur 2kB. Mein *.hex File hat z.Z. 10kB. Entspricht das der Größe, die es auch im Flash belegt? Ich kann das Programm leicht noch schlanker machen, da ich sehr viele Debuginfos (Klartext) über RS232 an den PC schicke, die nicht notwendig sind. Oder gibt es einen kleineren (bezogen auf das DIL gehäuse) uC mit - 1 * uart - 6 I/O Ports der sich besser eignet als der Tiny2313? vielen Dank euch schon mal Daniela
ATTiny45 hat nur 8 Pins. Wenn die Anschlüsse für die serielle Schnittstelle in den 8 I/O-Ports schon drin sind und interner Oszillator ausreicht, ist das wohl der kleinste. Hat 4k. Und die Größe des Hex-files ist nicht der verbrauchte Flash, sondern die des Bin-files, falls man eines erstellt. Hex ist immer größer.
Daniela wrote: > Mein *.hex File hat z.Z. 10kB. Entspricht das der Größe, die es auch im > Flash belegt? Natürlich nicht. Das Hexfile ist, wie der Name ja suggeriert, eine hexadezimale Codierung des Binärcodes, den der Controller ausführt. Damit hat man also schon mindestens den Faktor 2 als Größe (2 Bytes hexadezimal für 1 Byte binär). Außerdem kommt noch Overhead hinzu für die Adressierung, eine Prüfsumme sowie die Zeilenstruktur, das macht so (je nach Zeilenlänge) einen Faktor von 2,5 ... 3. Je nachdem, wie viele Debugstrings du da drin hast, könnte es also klappen oder auch nicht, das auf einen kleineren Controller zu portieren. > Oder gibt es einen kleineren (bezogen auf das DIL gehäuse) uC mit ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Beliebig, sowie du von DIL weggehst. ;-) > - 1 * uart > - 6 I/O Ports > der sich besser eignet als der Tiny2313? Der genannte ATtiny45 wäre wohl in der Tat die kleinste Option, aber er ist dann in diesem Modus nur noch mittels HV-Programmierung benutzbar, da du das /RESET-Pin zum normalen IO-Pin umfunktionieren musst. Die nächstgrößere Klasse sind die 4er ATtinys: ATtiny24/44/84. Die sind im 14pinnigen Gehäuse. Ich hab' sie bislang nur als SO-14 gesehen (was heutzutage auch für einen Bastler keine Herausforderung mehr ist), aber laut Datenblatt soll es sie auch als DIL geben. Bekannt und beliebt sind die Megas der 8er Serie: ATmega8 (eher schon veraltet) und dessen Nachfolger ATmega48/88/168. Die kommen im 28pinnigen Gehäuse (im Falle der SMD-Version 32pinnig mit 2 ADC-Ports mehr als bei DIL).
Danke für die Infos. werde mir die genannten uC mal ansehen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.