Hallo, habe fleißig meinen Mega16 programmiert, doch leider geht mir jetzt der Flash-Speicher aus. Das Hexfile hat schon 46KB und der Compiler der AVR Studios sagt das: AVR Memory Usage ---------------- Device: atmega16 Program: 16388 bytes (100.0% Full) (.text + .data + .bootloader) Ich wollte eigentlich noch einiges erweitern. Bei der Programmierung habe ich mich schon bemüht möglichst wenig Speicher zu verprassen, also glaube ich nicht, dass da viel Einsparungspotential liegt. Welche Optionen habe ich ? Derzeit benötige ich eigentlich nur Timer 1 und Timer 0. 2 PWM- Kanäle und 7-AD Wandler. Kann ich einfach einen anderen Controller nehmen der mehr Speicher hat? Wenn ja welchen? Danke
Mega8535 -> Mega16 -> Mega32 -> Mega644 Alle pinkompatibel (DIP40). Peter
Ich weiß ja nicht wie gut du dich auskennst, aber die 388bytes könnte man noch optimieren... Hast du den Optimierer im Compiler aktiviert? Hast du viele Berechnungen nicht über Funktionen gemacht? Hast du große Dinge like printf usw. dazugelinkt obwohl du garnicht den kompletten Umfang davon benötigst usw. Ich weiß ja nicht ob du den Code hochladen willst/kannst/darfst usw. Aber ich bin überzeugt das man da nocht was machen kann...
> habe ich mich schon bemüht möglichst wenig Speicher zu verprassen, > also glaube ich nicht, dass da viel Einsparungspotential liegt. Zeig doch mal. Da lässt sich unter Umständen noch einiges finden. Wenn du keine grossen Tabellen im Flash hast, sind 16Kb schon eine Menge Holz.
wenn du auf floatpointer und die dazu gehörigen funktionen verzichten kannst würde ich das machen, denn die machen bei mir ca 3kb aus. mfg
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.