Forum: Mikrocontroller und Digitale Elektronik JTAG Progr. per EZ430 USB funkt. nicht mehr nach P2SEL=0;


von Steffen (Gast)


Lesenswert?

Bin gerade dabei ein Projekt mit einem MSP430F2011 zu realisieren. An 
Port2 habe ich nichts weiter angeschlossen, also wollte ich die Pins als 
digitale Ausgänge konfigurieren.
Im Datenblatt habe ich auch nichts gefunden, was dagegen sprechen würde. 
Allerdings hängt sich der Debugger (IAR KickStart) bei der Zeile 
P2SEL=0; auf und es ist keine Komunikation über das JTAG-Interface mehr 
möglich. Auch nicht nach Abschalten der Versorgungsspannung. Der Chip 
ist damit unbrauchbar. Keine Ahnung, ob der Prozessor das Programm 
abarbeitet. Das System ist komplett vergossen und nur die JTAG 
Schnittstelle herausgeführt.

Kennt jemand das Problem und gibt es evtl. eine Möglichkeit die MSPs 
wieder zu "reanimieren"?

Die Software LiteFetPro430 von Elptronik erkennt den Chip ebenfalls 
nicht mehr.

Die komplette Initialisierung des MSP sieht wie folgt aus:

void Init_MSP(void)
{ char i;
  WDTCTL = WDTPW + WDTHOLD +WDTNMI;             // Stop watchdog timer

#ifdef __V1
 WDTCTL = WDTPW + WDTHOLD;             // Stop watchdog timer
#endif


// Oszilator-Konfiguration

// externer 32kHz Quarz
  DCOCTL=0x00;
  BCSCTL1=0xB0;      // 10000000b XT2 off, Low frequency mode, Divider 
ACLK/1
  BCSCTL2=0xFE;       // 0b11101110 MCLK source LFXT1CLK, /4, SMCLK 
source LFTX1, /1, internal DCO-Resistor;
  BCSCTL3=0x0C;        // 0b00001100 32768Hz Quarz, 12,5pF
 __bis_SR_register(SCG0);           // Stop DCO
  while (IFG1&OFIFG)
  { IFG1 &= ~OFIFG;      // OFIFG rücksetzen
    for (i=0; i<5; i++);    // Delay
  }

// Port Konfiguration
  P1OUT=0;
  P1DIR=0x24;        // 0b00100100 SCL & SDA Eingänge, Pegel über 
Pull-Up bzw. Pull-Down
  P1IE=0x00;        // keine Interrupts
  P1SEL=0x00;        // vorerst alle I/O
  P1REN=0xC0;        // Pull-Up für SDA
sowie SD & V_OK
  P1OUT=0xF8;        // 11111000

// !!! wird nachfolgende Zeile "aktiviert", wird die JTAG-Schnittstelle 
unbrauchbar !!!

//  P2SEL=0x00;
  P2DIR = 0xFF;                         // All P2.x outputs
  P2OUT = 0;                            // All P2.x reset
}

von Steffen (Gast)


Lesenswert?

Wenn Dummheit weh tun würde ....

Na ja, logisch, dass nichts mehr funktioniert wenn man einen Quarz 
angeschlossen hat, den Prozessor mit diesem betreibt und die Pins als 
I/O schaltet.

Aber dass man damit den Prozessor komplett zerschießt?

Gruß
Steffen

von Christian R. (supachris)


Lesenswert?

Dürfte eigentlich nicht passieren, denn spätestens nach dem 
Harware-reset ist ja alles wie vorher. Und die JTAG-Verbindung geht 
zumindest eigentlich auch ohne Quarz. Bist du sicher, dass alles richtig 
beschaltet ist? Nicht, dass die Test-Leitung nich richtig dran ist, und 
somit der JTAG nicht auf die Pins zugreifen kann. Mit TEST kann man ja 
zwischen JTAG und normalem IO umschalten.

von Christian R. (supachris)


Lesenswert?

So, hab nochma nachgeschaut, JTAG ist ja an Port 1.

Das der Nicht mehr läuft, is erst ma erklärlich, du schießt dir ja 
selber den Quarz ab.

Aber JTAG müsste eigentlich noch gehn, wenn Reset und Test richtig 
angeschlossen sind. Die JTAG State-Machine arbeitet ja unabhängig.

Welche Leitungen hast du denn am JTAG-Anschluss dran? Oder gehst du per 
Spy-Bi-Wire rein? Da weiß ich nicht, ob da vielleicht ein Takt laufen 
muss, um die zu bedienen.

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.