Hallo, ich habe einen MSP430FR5739 und schaffe es nicht eine LED zum Blinken zu bringen, bzw gemäß Oszi bleibt der Port auf low. Genauer gesagt, es es ein Board von OLIMEX MSP430-HFR5739. Als Programmieradapter habe ich von OLIMEX den JTAG-TINY-V2. Als das Board angeschlossen wurde war ein Programm geladen. Wurde Taste 1 betätigt leuchtete LED 1. Wurde Taste 2 betätigt ging LED 1 aus und LED 2 blinkte eine kurze Zeit. Alles klar. Mit dem IAR 6.4 funktionierte soweit alles, das Programm wurde compiliert und geladen, ich konnte debuggen. Die Register zeigten die richtigen Werte. Anbei der Source. #include <msp430.h> int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P2DIR |= BIT7; //Bit7 als Ausgang P2OUT |= BIT7; //Bit7 ist high while(1) { P2OUT ^= BIT7; __delay_cycles(100000); } } Die LEDs sind an P2.7 und P3.7 angeschlossen. Ich habe auch den Port P1.0 mal getestet. Es ist überall das gleiche Verhalten. Das Register P2DIR7 wird auf 1 gesetzt, P2OUT7 wechselt in der Schleife den Wert von 1 auf 0 und umgekehrt. Am Pin des Ports ist jeweils 0V. Leider hat sich OLIMEX bei diesem Board etwas zurückgehalten. Es werden keine Demos oder gar ein User Guide angeboten. Es wäre ja schön gewesen mal den Code, der geladen war, zu sehen. Vor einiger Zeit habe ich mit einem CC4305137 mit einer blinkenden LED keine Probleme gehabt. Eigentlich ist es ja auch lächerlich. Nur, mir fällt zur Zeit nichts ein. mfg klaus
:
Bearbeitet durch User
Klaus R. schrieb: > Die LEDs sind an P2.7 und P3.7 angeschlossen. Mit Vorwiderstand? Sonst -> Port kaputt. und: WDTCTL = WDTPW | WDTHOLD; ist besser als "+" Und dann: wie schnell ist denn dein Systemtakt? 100000 cycles können unsichtbar schnell rum sein...
:
Bearbeitet durch User
Joe F. schrieb: > Klaus R. schrieb: >> Die LEDs sind an P2.7 und P3.7 angeschlossen. > > Mit Vorwiderstand? Sonst -> Port kaputt. Ja klar. Die LEDs werden über einen Vorwiderstand angesteuert. Das Board kommt ja von OLIMEX. Und ich selber kenne mich auch damit ein wenig aus. Das der Port oder die Ports defekt sind glaube ich auch nicht. Ich hatte ja nach dem erfolgreichen Test des geladenen, mir unbekannten Programms sofort mit der Programmierung begonnen. Zu dem habe ich noch ein zweites Board. Das zeigte das gleiche Verhalten. Der Oszi kam erst später dazu. Alles auf einer Arbeitsfläche mit ESD-Schutz. Die Frage wäre, sind die MSP430FRxxx in Sachen IO-Ports unterschiedlich zu den MSP430Fxxxx - Typen? Im Datenblatt und den TI-Demos konnte ich nichts erkennen. mfg klaus
Klaus R. schrieb: > sind die MSP430FRxxx in Sachen IO-Ports unterschiedlich > zu den MSP430Fxxxx - Typen? Eigentlich nur bei der genauen Pinbelegung. Und natürlich LOCKLPM5, das du vergessen hast. Aber zu den FR57xx gibt es ein User's Guide und Beispielprogramme, also brauchst du dich um Fxxx gar nicht kümmern.
:
Bearbeitet durch User
Hallo Klaus, schau noch mal in das Fammily User Guide bzw Datasheet. Hab grad keines zur hand, aber ich hab mir da auch ein wenig zeit mit vergeudet. Die FR modelle haben ein PORT lock register welches jegliche IO änderung verhindert. hier was ich mache in den ersten zeilen von main() an einem MSPFR5969 <snip> P2SEL1 |= BIT0 | BIT1; // USCI_A0 UART operation P2SEL0 &= ~(BIT0 | BIT1); P2SEL1 |= BIT5 | BIT6; // eUSCSI_A1 P2.5 & P2.6 P2SEL0 &= ~(BIT5 | BIT6); // Disable the GPIO power-on default high-impedance mode to activate // previously configured port settings PM5CTL0 &= ~LOCKLPM5; <snap> vielleich hilft das. mfG Peter
Vielen Dank an euch beide. PM5CTL0 &= ~LOCKLPM5; löst das Problem leider nicht. Peter C. schrieb: > Die FR modelle haben ein PORT lock register welches jegliche IO änderung > verhindert. Dieses Lock-Register habe ich noch nicht entdeckt. Was ich gefunden habe ist ein Schutz in Verbindung mit JTAG. "The JTAG security lock key resides at the end of the bootloader(BSL)memory at addresses..." http://www.ti.com/lit/ug/slau320x/slau320x.pdf Ich hoffe ich komme mit dem Lock-Register für IOs weiter. Ich habe mal alle P1 - Ports abwechselnd auf low und high gesetzt. Es sieht nicht gut aus. P1.0 - P1.5 sind immer low, P1.6 und P1.7 sind immer high. ########################### Habe gerade entdeckt das ich die ganze Zeit beim IAR im Debugg-Mode den Simulator verwendet habe. Gewöhnlich arbeite ich mit dem CCS6. Es gab aber mal ein Fall da kam ich nur mit dem IAR weiter. Mein erster Versuch lief unter dem CCS6 und konnte den Code nicht auf das Device laden. Der IAR meckerte nicht und deshalb habe ich das Ladeproblem nicht weiter verfolgt. Das IAR - Log sieht wie folgt aus: Thu Aug 25, 2016 22:23:02: Using license: Standalone license - IAR Embedded Workbench for Texas Instruments MSP430, 8K KickStart Edition 6.40 Thu Aug 25, 2016 22:23:02: Firmware version 2.0.0.7 Thu Aug 25, 2016 22:23:02: Interface dll version 2.0.0.7 Thu Aug 25, 2016 22:23:03: Device : MSP430FR5739 Thu Aug 25, 2016 22:23:03: External voltage : 0.0 V Thu Aug 25, 2016 22:23:03: VCC voltage : 0.0 V Thu Aug 25, 2016 22:23:05: Failed to get device Thu Aug 25, 2016 22:23:06: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:08: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:10: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:12: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:14: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:17: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:19: Could not write device memory : (WriteMemory) , address=0xc200, buffer=1@, count=0xa0 Thu Aug 25, 2016 22:23:19: Trying to initialize target failed Thu Aug 25, 2016 22:23:25: Fatal error: Closing debug session Session aborted! Thu Aug 25, 2016 22:23:25: Failed to load debugee: H:\Entwicklung\IAR Workbench\Workbench_6_4\MSP430FR57x Demo - Toggle LED\Debug\Exe\Demo_Toggle LED.d43 Das Board wird vom JTAG mit ca. 3,04 V gespeist. Das von OLIMEX geladene Programm lief ja auch. Thu Aug 25, 2016 22:23:03: External voltage : 0.0 V Ist klar, ich habe nichts eingespeist. Thu Aug 25, 2016 22:23:03: VCC voltage : 0.0 V Welche dies ist ist mir unklar. Das Board hatte 3,04V, was ja auch reicht. Thu Aug 25, 2016 22:23:05: Failed to get device In den Options ist unter Debugger zwischen FET Debugger und Simulator zu wählen. Gewählt ist der FET Debugger. Unter FET-Debugger ist Connection auf Olimex USB und Automatic eingestellt. (läuft nicht) Das Ändern von Automatic auf TNV2 0000000 brachte auch keine Änderung. Man sie das der JTAG angesprochen wird. Neben der grünen LED abeitet auch die rote LED. Bis morgen! KLaus
Klaus R. schrieb: > Als Programmieradapter habe ich von OLIMEX den JTAG-TINY-V2. Bist Du Dir sicher, daß der überhaupt den 'FR5739 unterstützt? Seitdem TI die eigenen Programmieradapter praktisch verschenkt, sehe ich keinen Grund mehr, die Olimex-Klone mit ihren frickeligen Installationsprozeduren zu verwenden. Für den 'FR5739 gibt es von TI ein "Experimenter Board", auf dem ein passender SBW-Adapter verbraut ist: http://www.ti.com/tool/msp-exp430fr5739
Klaus R. schrieb: > PM5CTL0 &= ~LOCKLPM5; löst das Problem leider nicht. > > Peter C. schrieb: >> Die FR modelle haben ein PORT lock register welches jegliche IO änderung >> verhindert. > > Dieses Lock-Register habe ich noch nicht entdeckt. Doch, hast du. :-) > Was ich gefunden habe ist ein Schutz in Verbindung mit JTAG. Wenn du damit herumspielst, bist du möglicherweise erfolgreich und sperrst dich aus. > Failed to load debugee Und da ist das Problem. Rufus Τ. F. schrieb: > Bist Du Dir sicher, daß der überhaupt den 'FR5739 unterstützt? Ist in der Liste von Olimex.
Clemens L. schrieb: > Rufus Τ. F. schrieb: >> Bist Du Dir sicher, daß der überhaupt den 'FR5739 unterstützt? > > Ist in der Liste von Olimex. Die Liste war mir auch bekannt. Danach hatte ich vor dem Kauf des MSP430-HFR5739 schon geschaut. Ich werde gleich den JTAG mit mit dem MSP430-CCRF testen und schauen ob das Board noch ansprechbar ist. Der JTAG von OLIMEX soll ja auch etwas empfindlich sein mfg klaus
Hallo, der MSP430-CCRF, ein OLIMEX-Board mit dem CC430F5137 läuft erwartungsgemäß (unter dem IAR 6.4 gestestet). Das Board läßt sich programmieren und läuft dann mit dem veränderten Code. Clemens L. schrieb: > Wenn du damit herumspielst, bist du möglicherweise erfolgreich und > sperrst dich aus. Gespielt habe ich nicht gerade. Es wurde nur der simple LED-Blinking Programm versucht zu laden. Also doch das Port-Lock Register? Dagegen spricht ja eigentlich, das der ursprünglich, von OLIMEX geladene Source, nicht mehr läuft. So wie ich das verstehe, sollte ja gerade der Port-Lock den JTAG sperren, um den Code zu sichern. mfg klaus
Klaus R. schrieb: > So wie ich das verstehe, sollte ja gerade der Port-Lock den JTAG sperren Portlock != JTAG-Fuse. Zwei unterschiedliche Baustellen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.