Gast
#348429
Hallo, in einem C-Modul deklariere ich 3 globale RAM-Zellen. Alle 3 RAM-Zellen werden im RAM allokiert. Ich sehe ihre Adressen im Watch Fenster. Eine ist eine reine Eingangsgröße und wird nicht verändert. Die anderen beiden bekommen Werte aus prozeßlokalen (Register)RAM-Zellen zugewiesen. Zu Beginn der lss-Datei werden die RAM-Zellen "lds r30, 0x0076" etc. an die Arbeitsregister zugewiesen. Am Ende des Codes werden die Rechenergebnisse an die Register der "globalen" Variablen zugewiesen. Das Problem ist allerdings jetzt, daß die Inhalte der Register nicht zurück ins RAM geschrieben werden. D.h. daß die RAM-Zellen dauerhaft auf Null bleiben. Ist ja schön, daß der Compiler RAM spart. Aber wie kann ich den Compiler anweisen, daß er die Registerinhalte ins RAM zurückschreibt?