www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Externer Speicher am Atmega128


Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

Ich habe ein neues Project vor und bin dabei mir Hardware Auszusuchen.
Das grosse Ding ist: Ich brauche massenhaft Speicher.

Als Programm code wuerden mir wahrscheinlich die 128k des Atmega128
reichen, aber ich brauche mehr SRAM und ... .

Der Atmega128 kann 64k extern adressieren.

Da ist es ja so, dass man an die ersten ~4k des externen Speichers
nicht drankommt. Kann man ev. durch eine geschikte Adressdekodierung
auch die ersten ~4k nutzen?

Zum zweiten koennte ich ein Flash zusaetzlich gebrauchen. Ich habe etwa
40k Daten, die waehrend des Programmablaufs nicht veraendert werden,
aber es wird permanent darin gesucht.
Kann man diese externe 64k aufteilen in z.B. 32k SRAM und 32k Flash?

Danke
Alex

Autor: Gerit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was für ein Projekt ist das ?

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

Es eine Art Spielecomputer werden.

Alex

Autor: sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist das für dich interessant, gerade bei einem
"Spiele-Rechner": http://members.aon.at/voegel/

Gruß
Sebezahn

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Speicher kannst Du problemlos aufteilen.
Allerdings solltest Du Dir überlegen, ob Du dafür nicht einen anderen
Controller nimmst. Das macht die Software und Hardware viel einfacher.
Fujitsu hat sehr schöne, auch Renesas hat ganz brauchbare (für beide
gibt es kostenlose C-Compiler).

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie geht das denn?
Muss ich dann nicht dem Linker auch sagen, wie gross mein SRAM ist und
das ROM DatenSegment ist?
Kann ich das Flash (ist ja dann parallel angeschlossen) auch problemlos
programmieren?

Eine andere Hardware weiss ich nicht. Grosse Teile des Codes sind schon
in C++ geschrieben. Die umzuschreiben in C ... Hmmm...


Alex

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dem Compiler musst Du das nur sagen, wenn Du das RAM nicht selber
verwaltest. Das hängt von Deiner Software ab. Beim AVR-GCC kannst Du
bestimmen, ob der Compiler das RAM komplett nutzt, nur für den HEAP
oder gar nicht.
Das Flash kannst Du im Prinzip schon programmieren, so funktioniert das
beim PC ja auch.
Vielleicht schreibst Du mal, wie Deine Software aufgebaut ist und
welchen Compiler Du verwendest.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternativ kann man natürlich noch über Speicherbankaufteilungen
nachdenken.  Sowas wurde schon beim Z80 gemacht.

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo...

Ich benutze WinAVR.

Ich hatte an eine Adressdekodierung in 8k Schritten gedacht. Ueber
einen GAL.

Ich habe Bibliotheken, die etwa 40kB Gross sind. Diese sollen in den
Flash-Speicher. Der Rest von 64kB soll bleiben fuer das SRAM. Nur
wollte ich das so machen, dass wenn ich die Bibliotheken kleiner
bekomme, moechte ich ueber den GAL von den 40 kB etwas abzwacken und
dem SRAM zukommen lassen.

Eine Weitere Frage waere, ob man eine etwas groesseren Adressbereich
hinbekommt. Man koennte ja z.B. es so machen, dass wenn man z.B. eine
ganz bestimmte Adresse im GAL (ich weiss nicht ob so etwas mit einem
GAL geht. Ich habe das frueher mit einem Altera so gemacht) schreibt,
dann praktisch die Adressleitung A16 setzt und somit nochmal 64kB
bekommt. Ist so etwas den mit einem GAL moeglich ? Vielleicht ein
anderer Baustein ausser Altera?


Alles nur Fragen ;-()

Danke.
Alex

Autor: Dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So etwas geht, auch mit einem GAL. Ich würde allerdings ein CPLD nehmen.
Die verbrauchen weniger Strom. Vielleicht ein Xilinx XC9536XL, den gibt
es für ca. 2,50 bei Reichelt. Software dazu bei Xilinx kostenlos,
ISP-Programmer-Bauanleitungen dazu im Netz.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.