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


von S. S. (hoagn)


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:

1
#interface
2
interface ft2232
3
ft2232_device_desc "Olimex OpenOCD JTAG A"
4
ft2232_layout "olimex-jtag"
5
ft2232_vid_pid 0x15BA 0x0003
6
jtag_speed 5
7
8
#daemon configuration
9
telnet_port 4444
10
gdb_port 3333 
11
daemon_startup attach
12
13
#use combined on interfaces or targets that can't set TRST/SRST separately
14
reset_config trst_and_srst srst_pulls_trst
15
16
#jtag scan chain
17
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
18
jtag_device 4 0x1 0xf 0xe
19
20
#target configuration
21
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
22
target arm7tdmi little run_and_halt 0
23
daemon_startup reset
24
25
#flash configuration
26
flash bank at91sam7 0 0 0 0 0


Der Programmcode ist einfach:

1
#include <stdio.h>
2
3
int a;
4
5
int main()
6
{
7
  a=5;
8
  return 0;
9
}


und das Makefile:
1
COMPILER=arm-elf-
2
3
COPY=$(COMPILER)objcopy
4
5
OUTFILE=hello
6
7
LDFLAGS+=-Wl,--cref
8
LDFLAGS+=-lc -lgcc
9
ASFLAGS=-D__ASSEMBLY__ -D$(TARGET) -g -mcpu=arm7tdmi -c $(OPTIM) -Wall -I$(INCL)
10
11
all: hello
12
13
hello: main.o
14
  $(COMPILER)gcc $(LDFLAGS) -n -o $(OUTFILE).elf main.o
15
  $(COPY) --strip-debug --strip-unneeded $(OUTFILE).elf -O binary $(OUTFILE).bin
16
17
main.o: main.c 
18
  $(COMPILER)gcc -c -g main.c 
19
20
clean:
21
  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.

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.