Hallo, da mein Projekt so langsam den ATmega32 füllt, bin ich am überlegen ob ich nicht Sicherheitshalber nen größeren ATmega einplane. Für meine 5-10 Platinen ist der Preisunterschied eher nicht relevant. Nun zu meiner Frage: - Wenn ich nun einen avr mit z.B 128k Flash nehme, was muss ich beachten ? Der avr hat doch nur 16Bit als Adresse, oder ist es bei den Typen größer ? Kümmert sich avr-gcc darum selbst ? Oder muss ich "Bank umschalten" - Im Manual vom avr-gcc steht, das PROGMEM nur die ersten 64k nutzen kann. Geht das auch Automatisch dahin ? Oder muss ich da mit Linker Sektions nachhelfen ? Gibt es sonst etwas zu beachten ? Danke Juergen
Jürgen Sachs schrieb: > Der avr hat doch nur 16Bit als Adresse Beim Flash-Speicher werden damit aber nicht Bytes sondern Worte (16Bit) adressiert.
Jürgen Sachs schrieb: > Im Manual vom avr-gcc steht, das PROGMEM nur die ersten 64k nutzen > kann. Geht das auch Automatisch dahin ? Ja, das geht automatisch dahin. Es heißt nur, dass die Summe deiner PROGMEM-Daten nicht 64 KiB (abzüglich des Platzes für die Vektor- tabelle) überschreiten darf. Ansonsten ist es erst ab > 128 KiB wesentlich, dass man alles mit -mrelax baut und vor allem auch linkt.
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.