mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: D a v i d K. (oekel)
Datum:

Bewertung
-1 lesenswert
nicht 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
#####  Generating a gdb initialisation file    #####
##### Use by launching simulavr and avr-gdb:   #####
#####   avr-gdb -x gdbinit-myproject           #####
gdbinit: $(GDBINITFILE)

$(GDBINITFILE): $(TRG)
        @echo "file $(TRG)" > $(GDBINITFILE)

        @echo "target remote localhost:1212" \
                                >> $(GDBINITFILE)

        @echo "load"        >> $(GDBINITFILE) 
        @echo "break main"  >> $(GDBINITFILE)
        @echo "continue"    >> $(GDBINITFILE)
        @echo
        @echo "Use 'avr-gdb -x $(GDBINITFILE)'"

Grüße David

Autor: M.K. B. (mkbit)
Datum:

Bewertung
1 lesenswert
nicht lesenswert

Autor: D a v i d K. (oekel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#
    # Create .gdbinit file for GDB support
    # It is placed in the same directory as the elf executable
    #
    SET(GBININTFILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/.gdbinit)

    file(WRITE ${GBININTFILE} "file ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_PROJECT_NAME}.elf\n")
    file(APPEND ${GBININTFILE} "target remote localhost:1212\n")
    file(APPEND ${GBININTFILE} "load\n")
    file(APPEND ${GBININTFILE} "break main\n")
    file(APPEND ${GBININTFILE} "continue\n")

    message("Use 'avr-gdb -x ${GBININTFILE}'")

Passt das so?
file /home/***/CLionProjects/ClionProject_Test/bin/Test2_9.elf
target remote localhost:1212
load
break main
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
Autor: M.K. B. (mkbit)
Datum:

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

Autor: D a v i d K. (oekel)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: D a v i d K. (oekel)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
da ich die build-verzeichnis für Clion nicht finde/definiert bekomme 
habe ich nun mein home-Verzeichnis (zum Testen) genommen:
Warnung: unrecognized item "timeout" in "qSupported" response
Ignoring packet error, continuing...
/home/***/.gdbinit:2: Error in sourced command file:
Remote replied unexpectedly to 'vMustReplyEmpty': timeout
Keine Zeile 51 in Datei »/home/***/CLionProjects/Test/controlSystem/temperature.c«.
Keine Zeile 14 in Datei »/home/***/CLionProjects/Test/output/displays.h«.
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.