www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Variablen nicht veränderbar / TMS320F2812


Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hab hier folgenden Seltsamen Vorfall mit dem TMSF2812 von TI. . Nun
werden während des Ablaufs des Programms einige Variablen überhaupt
nicht richtig zugewiesen, so als ob die Variablen nicht veränderbar
seien (wurden natürlich nicht als const deklariert). Die Variablen
liegen um die Speicheradresse 0x000094C2, das ist laut memory map ein
RAM Bereich.
Hm..was könnte jetzt der Fehler sein?
Danke
gruss
Samuel

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin,

ein bisschen code wäre nicht schlecht.
nutzt du den ti debugger?

tobias

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ich nutze den ti debugger (code compser studio)...

z.B. mach ich:

long l;
long value23;

value23 = l; //wenn l z.B. den Wert 64928 hat, hat nach dieser
Zuweisung //value23 den Wert -608

was könnte das sein?

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schaust du dir das im map viewer an in dem du die hexadresse angibst,
oder untem im local viewer?
die ansicht im local viewer von variablen funktioniert nicht.
mach sie mal static in funktionen und schau sie dann im globel viewer
daneben an.

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich schau sie unten im watch window, watch1  an (also nicht im
local).....meinst du das?

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja das meinte ich.
sind sie in der main deklariert, also global, oder in einer
Funktion,also lokal?

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sie sind ausserhalb vom main global deklariert

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was sagt denn der memory viewer dazu, wenn du den code durchstepst?

Autor: Sam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dhm...den hab ich noch nie benutzt...wie geht das?

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
such im mapfile die hexadresse der variablen.
das mapfile kannst du dir durch compilereinstellungen generieren
lassen.
am linken bildschirmrand oder oben in einer menuleiste gibt es den
mapviewer. er kann auch etwas anders heißen.
dort gibst du die hexadresse an (z.b. 0x000094C2) und siehst den
speicherinhalt.

mit der rechten maustaste auf den code gehen und mixed source
anklicken.
dann kannst du dir auch den assembler anschauen und einzeln
durchsteppen.
wenn du dir die register und pc in den unteren fenstern anzeigen lässt,
sollte man sehen wo der wert herkommt.

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.