Gast
#1675745
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?
|
Anzeige
|
GDB-Stub Eclipse
Gast
#1675745
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? 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)"
Gast
#1675819
Gibt es eine Möglichkeit dass Ganze ohne J-link in Betrib zu nehmen? Ethernet und Serielle Schnitstellen sind auf dem Board vorhanden . 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.
Gast
#1675956
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.
Gast
#1675973
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.
Gast
#1676414
http://bhagwat-masalkar.blogspot.com/2008/05/remote-debugging-for-arm-target-board.html 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
Gast
#1676418
Ich benutze stat der ver. 6.8 7.1
Gast
#1676460
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
Gast
#1676526
Installieren des Paketes ncurses-devel hat das Problem gelößt
Gast
#1676551
$ 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
Gast
#1676622
Lösung:mann muss den Pfade in die .bashrc eintragen und das terminal neu starten
Gast
#1676787
Wie bekomme ich das Ganze jetzt in eclipse ans laufen ? Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|