Hi zusammen,
seit einiger Zeit versuche ich, einen STM32F103 (ARM CortexM3) mit
Freeware Tools, genauer gesagt mit YaGATo(arm-elf-gcc) + OpenOCD +
Eclipse.
Hat damit irgendjemand Erfahrung bzw. weiß, ob das so überhaupt ohne
Weiteres möglich ist?
Mein Problem ist, dass OpenOCD beim Flashen Fehlermeldungen ausgibt, mit
denen ich nicht so recht etwas anfangen kann. Leider habe ich von OOCD
auch bisher nicht viel Ahnung.
1 | 500 kHz
|
2 | Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (Manufacturer: 0x23b, Pa
|
3 | rt: 0xba00, Version: 0x3)
|
4 | Info : JTAG Tap/device matched
|
5 | Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (Manufacturer: 0x020, Par
|
6 | t: 0x6410, Version: 0x1)
|
7 | Info : JTAG Tap/device matched
|
8 | Info : accepting 'gdb' connection from 0
|
9 | Warn : target was in unknown state when halt was requested
|
10 | Warn : acknowledgment received, but no packet pending
|
11 | Info : device id = 0x20036410
|
12 | Info : flash size = 128kbytes
|
13 | Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (Manufacturer: 0x23b, Pa
|
14 | rt: 0xba00, Version: 0x3)
|
15 | Info : JTAG Tap/device matched
|
16 | Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (Manufacturer: 0x020, Par
|
17 | t: 0x6410, Version: 0x1)
|
18 | Info : JTAG Tap/device matched
|
19 | target state: halted
|
20 | target halted due to debug-request, current mode: Handler HardFault
|
21 | xPSR: 0x01000003 pc: 0xfffffffe
|
22 | Error: AHBAP Cached values: dp_select 0x0, ap_csw 0xa2000012, ap_tar 0xffffffff
|
23 | Error: SWJ-DP STICKY ERROR
|
24 | Error: Read MEM_AP_CSW 0x23000052, MEM_AP_TAR 0x4
|
25 | Error: AHBAP Cached values: dp_select 0x0, ap_csw 0xa2000012, ap_tar 0xffffffff
|
26 | Error: SWJ-DP STICKY ERROR
|
27 | Error: Read MEM_AP_CSW 0x23000052, MEM_AP_TAR 0x4
|
28 | Warn : Block write error address 0x0, wcount 0x10
|
29 | Error: unexpected error -107
|
GDB sagt dabei bloß:
1 | monitor sleep 500
|
2 | load
|
3 | Loading section .text, size 0x40 lma 0x0
|
4 | Load failed
|
5 | continue
|
Das OpenOCD Script habe ich einfach aus dem Interface- (Olimex
ARM-USB-OCD) und dem STM32-Teil der vorgefertigten OpcenOCD Skriptstücke
zusammenkopiert.
Mein GDB Init Code ist auch eher unspektakulär:
1 | target remote localhost:3333
|
2 | monitor reset init
|
3 | monitor sleep 500
|
4 | load
|
5 | break main
|
6 | continue
|
Sieht jemand auf Anhieb nen Fehler (wie gesagt, hab leider noch nicht so
viel Ahnung von der Matiere)?
Danke schonmal!
Gruß
Flo