Forum: Mikrocontroller und Digitale Elektronik Cmake create .gbinit on the fly


von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Hi,

kurz und schmerzlos:
Mir fehlen die richtigen Kommandos für Cmake.
Könnt ihr mir helfen das folgende make Umzuschreiben?
Quelle: 
https://wiki.vandenbussche.nl/index.php?title=Universal_AVR_Makefile
1
#####  Generating a gdb initialisation file    #####
2
##### Use by launching simulavr and avr-gdb:   #####
3
#####   avr-gdb -x gdbinit-myproject           #####
4
gdbinit: $(GDBINITFILE)
5
6
$(GDBINITFILE): $(TRG)
7
        @echo "file $(TRG)" > $(GDBINITFILE)
8
9
        @echo "target remote localhost:1212" \
10
                                >> $(GDBINITFILE)
11
12
        @echo "load"        >> $(GDBINITFILE) 
13
        @echo "break main"  >> $(GDBINITFILE)
14
        @echo "continue"    >> $(GDBINITFILE)
15
        @echo
16
        @echo "Use 'avr-gdb -x $(GDBINITFILE)'"

Grüße David

von M.K. B. (mkbit)


Lesenswert?


von D a v i d K. (oekel) Benutzerseite


Lesenswert?

1
#
2
    # Create .gdbinit file for GDB support
3
    # It is placed in the same directory as the elf executable
4
    #
5
    SET(GBININTFILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/.gdbinit)
6
7
    file(WRITE ${GBININTFILE} "file ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_PROJECT_NAME}.elf\n")
8
    file(APPEND ${GBININTFILE} "target remote localhost:1212\n")
9
    file(APPEND ${GBININTFILE} "load\n")
10
    file(APPEND ${GBININTFILE} "break main\n")
11
    file(APPEND ${GBININTFILE} "continue\n")
12
13
    message("Use 'avr-gdb -x ${GBININTFILE}'")

Passt das so?
1
file /home/***/CLionProjects/ClionProject_Test/bin/Test2_9.elf
2
target remote localhost:1212
3
load
4
break main
5
continue

Ich vermute ja mal, dass CMAKE_RUNTIME_OUTPUT_DIRECTORY der falsche Pfad 
ist!?!? Zumindest nimmt sich gdb der Configuration nicht an...

Grüße David

von M.K. B. (mkbit)


Lesenswert?

Warum schreibst du nicht einfach alles in einem Write? Dann kannst du 
dir die ganzen Appends sparen

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

M.K. B. schrieb:
> Warum schreibst du nicht einfach alles in einem Write? Dann kannst du
> dir die ganzen Appends sparen

Leserlicher?
In jedem Fall brauche ich noch die richtige Stelle für die Datei, damit 
es greift ;)

von D a v i d K. (oekel) Benutzerseite


Angehängte Dateien:

Lesenswert?

da ich die build-verzeichnis für Clion nicht finde/definiert bekomme 
habe ich nun mein home-Verzeichnis (zum Testen) genommen:
1
Warnung: unrecognized item "timeout" in "qSupported" response
2
Ignoring packet error, continuing...
3
/home/***/.gdbinit:2: Error in sourced command file:
4
Remote replied unexpectedly to 'vMustReplyEmpty': timeout
5
Keine Zeile 51 in Datei »/home/***/CLionProjects/Test/controlSystem/temperature.c«.
6
Keine Zeile 14 in Datei »/home/***/CLionProjects/Test/output/displays.h«.
7
Es ist keine Symboltabelle geladen. Benutzen Sie den »file«-Befehl.

compiliere ich noch falsch? Oder ist es "nur" meine avr-gdb config?

Wenn ich es mit "target sim" statt remote probiere erhalte ich den 
Fehler im Anhang :(

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.