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
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.
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) ?
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.