Forum: Digitale Signalverarbeitung / DSP / Machine Learning ST0 Register auslesen bei TMS320F2808


von Alex (Gast)


Lesenswert?

Moin!
Ich habe mal wieder eine Frage zu dem TMS320F2808... :-)
Und zwar will ich das Register ST0 auslesen, um herauszufinden ob die 
Addition von zwei _iq (oder long) Werten einen Überlauf produziert oder 
nicht.
Ich programmiere in C und meine Assembler Kenntnisse sind bescheiden.
Anscheinend ist es in C nicht möglich auf das Register zuzugreifen (oder 
mir ist nur der name nicht bekannt).

Wie sieht der assembler-Code in C aus, mit dem ich den Register-Wert in 
eine Variable schreiben kann?
Gibt es vielleicht eine andere (bessere) Variante mit der ich bei einer 
Addition auf Überlauft Testen kann?

MfG Alex

von Michael K. (Gast)


Lesenswert?

Ich kann dir leider nicht wirklich weiterhelfen.

Es sieht so aus als sei kein "richtiger" Zugriff auf ST0 möglich. Es 
gibt in der TI-Knowledge-Base einen Artikel wie das beim C5000 mittels 
Pointer erledigt werden kann, dort ist ST0 memory mapped. Beim C2000 ist 
dies aber leider nicht der Fall...

von Alex (Gast)


Lesenswert?

Moin,
Nachdem man nichts darüber findet hatte ich so etwas hatte schon 
befürchtet ;-).
Ich bin in der Zwischenzeit auf das OVM bit gestoßen.
Wenn man das setzt, dann passieren keine Überläufe bei Additionen, 
sondern das Ergebnis wird auf das Min/Maximum begrenzt.
Code in C um das Bit zu setzten/löschen:
1
asm (" setc OVM")
2
asm (" clrc OVM")

MfG Alex

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
Noch kein Account? Hier anmelden.