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
Gast
#3152531
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.