PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmspeicher von Atmega 128 erweitern



Xairo
30.09.2006, 21:00
Hallo,
ist es generell möglich den Atmega 128 durch einen externen Speicher zu erweitern auf dem der Programm Code ist?
Also so, dass wenn ich mein Programm erweitere, nichts in den Atmega 128 geschrieben wird.
Der Atmega hat ein Grundprogramm drauf um den externen Speicher auszulesen, auf dem das eigentliche Programm ist.
Somit würde man den Controller schonen (da man ihn ja nicht mehr beschreiben/löschen muss).

Der externe Speicher könnte eine SD oder CF Karte sein.
Und wie krieg ich dann den Programm Code auf den externe Speicher?
Per Card Reader ist klar, geht um das Dateiformat usw.

Wäre echt nice wenn das geht!

Das Mega128Funk Board von RN ist ja nicht so der hit -> verlöteter SMD Controller. Gibt doch auch Sockel.

linux_80
30.09.2006, 22:27
Hallo,

Somit würde man den Controller schonen (da man ihn ja nicht mehr beschreiben/löschen muss).

So ist es nicht vorgesehen, es kann nur das SRAM erweitert werden, und in diesem kann kein Programm ablaufen. Das Programm steht immer im Flash.


Der externe Speicher könnte eine SD oder CF Karte sein.
Das geht so auch nicht in diesem Zusammenhang, wie gesagt, nur SRAM erweiterbar, man kann zwar eine SD-Card ansteuern, aber nicht jetzt direkt als Speicher nutzen, muss alles vom Programm selber gehandelt werden.
Eine SD-Card usw. ist ja auch nur eine Art Flashspeicher.

vajk
30.09.2006, 23:51
SD-Card - d.h. die Daten (nicht ausführbarer Code) der SD-Karten muß auch erst in den Speicher transferiert werden, damit drauf zugegriffen werden kann ?
(und nochmal meine Frage, wie schnell ist der Zugriff von SD-Karten auf z.B. Blöcke von 16 k Daten ?

Xairo
01.10.2006, 00:22
Wäre nice wenn man den Programmcode direkt von der SD/CF Karte her benutzen könnte.
Sollte doch machbar sein, der Controller muss einfach den Code von der SD/CF Karte her auslesen und abarbeiten.
Mal google befragen.

linux_80
01.10.2006, 00:49
Programme laufen in einem AVR nur im Flash, das gibt die Architektur vor.
Es gab aber schon öfter gedanken dazu Programme Modular aufzubauen, also Programmteile von externer Quelle nachzuladen, und in den Flash zu schreiben, hab aber noch kein fertiges System gesehen.
Ist auch nicht recht schonend (für den Flash) so ein System.

magnetix48
01.10.2006, 15:14
Hallo,

vielleicht bekommst du hier ein paar Anregungen für eine Speichererweiterung.

http://www.chip45.de/index.pl?page=CrumbMEM&lang=de


Gruß
Detlef

p_mork
23.10.2006, 12:31
vielleicht konntest du es ja so machen, dass der controller das programm aus der sd-card in seinen ram liest und dann diesen abarbeitert in dem er sich sozusagen selbst simuliert. würde zwar sehr langsam sein aber dafür konntest du gbyte-große programme schreiben.

mfg mark

ogni42
23.10.2006, 12:46
Die AVR haben eine Harvard-Architektur, d.h. Programm und Datenspeicher sind getrennt.

Das Programm muss immer im Flash liegen. Wenn also Teile des Programms in einem anderen Speicher (RAM, EEPROM, SD-Karte, ...) liegen, müssen die in den Flash geladen und dann von dort ausgeführt werden.

Prinzipiell ist das machbar, technisch aber keine gute Idee, da die Programmierzyklenzahl des AVR-Flash Speichers sehr begrenzt ist (ca. 10000 Schreibzyklen).

Wenn das Programm also nicht in die 128kByte passt, hilft nur, auf einen anderen AVR, z.B. 2560, auszuweichen.

Vitis
23.10.2006, 18:09
Das ginge schon, was du dann brauchst ist n Betriebssystem auf dem AVR,
das die Daten auf der CF oder was auch immer interpretiert.
Das Programm selbst kann nur im Flash des AVRs liegen, aber die
Umgebungsvariablen kannste aus ner externen Quelle laden.
Das währ dann n typischer Interpreter halt und dementsprechend
langsam dann auch, aber gehen tut das schon.
Ein fertiges Betriebssystem für den AVR währ mir nicht bekannt,
aber das muss dich nciht davor abhalten Dir eins zu tippen
und dann hier zu veröffentlichen ;)

avr57
23.10.2006, 19:07
Hi,

hat das Conrad Mega 128 - Modul nicht das Betriebssystem drin ? Kostet auch, teuer.

Viele Gruesse

Karl

ogni42
24.10.2006, 08:54
Klar, Interpreter ginge auch, gute Idee.

Physikus
27.10.2006, 12:09
Hallo zusammen!
Entschuldigung für meine "Unbildung": Kann man an einem Atmel Mikrocontroller auch die guten alten EPROMs (Ja die mit dem Glasfenster; natürlich schon programmiert) über einen Wandler anschließen? Wenn ja, was muß man dabei beachten? Es geht darum, Unmengen an Daten, z.B. riesige Lookup-Tabellen oder diverse laange Zeichenketten dort abzulegen, um sie bei Bedarf an den PC zu senden oder auf eine VFD-Anzeige auszugeben.
CUL8A Euer Physikus.

Pascal
27.10.2006, 12:27
Kann man an einem Atmel Mikrocontroller auch die guten alten EPROMs (Ja die mit dem Glasfenster; natürlich schon programmiert) über einen Wandler anschließen?

Natürlich geht das.



Es geht darum, Unmengen an Daten, z.B. riesige Lookup-Tabellen oder diverse laange Zeichenketten dort abzulegen, um sie bei Bedarf an den PC zu senden oder auf eine VFD-Anzeige auszugeben.

Natürlich kannst du dafür ein EPROM nehmen, aber du könntest stattdessen ja auch was moderneres nehmen. Besonders anbieten würden sich EEPROM- oder Falsh-Bausteine bzw. eine SDC/MMC. Da kannst du auch ohne Probleme Daten löschen und neu schreiben.

Razer
30.10.2006, 08:44
Hallo an alle

Hat das schon jemand benutzt: http://www.sparkfun.com/cgi-bin/phpbb/viewtopic.php?p=13691 ???

Schein interessant zu sein.

Gruß Robert