Hi,
ich habe vor, einen ATmel SAM3S Cortex M3 mit Openocd zu debuggen und zu
programmieren. Ziel soll es sein, das Board nicht mit SAM-BA
programmieren zu müssen. Damit das geflashte Programm läuft, muss das
Flag GPNVM1 gesetzt sein.
Wenn es nicht gesetzt ist, kann ich das Programm über OpenOCD laden und
ohne Probleme debuggen.
Ist es gesetzt, kann ich den Chip zwar flashen, aber der Debugger hängt
sofort im Hardfault-handler. Nach einem Reset durch Power Off/On und
ohne dass GDB auf den Chip will, startet das neu geflashte Programm ohne
Probleme.
1 | target remote localhost:3333
|
2 | 0x004033d4 in ResetException () at lowlevel/board_cstartup_gnu.c:137
|
3 | 137 LowLevelInit() ;
|
4 | monitor sleep 500
|
5 | monitor halt
|
6 | monitor poll
|
7 | monitor gdb_breakpoint_override soft
|
8 | set mem inaccessible-by-default off
|
9 | tbreak main
|
10 | Temporary breakpoint 1 at 0x401186: file main.c, line 230.
|
11 | continue
|
12 | Note: automatically using hardware breakpoints for read-only addresses.
|
13 |
|
14 | Program received signal SIGINT, Interrupt.
|
15 | 0x0040373a in HardFault_Handler () at libraries/libchip_sam3s/source/exceptions.c:112
|
16 | 112 __asm volatile
|
Hat jemand eine Idee, was ich tun kann, damit ich auch ein aus dem Flash
startendes Programm debuggen kann?
Mit freundlichen Grüßen,
Arne