Gast
#1126562
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... :-)