Axel schrieb:
> ich benutze einen ATMEGA2561 und die 256k Flash gehen langsam zur Neige.
Wie passiert denn sowas? Internet-Dump->µC oder was?
> Laut Datenblatt des Controllers kann man externe parallele Komponenten
> wie z.B. Flash, RAM, ... anschließen.
Ja, klar.
> Kann man mit dem externen Flash den Programmspeicher des AVR erweitern?
Nein. Alles externe ist immer nur Datenspeicher. Aber mit an Sicherheit
grenzender Wahrscheinlichkeit ist bei dir der größte Teil des
Programmspeichers ja auch nicht wirklich mit Code gefüllt, sondern mit
konstanten Daten. Und die kann man natürlich problemlos auch auf
externen RO-Speicher auslagern.
> Wie wird der externe Flash dann programmiert?
In erster Näherung: garnicht. Aber natürlich wäre es möglich (unter
Benutzung einiger zusätzlicher IO-Pins) die Sache mit Hilfe eines
entsprechenden "Bootloaders" auch zur Laufzeit beschreibbar zu machen.
Das entspräche dann insgesamt ungefähr dem Selfprogramming des internen
Flash. Aber halt mit dem grundlegenden Unterschied, dass es nicht für
Code funktioniert. Den könnte man zwar natürlich durchaus auch in den
externen Speicher schreiben, aber niemals direkt von dort aus
ausführen...
Klassische Harvard-Architektur halt. Code kann nur aus dem Speicher
ausgeführt werden, der dafür vorgesehen ist, Code zu enthalten. Im Falle
der AVR8 also ausschließlich der interne Flash.