mikrocontroller.net

Forum: Compiler & IDEs Probleme mit AT91SAM7 mit GnuArm und OpenOCD


Autor: S. S-punkt (hoagn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wollte ein einfach Startprogramm auf einem AT91SAM7SE256 auführen 
lassen. Dabei benutze ich Eclipse, als Debugger arm-elf-gdb und als 
external tool OpenOCD. Für die verbindung benutze ich das ARM-USB-OCD 
Kabel von Olimex. Die Toolchain äuft unter windows 7, 64 bit version.

Das config-file sieht folgendermasen aus:

#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_speed 5

#daemon configuration
telnet_port 4444
gdb_port 3333 
daemon_startup attach

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst

#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe

#target configuration
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
target arm7tdmi little run_and_halt 0
daemon_startup reset

#flash configuration
flash bank at91sam7 0 0 0 0 0


Der Programmcode ist einfach:

#include <stdio.h>

int a;

int main()
{
  a=5;
  return 0;
}


und das Makefile:
COMPILER=arm-elf-

COPY=$(COMPILER)objcopy

OUTFILE=hello

LDFLAGS+=-Wl,--cref
LDFLAGS+=-lc -lgcc
ASFLAGS=-D__ASSEMBLY__ -D$(TARGET) -g -mcpu=arm7tdmi -c $(OPTIM) -Wall -I$(INCL)

all: hello

hello: main.o
  $(COMPILER)gcc $(LDFLAGS) -n -o $(OUTFILE).elf main.o
  $(COPY) --strip-debug --strip-unneeded $(OUTFILE).elf -O binary $(OUTFILE).bin

main.o: main.c 
  $(COMPILER)gcc -c -g main.c 

clean:
  del /F *.o *.bin *.elf *.map


Bei Initialize hab ich :

target remote localhost:3333

Bei run:

monitor reset 1
load
continue


Nun ergibt sich das ausführen des debuggers und external tools 
folgendes:


target remote localhost:3333
0x0010d2d0 in ?? ()
monitor reset 1
usage: reset ['run', 'halt', 'init', 'run_and_halt', 'run_and_init]
load
`C:\Studium\Eclipse_Projects\HalloWeltSE256\hello.elf' has changed; 
re-reading symbols.
Loading section .init, size 0x20 lma 0x8000
Loading section .text, size 0x220c lma 0x8020
Loading section .fini, size 0x1c lma 0xa22c
Loading section .rodata, size 0xc lma 0xa248
Loading section .eh_frame, size 0x4 lma 0xa254
Loading section .ctors, size 0x8 lma 0xa358
Loading section .dtors, size 0x8 lma 0xa360
Loading section .jcr, size 0x4 lma 0xa368
Loading section .data, size 0x934 lma 0xa36c
Start address 0x8100, load size 11168
Transfer rate: 12 KB/sec, 259 bytes/write.
continue


Was bedeutet das 0x0010d2d0 in ?? ()?

Für Hilfe wär ich seh dankbar, da ich noch nicht so wirklich in der 
sache drin stecke.

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.