Forum: Mikrocontroller und Digitale Elektronik Wie MSP430 unter Eclipse flashen?


von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Hallo zusammen,

blöde Frage, aber wie bekomme ich mein Programm in mein MSPF149
geflasht? Ich verwende Eclipse mit MSPGCC. Debuggen geht, nur wie ich
flashe weiß ich nicht. Muss der 32kHz-Oszillator eingelötet sein? Auf
dem Olimex-Board ist nämlich bislang keiner drauf (Nicht das es daran
liegt und ich es beim Debuggen mit dem Single-Stepping nicht
auffällt.).

Gruß
Christoph

von Jörg S. (Gast)


Lesenswert?

Wenn du den 32kHz Quarz nicht benutzt, muss der auch nicht drauf sein.

von SupaChris (Gast)


Lesenswert?

Bist du nach der Anleitung von Andreas Ackermann vorgegangen?

Wenn in deiner gdb-init Datei

monitor erase
load DeinProgramm.elf

steht, wird der MSP bei jedem Debug-Start geflasht. Lässt sich auch in
der GDB-Proxy Konsole nachlesen. MSP430_Memory(write) müsste da
mehrmals auftauchen.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Ja, die Anleitung habe ich benutzt. Dann würde mein gdb-init-File jetzt
so aussehen:

target remote localhost:3333
set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase
load main.elf
load Debug\Test2

Nur wenn ich jetzt auf Compilieren gehe, funktioniert das nicht mehr
und ich bekomme folgende Fehlermeldung:

**** Full rebuild of configuration Debug for project Test2 ****

make -k clean all
rm -rf  ./main.o  ./main.d Test2
rm: cannot remove `Test2': Permission denied
make: [clean] Error 1 (ignored)

Building file: ../main.c
Invoking: mspgcc GCC C Compiler
msp430-gcc -IC:/MSPGCC/msp430/include -O3 -g3 -Wall -c
-fmessage-length=0 -mmcu=msp430x149 -omain.o ../main.c
Finished building: ../main.c

Building target: Test2
Invoking: mspgcc GCC C Linker
msp430-gcc -mmcu=msp430x149 -oTest2 ./main.o
msp430-ld: cannot open output file Test2: Permission denied
make: *** [Test2] Error 1
make: Target `all' not remade because of errors.
Build complete for project Test2

Dementsprechend kann ich auch nicht mehr debuggen.

Was mache ich noch falsch? Irgendwie war der AVR-Einstieg einfacher...
;-)

Gruß
Christoph

von SupaChris (Gast)


Lesenswert?

Öööhm, wieso 2 mal Load? Du hast doch nur ein .elf File, was der
Kompiler erzeugt, und das heißt in der Regel so, wie dein Projekt. Kann
man in den projektoptionen Einstellen. Ist doch eigentlich ganz einfach,
bei mir ging das auf Anhieb. Also 2 mal Load ist definitiv falsch, da
kommt ja nur Grütz raus.

von Keks (Gast)


Lesenswert?

Warum benutzt du msp430-gdb und msp430-gdbproxy zu flashen? Das ist doch
sooo laaangsaaam. Wenn du nicht gerade debuggen möchtest, benutz lieber
msp430-jtag.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Sorry, mein Fehler das mit den zwei load. Hatte ich übersehen.

Meine gdb-init-Datei sieht nun folgenderweise aus:

target remote localhost:3333
set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase
load test.elf

Nur stehe ich momentan ziemlich auf dem Schlauch, ich habe scheinbar
keine .elf-Datei. Woran kann das liegen bzw. wo speichert Eclipse die
ab? Im Projektverzeichnis ist nichts. Sorry, wenn ich mich etwas dumm
anstelle, nur weiß ich momentan wirklich nicht weiter.

von SupaChris (Gast)


Lesenswert?

Zum endgültigen Flashen sicher richtig. Aber bei mir ist das nur minimal
langsamer. Und da er Eclipse benutzt, nehm ich einfach mal an, dass er
beim Debuggen ist.

von SupaChris (Gast)


Lesenswert?

Standardmäßig ist da keine Endung für die Datei eingestellt. Hast du
überhaupt beim Projekt erstellen eingestellt, dass du EFL Binary machen
willst? Dann kannst du bei Project Properties -> C/C++ Build -> Build
Setting -> Build Output einstellen, wie die elf datei heißen soll, und
welche Endung sie haben soll.
Steht dann im Debug oder Release Ordner, je nachdem.

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

ELF-Binary hatte ich beim Projekt erstellen eingestellt. Die Endung habe
ich wie du beschrieben hast angehängt. Nur bekomme ich jetzt folgende
Fehlermeldung und immer noch kein .elf-File:

**** Full rebuild of configuration Debug for project Test ****

make -k clean all
rm -rf  ./test.o  ./test.d test.elf

make: *** No rule to make target `test.elf', needed by `all'.
make: Target `all' not remade because of errors.
Build complete for project Test

von SupaChris (Gast)


Lesenswert?

Hmm...wieso nimst du kein managed make Projekt? So müsstest du dir jetzt
noch ein passendes Makefile schreiben.

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.