www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik GDB-Stub Eclipse


Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte gerne auf einem Arm-91 Sam Board mit darauf aufgespieltm 
linux mit GDB- Stub über Ethernet Debuggen.
Als oberfläche möcht ich Eclipse verwenden.

Wie geht das?

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hier:
http://www.segger.com/cms/jlink-pro.html

Hat Ethernet, Debug über Ethernet also möglich...

Was es für Installationen für Eclipse braucht ist hier beschrieben: 
STM32
Natürlich ohne den OpenOCD. Dafür mit dem Segger GDB Server.

Wie man parametriert ist hier beschrieben:
Beitrag "Re: CortexM3 Startprobleme (YAGARTO+ECLIPSE+J-LINK)"

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es eine Möglichkeit dass Ganze ohne J-link in Betrib zu nehmen? 
Ethernet und Serielle Schnitstellen sind auf dem Board vorhanden .

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die CPU Ethernet hat, dann muss sie laufen um das Ethernet bedienen 
zu können, also kann damit nicht debuggt werden. Denn bei einem 
Breakpoint steht die CPU und nix mehr geht. Also benötigt es ein 
externen JTAG mit Ethernetanschluss.

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auf dem Zielsystem unter Linux laufende Anwendungen auch ohne 
JTAG-Interface debuggen. Z.B. kann die Anwendung "unter Kontrolle" von 
gdbserver auf der Zielhardardware starten. gdbserver stellt einen Port 
zur Verfügung. IP/Name und Port gibt man in der Connections-Einstellung 
einer Ecplipse Debug-Konfiguration an. remote debugging linux Eclipse in 
Suchmaschine der Wahl eingeben hilft, es findet sich einiges. Durchlesen 
der Target Management (TM) Seiten (Startlink auf eclipse.org) wird auch 
nützlich sein.

Autor: NocheinGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du debuggen? Den Linux Kernel, oder eine Applikation?


Markus Müller schrieb:
> Wenn die CPU Ethernet hat, dann muss sie laufen um das Ethernet bedienen
> zu können, also kann damit nicht debuggt werden. Denn bei einem
> Breakpoint steht die CPU und nix mehr geht. Also benötigt es ein
> externen JTAG mit Ethernetanschluss.

Der Linux Kernel oder die Applikation steht aber nicht der GDB Stub und 
die Schnittstelle über welche GDB kommuniziert! Die Schnittstelle wird 
dann normalerweise auch nur für die GDB Kommunikation verwendet.

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://bhagwat-masalkar.blogspot.com/2008/05/remot...

Wenn ich den anweisungen auf dieser Seite folge bricht der Vorgang mit 
Fehlern ab.

if [ x"" != x ]; then \
          gcc -c -DHAVE_CONFIG_H -g -O2  -I. -I./../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic   ./strncmp.c 
-o pic/strncmp.o; \
        else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2  -I. -I./../include  -W -Wall 
-Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  ./strncmp.c 
-o strncmp.o
rm -f ./libiberty.a pic/./libiberty.a
i386-ar rc ./libiberty.a \
          ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o ./sha1.o 
./alloca.o ./argv.o ./choose-temp.o ./concat.o ./cp-demint.o ./crc32.o 
./dyn-string.o ./fdmatch.o ./fibheap.o ./filename_cmp.o ./floatformat.o 
./fnmatch.o ./fopen_unlocked.o ./getopt.o ./getopt1.o ./getpwd.o 
./getruntime.o ./hashtab.o ./hex.o ./lbasename.o ./lrealpath.o 
./make-relative-prefix.o ./make-temp-file.o ./objalloc.o ./obstack.o 
./partition.o ./pexecute.o ./physmem.o ./pex-common.o ./pex-one.o 
./pex-unix.o ./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o 
./strerror.o ./strsignal.o ./unlink-if-ordinary.o ./xatexit.o ./xexit.o 
./xmalloc.o ./xmemdup.o ./xstrdup.o ./xstrerror.o ./xstrndup.o 
./mkstemps.o ./strncmp.o
make[2]: i386-ar: Command not found
make[2]: *** [libiberty.a] Error 127
make[2]: Leaving directory `/root/Download/gdb-7.1/libiberty'
make[1]: *** [all-libiberty] Error 2
make[1]: Leaving directory `/root/Download/gdb-7.1'
make: *** [all] Error 2

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze stat der ver. 6.8 7.1

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK,dassProblem habe ich gelößt
stat
./configure --host=i386 --target=arm-linux --build=i686
     --prefix=/home/<path>/arm-tools/bin/arm-linux-gdb
Das:
./configure --host=i386 --target=arm-linux --build=i386
     --prefix=/home/<path>/arm-tools/bin/arm-linux-gdb

Das neue Problem:
checking for iconv... yes
checking for iconv declaration... install-shextern size_t iconv (iconv_t 
cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t 
*outbytesleft);
checking for library containing waddstr... no
configure: WARNING: no enhanced curses library found; disabling TUI
checking for library containing tgetent... no
configure: error: no termcap library found
make[1]: *** [configure-gdb] Error 1
make[1]: Leaving directory `/root/Download/gdb-7.1'
make: *** [all] Error 2

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Installieren des Paketes ncurses-devel hat das Problem gelößt

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
$ cd gdb-6.8/gdb/gdbserver

    $ export CC=arm-linux-gcc   // if required

    $ export LD=arm-linux-ld    // if required

    $ ./configure --build=i686 --host=arm-linux --target=arm-linux

    $ make

Nach dem ./configure --build=i686 --host=arm-linux --target=arm-linux

dieses Problem

/configure --build=i686 --host=arm-linux --target=arm-linux
checking for arm-linux-gcc... arm-linux-gcc
checking for C compiler default output file name...
configure: error: in `/root/Download/gdb-7.1/gdb/gdbserver':
configure: error: C compiler cannot create executables
See `config.log' for more details.

in der .log steht:

configure:2200: checking for arm-linux-gcc
configure:2227: result: arm-linux-gcc
configure:2496: checking for C compiler version
configure:2505: arm-linux-gcc --version >&5
./configure: line 2507: arm-linux-gcc: command not found
configure:2516: $? = 127
configure:2505: arm-linux-gcc -v >&5
./configure: line 2507: arm-linux-gcc: command not found
configure:2516: $? = 127
configure:2505: arm-linux-gcc -V >&5
./configure: line 2507: arm-linux-gcc: command not found
configure:2516: $? = 127
configure:2505: arm-linux-gcc -qversion >&5
./configure: line 2507: arm-linux-gcc: command not found
configure:2516: $? = 127
configure:2536: checking for C compiler default output file name
configure:2558: arm-linux-gcc    conftest.c  >&5
./configure: line 2560: arm-linux-gcc: command not found
configure:2562: $? = 127
configure:2599: result:
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
"config.log" 207L, 4685C

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lösung:mann muss den Pfade in die .bashrc eintragen und das terminal neu 
starten

Autor: tester (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie bekomme ich das Ganze jetzt in eclipse ans laufen ?

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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