MSP430 Software laden

Gast #358381
Lesenswert?

Servus Leute!

Blöde Frage, aber irgendwie komm ich nicht drauf! Ich habe ein
MSP430F169 Header Board mit JTAG USB TINY und check einfach nicht, wie
ich die Software von der IAR Kick Start Umgebung in meinen Prozessor
laden kann. Muss doch irgendwie gehen, oder?
Ich kann nur compilen und debuggen. So schwer kann das doch nicht sein
... muss doch irgendwo einen Button geben "Load Software in
Processor" oder was auch immer!?
Gast #358383
Lesenswert?

Wenn man dann wie oben geschrieben den Debugger ausgewählt hat, wird bei
jedem Start des Debuggers das Programm in den Flash geladen. Man sollte
aber Suppress Download ankreuzen, damit man bei einem bloßen
nachgucken, was der Przessor macht, nicht jedesmal den Flash
strapaziert.
Gast #358392
Lesenswert?

Ahsoooo...dann is kein Wunder das nicht läuft. Ich nehme an, du hast gar
keinen Quarz drauf, oder? Auf dem original TI Header Board fehlen ja
beide Quarze. Also der X1 muss mindestens bestückt sein, sonst läuft
natürlich nix los. Im Debugging-Mode wird im Einzelschrittbetrieb auch
so das Programm abgearbeitet, aber ohne Quarz läufts nicht.
Wenn der 32Khz Quarz an XT1 bestückt ist, müsste das Programm auch so
anlaufen. Es sei denn, du schaltest den Takt auf den XT2 um, dann is
natürlich auch nix...
Gast #358395
Lesenswert?

Also ein 32,768 kHz Quarz ist auf dem Header Board drauf. Die Anschlüße
dafür sind auf der Platine mit Q1 und Q3 bezeichnet. Den Takt schalte
ich gar nicht. Sollte ich den vorher irgendwie schalten?
Gast #358396
Lesenswert?

Ohne Widerstand geht's auch :) Mit dem Widerstand kann man die
Genauigkeit erhöhen, aber wenn man nicht gerade UART mit der Kiste
machen will, geht es auch so.

Nach dem "booten" ist ja kein Register gesetzt, d.h. externe Quarze
oder der Widerstand sind nicht eingeschaltet. Somit muss man diese
Sachen alle erst einstellen. Und das Einstellen kann man natürlich nur
erledigen, wenn der µC auch rennt.
Gast #358399
Lesenswert?

Also müsste der 32,786 Quarz auf dem Header Board reichen, um den
MSP430F169 in Betrieb zu nehmen!?

Aber trotzdem kann ich keine Spannung am Ausgang erzeugen, wenn ich
z.B. P1.0 auf "1" setze.
Oder liegt es an meinem Programm? Aber das hatten wir vorher schon mit
P1DIR = 0xFF; usw.
In den Controller kann ich, wie es zumindest den Anschein hat, die
Software laden, wenn ich den FET-Debugger einstelle.
Die Versorgungsspannung des Controllers bekomme ich über den
JTAG-Anschluss. Ich kann dabei auch 3,3V zwischen AVcc und AVss bzw.
zwischen DVcc und DVss messen
Das müsste doch dann gehen, oder?
Gast #358400
Lesenswert?

Hiho,
nochmal,der MSP läuft auch ohne Quarz. Ohne jegliches Zutun (ausser
natuerlich den Watchdog stoppen), läuft der MSP mit dem internen
DCO(ca. 800 kHz) los. Poste mal bitte Dein Programm.
Gast #358401
Lesenswert?

Hast du eingestellt: "Leave Target Running?" Da war doch bei der IAR
da irgendwo nan Haken zu setzen, oder so nen Button.
Ist der Wachhund gestoppt? Der setzt in der Ausgangskonfiguration alle
~32ms den Prozessor zurück.
Gast #358403
Lesenswert?

Das Programm sieht gut aus. Mal eine provokante Frage,nicht persönlich
nehmen:
Bist Du sicher, dass Du an Pin 1.0 die Spannung misst?
Wenn der Debugger läuft, kannst Du auch versuchen, im C-Spy über die
Anzeige der Register (Port1) die Direction und den Output mal online zu
setzen.
Gast #358405
Lesenswert?

Vielleicht ist es nur ein Schreibfehler von dir, aber du musst gegen
DVss messen. DVcc ist die Versorgung P1 hast du ja auf high, d.h.
Versorgung gesetzt. Somit hast du dann dort eine Spannung von 0V.
Gast #358406
Lesenswert?

Schreibfehler hab ich eigentlich nicht. Hab beim Compilen und Simulieren
keine Fehlermeldungen.
Vielleicht bin ich echt zu blöd zum messen :( . Das komische ist, ich
habe sowohl gegen DVcc als auch gegen DVss gemessen und hab aber immer
0V. Ich müsste doch dann, wenn P1 low ist eine Spannung von 3,3V gegen
DVcc und 0V gegen DVss messen und wenn P1 high ist eine Spannung von
3,3V gegen DVss messen und 0V gegen DVcc messen können.
Versorgungsspannung ist auf jeden Fall da: 3,3V
Ich könnte echt heulen, dachte das wäre ne Sache von 30 Minuten für den
ersten Funktionstest und jetzt häng ich schon fast 'ne Woche drüber und
nix geht :(
Gast #358407
Lesenswert?

So viele möglichkeiten was falsch zu machen gibt es doch eigentlich
überhaupt nicht :)

Hast du dir mal die Code Examples von Texas angeschaut?
http://www-s.ti.com/sc/techzip/slac015.zip

//*******************************************************************
//  MSP-FET430P140 Demo - Software Toggle P1.0
//
//  Description: Toggle P1.0 by xor'ing P1.0 inside of a software
loop.
//  ACLK= n/a, MCLK= SMCLK= default DCO ~800k
//
//                MSP430F149
//             -----------------
//         /|\|              XIN|-
//          | |                 |
//          --|RST          XOUT|-
//            |                 |
//            |             P1.0|-->LED
//
//  M. Buccini
//  Texas Instruments Inc.
//  Feb 2005
//  Built with IAR Embedded Workbench Version: 3.21A
//*******************************************************************

#include  <msp430x14x.h>

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  P1DIR |= 0x01;                            // Set P1.0 to output
direction

  for (;;)
  {
    volatile unsigned int i;

    P1OUT ^= 0x01;                          // Toggle P1.0 using
exclusive-OR

    i = 50000;                              // Delay
    do (i--);
    while (i != 0);
  }
}
Gast #358408
Lesenswert?

Ok, ich probier das mal aus.
Noch ne Frage im Debug Log Fenster erhält man Rückmeldungen beim laden
des Programs. Die letzte Meldung heißt bei mir dann Target Reset. Heißt
das, dass beim laden meines Programms in den Controller dieser direkt
wieder geresetet wird, so dass mein Programm schon gar nicht mehr
läuft, wenn ich messe?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren