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

: Bearbeitet durch User
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 :(

: Bearbeitet durch User
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.