Vielleicht für Experten eine dumme Frage, aber ich bin erstmalig auf folgendes Problem mit dem TI CCS Compiler gestoßen. Ich benutze das Information Memory Sement_D für paar fixe Werte. Diese Werte können aber per Kommando via serieller Schnittstelle aber geändert werden. Das klappt auch soweit mit dem Initialwert. Wird jetzt allerdings der Wert verändert, geht die Benutzung des neuen Wertes schief. Im IM wird der Wert zwar verändert, aber es wird nach wie vor der alte Wert verwendet. Wie im Bild zu sehen, wird die Konstante nicht aus dem Information Memory geladen, sondern als fixer Wert aus dem Code heraus. Wobei der Initialwert 0xFF war, der veränderte Wert im IM ist jetzt aber 0x00. Das Bild zeigt das Laden der Variablen uc_l_x mit dem Wert aus dem Information Memory (sollt 0x00 sein, so war es jedenfalls geplant). Hoffe ich konnte mein Problem klar darlegen. Was mache ich da falsch? Kann mir bitte jemand helfen beim Beheben des Problems? Vielen Dank
Das Problem hört sich nach einer typischen Optimierung von const Werten an. Ist die Variable zusätzlich als volatile gekennzeichnet? Bei so Sachen die auf feste Speicheradressen Zeigen sieht man dann gerne so const volatile Konstrukte.
Kai B. schrieb: >..... sieht man dann gerne so const volatile Konstrukte. Vielen Dank, das ist die Lösung!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.