Forum: Mikrocontroller und Digitale Elektronik Code Composer Studio (Programm testen)


von Tom D. (tom26)


Lesenswert?

Hi Leute wie kann ich mein Programm testen,wenn ich auf den Ausgängen 
und Eingängen nichts angeschlossen habe.


bis jetzt habe ich immer oben in den Registers nachgeschaut welche Ports 
geschaltet werden.Dies habe ich immer in Einzelschritten weiter 
geschaltet.


Nun habe ich aber eine Schleife zum warten eingebaut


mov.w #1333333,R4
wait:
  dec.w R4
  jnz wait

wenn ich nun auf Run klicke kann ich die Ports nicht Schalten sehen.

Wie kann ich das nun testen?

Danke Gruss Tom

von Karl H. (kbuchegg)


Lesenswert?

tom drossel schrieb:

> Wie kann ich das nun testen?

Indem du davor was schaltest und danach die Schaltung wieder rückgängig 
machst.

von Karl H. (kbuchegg)


Lesenswert?

Ich denke mitlerweile, ich habe dich missverstanden

Das Problem dürfte hier sein
> Dies habe ich immer in Einzelschritten weiter geschaltet.

Dass du nicht #133333 Einzelchritte machen wirst bzw. willst, dürfte 
klar sein.
Sieh mal in deiner Oberfläche nach, ob du 'Breakpoints' setzen kannst. 
Du markierst eine Zeile, setzt dort einen Breakpoint und machst dann 
einen 'Run'. Wenn das Programm an die Zeile mit dem Breakpoint kommt, 
dann meldet es sich wieder bei dir und du kannst weiter debuggen, so wie 
du das gewohnt bist.

von Tom D. (tom26)


Lesenswert?

Danke für deine Antwort

naja mit meinen 1333333 für R4

war auch Optimistisch so ein großen Wert kann die 16 bit Zahl garnicht 
aufnehmen :DDD

Gruss Tom

von 6A66 (Gast)


Lesenswert?

Hallo Tom,

CCS ist da ja schon sehr hilfreich weil es eben Zugriff auf alle Ports 
ud Funktionen des Prozessors erlaubt.

Um Werte der Ports zu simulieren kannst Du auch die Werte in die 
Register reinschrieben (sofern das möglich ist). Bei 
Porteingangsregistern ist das etwas schwierig aber man kann sich 
behelfen: Solange keine echte HW da ist kann man die Eingangsregister 
auch mit den Ausgangsregistern verbinden und dann in die 
Ausgangsregsiter schreiben. Die Werte kommen dann als Eingangswerte 
wieder zurück (wenn richtig konfiguriert). Da musst Du halt Deinen 
Professor soweit kennen dass Du weisst wie Du das bewerkstelligen 
kannst.

Zum Durchsteppen des Programms hat Kbuchegg ja schon was gesagt. CCS ist 
auch da sehr komfortabel: Breakpoint rein und laufenlassen bis dorthin. 
Ich glaube mich erinnern zu können (hatt das nie gebraucht) dass CCS 
sogar auf bestimmte Register/Speicherwerte breaken kann.

In Deinem Fall: Breakpoint hinter die schleife und "Run".
Einen Breakpiont setzten: einfahc uf die Zeile klicken wo Die BReakpoint 
rein soll.
Aber Achtung: Bein nächten Lauf ist der Breakpoiunt noch drinnen!

rgds

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.