www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmega 128 Flash Problem


Autor: M. H. (bambel2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Ich habe schon seit einiger Zeit einen Atmega128, auf nem selbst 
erstellten Testboard. Klappt auch alles einwandfrei.

Aber ich habe ein Problem. Der Atmega 128 hat ja 128kB flash.
aber ich verstehe nicht wie der µC den verwaltet, Der Program-Counter 
(PC)
ist ja 16 bit lang/groß

also maximaler Wert vom PC irgendwas mit 65000 (sorry, hab keine Lust 
2^16 zu rechnen) Der Flash vom Atmega128 ist aber viel größer als diese 
65000-und-irgenwas Bytes. wie soll der µC auf die Speicherzellen 
oberhalb der "Maximal-Grenze" von PC zugreifen?

Selbes Problem mit LPM.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

128kByte ->131070 Byte ->

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M. H. schrieb:
> Aber ich habe ein Problem. Der Atmega 128 hat ja 128kB flash.
> aber ich verstehe nicht wie der µC den verwaltet, Der Program-Counter
> (PC)
> ist ja 16 bit lang/groß

Der Programmspeicher ist in Worten organisiert, nicht in Bytes. 
Dementsprechend enthält der Program-Counter auch eine Wort-Adresse. Er 
kann also 65536 Worte (zu je 16 Bit) adressieren.

> Selbes Problem mit LPM.

Siehe im Datenblatt das Register PAMPZ und den Befehl ELPM.

Autor: M. H. (bambel2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
> 128kByte ->131070 Byte ->

Sorry, aber ich versteh die Aussage nicht ganz...

128kB = 131070 Byte

ne??

Das ist doch größer als  65535 (habs jetzt ausgerechnet).

wie kann der µC darauf zugreifen. beim 65536. Byte ist doch Schluss!?!

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI

Sorry, falscher Click

128kByte -> 131072 Byte -> 65536 Word -> 64K Program-Counter  passt.

LPM 128K -> 17Bit -> Z(16 Bit)+ RAMPZ0 (1 Bit)= 17 Bit passt.

MfG Spess

Autor: M. H. (bambel2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist RAMPZ0 ?? wird das von LPM-Befehl außer dem Z-Pointer auch 
benutzt???

Und danke!!

Autor: M. H. (bambel2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry hab den beitrag von Stefan Ernst nicht gesehen.


ich habs jetzt verstanden....

Danke an alle :)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Was ist RAMPZ0 ?? wird das von LPM-Befehl außer dem Z-Pointer auch
>benutzt???

Ja. Befindet sich im RAMPZ-Register.

MfG Spess

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.