Hallo! Ich habe ein Problem... Ich arbeite mit einem AVR ATMEGA8 und habe den Flash Speicher auf 99,9% angefüllt. Ich müsste nur ein Unterprogramm mehr unterbringen... doch das geht sich nicht mehr aus !!:( Gibt es einen Controller der Pinkompatibel mit dem ATMEGA8 ist und mehr Speicherplatz hat ??? könnte mir bitte jemand helfen ?? Danke !!
Gast
#863462
Hmm der atmega168 sollte pinkompatibel sein und hat 16kb Flash
Pin-kompatibel ist der Mega168, aber ich glaube ohne ein paar Codeanpassunggen wirds nicht gehen. Der hat Teilweise andere Registernamen etc. (Timer etc.) Ich hätte aber erstmal versucht so viele Libs wie möglich rauszuschmeissen und eingene Funktionen zu Programmieren (printf etc. floating point...)
Das hab ich schon gemcht ... Bin von 138% eh schon auf 99,9% runter....
Viele der AVRs sind zwar pinkompatibel, die Firmware muss aber dennoch angepasst werden. Insbesondere sind die die Interruptvektoren unterschiedlich. Bei manchen Derivaten gibt es auch Unterschiede bei den Registern für die Timer beispielsweise.
Gast
#863602
Irgendeine Möglichkeit zum Einsparen von Code findet sich doch immer. OK, fast immer... :-) Bist Du sicher, schon alles ausgeschöpft zu haben?
Gast
#863605
Ein Beispiel: Größere Datenmengen (Tabellen mit Konstanten) im Codesegment kann man bei Flash-Speicherknappheit nett ins EEPROM "auslagern" (so dieses nicht anderweitig gebraucht wird).
Gast
#863606
Aus dem Begriff "Unterprogramm" lese ich einfach mal dreist heraus, dass du eine Hochsprache wie C verwendest. Dann ist die folgerichtige Frage: Wie steht es denn mit deinen Assembler-Kenntnissen? :-)
Naja, es wäre dann doch schneller, wenn er die Register für nen anderen Controller umschreibt bevor er das komplette Programm in ASM erstellt ;-)
Eben und der 168er kostet ja auch nur 2,85€
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.