Forum: Mikrocontroller und Digitale Elektronik Eeprom / speichererweiterung


von Benrd (Gast)


Lesenswert?

Hallo,

jetzt hat mein hex-file leider die größe des internen flash meines 4433 
überschritten. (~4 K)
Gibt es eine möglichkeit dieses hex-file in ein externes eeprom(I2c)oder 
dataflash abzulegen und den code dann im 4433 ausführen zu lassen. Ich 
hatte mir gedacht, das man zunächst eine bootloader schreibt, der dann 
die ansteuerung an das eeprom erledigt. Aber wie kann ich den im eeprom 
abgelegten code dann ausführen ?
Ist das ganze überhauüt machbar ?

Gruß Bernd

von mikki merten (Gast)


Lesenswert?

Wegen der Architektur der AVR Familie nicht möglich.
Verwende einfach die nächst grössere Variante mit mehr
Flash Programmspeicher 8535 (8K) oder MEGA16 bzw. MEGA163 (16K) sind 
auch abwärts pin kompatibel.

von Bernd (Gast)


Lesenswert?

Ist das den bei irgend welchen der größeren typen möglich )
z.B die megas .

Das ich an meinem Programm noch am arbeiten bin und nicht so genau weis 
wie groß es wird tue ich mich natürlich schwer bei grösse des flash 
speicher. darum eben auch die frage nach der erweiterung. Sollte ich 
viellecht die prozessorfamile wechseln  ?
wenn ja auf bei welcher geht denn so was (speichererweiterung) ?

von mikki merten (Gast)


Lesenswert?

Im 40 Pin DIP ist bei 32K Flash Schluss ATMEGA32 bzw. 323. Im TQFP 
Gehäuse gehts bis 128K Flash, für einen
Microcontroller auch bei umfangreichen Tabellen mit Sicherheit mehr als 
ausreichend.

von Peter D. (peda)


Lesenswert?

Beim AVR kannst Du nur konstante Daten in einem externen Flash 
speichern, aber keine Programme.

Es hängt also davon ab, ob Dein Programm viele Daten (z.B. Tabellen) 
enthällt.

Externen Programmspeicher kannst Du z.B. beim 8051 anschließen. Da sind 
standardmäßig bis zu 64kB möglich, was etwa einem AVR mit 80kB 
entspricht, da Programme auf dem 8051 kleiner sind als auf dem AVR, 
besonders, wenn man gut optimierende C-Compiler benutzt, wie den Keil.

Falls das nicht reicht, gibt es 8051-Derivate, die bis zum 4MB 
adressieren können. Die werden aber nur von dem neuesten Keil-Compiler 
unterstützt.

Dann gibt es die 251- bzw. XA-Familie, die auch 8051-Code ausführen 
können, aber zusätzliche 16-Bit-Instruktionen haben.

Die 8051 im DIP-40 Gehäuse haben bis zu 64kB internen Flash (z.B. 
T89C51RD2), der direkt vom PC über den COM-Port geladen werden kann.


Peter

von Rainer (Gast)


Lesenswert?

Also, 128k sollten LEICHT reichen, so aufwendig wird dein Programm zu 
99.9% nicht werden... 8051 ist ganz nett, aber sicher nicht ganz so 
komfortabel wie AVR... Und wenns wirklich ein Riesenprogramm werden 
sollte, der C16x kann 16MB adressieren (allerdings ist das eine von 
Neumann Architektur!)

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
Noch kein Account? Hier anmelden.