mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 & PIC18Fxxxx: Speicher-Bereiche


Autor: Sven Scholz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine grundlegende Frage zu Angaben aus den Datasheets ATMEGA8 
und PIC18Fxxxx.

Folgendes ist zu lesen:
ATMEGA8
---------
SRAM: 1024 Bytes
EEPROM: 512 Bytes
FLASH PROGRAM MEMORY: 8k Bytes

PIC18Fxxxx
---------
SRAM: 1526 Bytes
EEPROM: 256 Bytes
FLASH PROGRAM MEMORY: 32k Bytes


Mir ist nicht ganz klar, auf welchem Speicher der Controller arbeitet, 
wenn das Programm abgearbeitet wird. Meine Vermutung ist, dass er den 
auszuführenden Code im Zwischengedächtnis, also im SRAM hält. Direkt mit 
Daten aus dem FLashSpeicher wird er wohl kaum arbeiten können, zumal 
Lese-Zugriffe Blockweise geschehen. Es ist aber ja so, dass die 
Applikation zuerst geflasht wird, also im Flashspeicher steht. Das würde 
bedeuten, dass ganz am Anfang, also nach einem Reset zuerst der 
SRAM-Speicher mit Code aus dem Flashspeicher gefüllt wird und dann die 
Ausführung startet. Wenn der ProgramCounter dann hochläüft, etwa 
PC=0x100 müsste der entsprechende Block aus dem FlashSpeicher 
nachgeladen werden. Oder wie funktioniert das?

Auf dem PIC kann ich doch Applikationen, die eine Größe von bis zu 
32kByte haben, laufen lassen oder wird der SW-Umfang vom SRAM Speicher 
begrenzt?

Ihr seht, ich habe an dieser Stelle Nachholbedarf.
Bitte daher um eure Hilfe. Vielen DANK.

PS: Hoffentlich ist überhaupt klar geworden, auf was ich hinaus will... 
:-)

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
das Programm wird direkt aus dem Flash ausgeführt, die AVRs können auch 
kein Programm im Ram ausführen.

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sowohl der RAM als auch der Flash können Probleme bereiten...

Das Programm liegt im Flash + (alle) Variablen mit ihren Startwerten + 
Bootloader wenn vorhanden

Zur Laufzeit liegen die Variablen im RAM + häufig der Stack und noch 
paar andere Sachen

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.