Hallo,
ich habe Probleme mit dem Halten einer Verbindung zwischen MSP430F169
und IAR.
Das Herunterladen funktioniert eigentlich immer ohne Abbruch.
Sobald ich mit "Step over" durch das Programm laufe oder es mit "Go"
starte, kommt irgendwann die Meldung "Could not get target status".
Es gibt am Reset Pin andauernd ziemliche Störungen.
Im Bild: oben zwei Signalaufzeichnungen des Reset-Pins, jeweils mit
anderer Zeitauflösung. Die Ausschnitte zeigen jeweils genau den
Zeitpunkt, wenn man mit dem Taster manuell einen Reset auslöst. Die
Nulllinie ist ganz unten, dort wo rechts die 1 steht
Darunter eine Aufzeichung eines Logikanalysator. Durch den nicht perfekt
eingestellten Logic-Treshold sieht man die Störungen am Reset ohne dass
Reset ausgelöst wird. Wenn das Programm einmal läuft, dann klappt von
der Abarbeitung eigentlich alles, bis dann irgendwann wieder der Reset
ausgelöst wird.
Ganz unten ein Teil des Schaltplans aus dem die Beschaltung von Reset
und JTAG hervorgeht. Die einzelnen Bauteile habe ich schon mehrfach
ausgelötet und überprüft. Die Schaltung ist wirklich so aufgebaut, wie
sie im Schaltplan abgebildet ist. Die L´s sind Ferrite mit jeweils 600
Ohm.
Zum Code:
1 | main()
|
2 | {
|
3 | WDTCTL = WDTPW + WDTHOLD; // Stop Watchdogtimer
|
4 | port_def();
|
5 |
|
6 | for(;;) // DA-Ausgang hoch und runterzählen
|
7 | { x=10360; wait(1);
|
8 | for (x=10360; x <=52567; x+=10000)
|
9 | { DAAusgabe(x);}
|
10 | P6OUT |= 0x01; // Test 1
|
11 | P6OUT &= 0xFE; // Test 0
|
12 |
|
13 | for (x=52567; x >=10360; x-=10000)
|
14 | { DAAusgabe(x);}
|
15 | P6OUT |= 0x01; // Test 1
|
16 | P6OUT &= 0xFE; // Test 0
|
17 | }
|
Wer kann mir sagen, warum das Reset-Signal beliebig nach unten gezogen
wird, bzw. warum es immer so bei 1,5 V rumzappelt?