Forum: Mikrocontroller und Digitale Elektronik msp430f2274 kompatibel mit mspgcc4


von Florian K. (kromerf)


Lesenswert?

hallo,
ich habe gemäß der anleitung "MSP430 eclipse helios mspgcc4 gdb-proxy" 
auf

http://www.mikrocontroller.net/articles/MSP430_eclipse_helios_mspgcc4_gdb-proxy#Windows_USB_Treiber_f.C3.BCr_Olimex_JTAG_ISO_installieren

eclipse aufgesetzt. allerdings benutze ich weder den TI MSP-FET430 noch 
den Olimex MSP430-JTAG-ISO, sondern den TI EZ430 USB-Adapter der Chronos 
Uhr. Hat mit dieser kombination jemand erfahrungen?

Das debuggen in eclipse funktioniert nicht. gibt es bei mspgcc4 wie bei 
mspgcc3 die möglichkeit über die kommandozeile zu flashen? (mspgcc3: 
msp-jtag -epv test.elf) (mspgcc4: hier gibt es kein msp-jtag.exe im 
verzeichnis mspgcc4\bin)

ist der verwendete msp430f2274 auch zu mspgcc3 kompatibel?

von ZiZi (Gast)


Lesenswert?

Ist schon ein halbes Jahr her, aber WIMRE hat der GDB Server bei mir mit 
dem
der Uhr beiliegenden USB-Adapter funktioniert.

Flashen muesste über den MSP430-gdb funktionieren (vorausgesetzt, der 
GDB server läuft).

ZiZi

von Christian R. (supachris)


Lesenswert?

msp430-jtag ist im mspgcc 4 nicht drin. Das müsstest du vom 3er nehmen. 
Und dann musst du ja beim Debugger auch das SpyBiWire Kommando nehmen, 
nicht nur das normale USB Kommando. Vielleicht liegts schon daran. Der 
F2274 an sich wird selbst vom 3er schon unterstützt, vom 4er ebenfalls. 
Aber beim mspgcc 4 braucht man den msp430-gdbproxy vom 3er, sonst läuft 
da auch nix.

von Florian K. (kromerf)


Lesenswert?

vielen dank für die antworten. ich bin zwischenzeitlich auf den TI code 
composer essential 4 umgestiegen. funktioniert soweit alles (debuggen) 
einwandfrei. da ich bereits geschriebenen code verwende, der 
mspgcc-headerfiles einbindet gibt es allerdings wieder probleme. zur 
einbindung von mspgcc-headerfiles in code composer gibt es aber 
vermutlich schon einige threads...

@ supachris:
im worst case fall werd ich deinen vorschlag mal ausprobieren

von Christian R. (supachris)


Lesenswert?

Florian Kromer schrieb:
> da ich bereits geschriebenen code verwende, der
> mspgcc-headerfiles einbindet gibt es allerdings wieder probleme

Dafür gibts ja #ifdef Anweisungen. Ich schreib den MSP430 Code immer so, 
dass er mit CCE und GCC kompilierbar ist. Ist eigentlich nur bei den 
ISRs nötig, ansonsten ist ja alles kompatibel.

von Florian K. (kromerf)


Lesenswert?

Christian R. schrieb:
> Dafür gibts ja #ifdef Anweisungen. Ich schreib den MSP430 Code immer so,
> dass er mit CCE und GCC kompilierbar ist.

hast du ne empfehlung für ne quelle, wo man das nachlesen kann? oder 
könntest du ein schematisches beispiel posten?

von Christian R. (supachris)


Lesenswert?

1
#if defined(__GNUC__)  &&  defined(__MSP430__)
2
interrupt (TIMERA0_VECTOR) Timer_A (void)
3
#else
4
#pragma vector=TIMERA0_VECTOR
5
__interrupt void Timer_A (void)
6
#endif
7
{
8
             //ISR Code
9
}

Und natürlich dementsprechend mal an passender Stelle
1
#if defined(__GNUC__)  &&  defined(__MSP430__)
2
  #include <signal.h>
3
#endif

von Lukas K. (carrotindustries)


Lesenswert?

Zum flashen nehm' ich http://mspdebug.sourceforge.net/index.html. Als 
Compiler MSPGCC4 läuft alles prima,  debuggt habe ich damit noch nie, 
weil ich es nicht brauche. Damit entwickle ich meine eigene Firmware für 
die Chronos

von Florian K. (kromerf)


Lesenswert?

@ supachris:
vielen dank für den tipp. muss man den verwendeten compiler dann 
innerhalb des codes noch irgendwie definieren? (bezogen auf die abfrage 
_GNUC_ bzw. _MSP430_) oder wird der compiler automatisch erkannt? 
gibt es in diesem fall auch eine #if defined(...) abfrage für den 
compiler der iar workbench? (falls man standardmäßig den mspgcc oder den 
msp430 verwendet.)

von Christian R. (supachris)


Lesenswert?

Wenn du den MSPGCC verwendest sind die deklariert. Leider kriegt Eclipse 
nichts davon mit, deswegen zeigt der die Code-Blöcke falsch an. Aber 
naja. Für IAR musst du mal in der IAR Doku schauen, aber ist eigentlich 
nicht nötig, da der IAR die gleiche Syntax wie der CCE verwendet. Da 
passt das schon. Wird halt durch den else Zweig mit erschlagen.

von Florian K. (kromerf)


Lesenswert?

super, vielen dank.

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.