Hallo, ich verwende OpenSUSE 42.3, openocd 0.10.0 und einen Atmel ICD Debugger (idVendor=03eb, idProduct=2141) mit Eclipse um einen AT91sam3ax8e von Atmel zu debuggen. Versuche ich das Programm auf den Chip zu flashen und anschließend zu debuggen, gibt mir openocd eine Reihe Meldungen zurück um dann irgendwo vor dem Start des Programms stehen zu bleiben. Starte ich einmalig das AVRStudio (in einer virtuellen Maschine mit Win10) und spiele einen x-beliebigen Code auf den Chip, kann ich im Anschluss (die virtuelle Maschine ist wieder aus) auch mit Eclipse unter Linux alles wunderbar flashen und debuggen, bis ich einen Neustart meines Rechners durchführe. Jetzt würden mich die Einstellungen interessieren, die AVRStudio offenbar vornimmt. Jemand eine Idee? Danke und Grüße Hier meine CFG-Datei
1 | source [find interface/cmsis-dap.cfg] |
2 | |
3 | transport select jtag |
4 | |
5 | set CHIPNAME at91sam3ax8e |
6 | |
7 | source [find target/at91sam3ax_8x.cfg] |
8 | |
9 | $_TARGETNAME configure -event gdb-attach { |
10 | halt |
11 | } |
12 | $_TARGETNAME configure -event gdb-attach { |
13 | reset init |
14 | } |
15 | |
16 | gdb_memory_map enable |
17 | gdb_flash_program enable |
und hier die Rückmeldung beim Debuggen vor der Ausführung von AVRStudi
1 | Open On-Chip Debugger 0.10.0 |
2 | Licensed under GNU GPL v2 |
3 | For bug reports, read |
4 | http://openocd.org/doc/doxygen/bugs.html |
5 | adapter speed: 500 kHz |
6 | adapter_nsrst_delay: 100 |
7 | jtag_ntrst_delay: 100 |
8 | cortex_m reset_config sysresetreq |
9 | Started by GNU MCU Eclipse |
10 | Info : CMSIS-DAP: SWD Supported |
11 | Info : CMSIS-DAP: JTAG Supported |
12 | Info : CMSIS-DAP: Interface Initialised (JTAG) |
13 | Info : CMSIS-DAP: FW Version = 01.21.0076 |
14 | Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1 |
15 | Info : CMSIS-DAP: Interface ready |
16 | Info : clock speed 500 kHz |
17 | Info : cmsis-dap JTAG TLR_RESET |
18 | Info : cmsis-dap JTAG TLR_RESET |
19 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
20 | Info : at91sam3ax8e.cpu: hardware has 6 breakpoints, 4 watchpoints |
21 | Info : accepting 'gdb' connection on tcp/3333 |
22 | Info : cmsis-dap JTAG TLR_RESET |
23 | Info : cmsis-dap JTAG TLR_RESET |
24 | Info : cmsis-dap JTAG TLR_RESET |
25 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
26 | target halted due to debug-request, current mode: Thread |
27 | xPSR: 0x01000000 pc: 0x0010004c msp: 0x20001000 |
28 | Info : cmsis-dap JTAG TLR_RESET |
29 | Info : cmsis-dap JTAG TLR_RESET |
30 | Info : cmsis-dap JTAG TLR_RESET |
31 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
32 | target halted due to debug-request, current mode: Thread |
33 | xPSR: 0x01000000 pc: 0x0010004c msp: 0x20001000 |
34 | semihosting is enabled |
35 | Info : sam3 auto-erases while programming (request ignored) |
36 | Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (4671). Workaround: increase "set remotetimeout" in GDB |
37 | Info : cmsis-dap JTAG TLR_RESET |
38 | Info : cmsis-dap JTAG TLR_RESET |
39 | Info : cmsis-dap JTAG TLR_RESET |
40 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
41 | target halted due to debug-request, current mode: Thread |
42 | xPSR: 0x01000000 pc: 0x0010004c msp: 0x20001000, semihosting |
43 | Info : cmsis-dap JTAG TLR_RESET |
44 | Info : cmsis-dap JTAG TLR_RESET |
45 | Info : cmsis-dap JTAG TLR_RESET |
46 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
47 | target halted due to debug-request, current mode: Thread |
48 | xPSR: 0x01000000 pc: 0x0010004c msp: 0x20001000, semihosting |
49 | ===== arm v7m registers |
50 | (0) r0 (/32): 0x000000FF |
51 | (1) r1 (/32): 0x20000790 |
52 | (2) r2 (/32): 0x200008E5 |
53 | (3) r3 (/32): 0x00000000 |
54 | (4) r4 (/32): 0x2000096C |
55 | (5) r5 (/32): 0x200008E5 |
56 | (6) r6 (/32): 0x00000002 |
57 | (7) r7 (/32): 0x200008E7 |
58 | (8) r8 (/32): 0x2000096C |
59 | (9) r9 (/32): 0x05040001 |
60 | (10) r10 (/32): 0x71200440 |
61 | (11) r11 (/32): 0x0021411A |
62 | (12) r12 (/32): 0x00000000 |
63 | (13) sp (/32): 0x20001000 |
64 | (14) lr (/32): 0xFFFFFFFF |
65 | (15) pc (/32): 0x0010004C |
66 | (16) xPSR (/32): 0x01000000 |
67 | (17) msp (/32): 0x20001000 |
68 | (18) psp (/32): 0x49210920 |
69 | (19) primask (/1): 0x00 |
70 | (20) basepri (/8): 0x00 |
71 | (21) faultmask (/1): 0x00 |
72 | (22) control (/2): 0x00 |
73 | ===== Cortex-M DWT registers |
74 | (23) dwt_ctrl (/32) |
75 | (24) dwt_cyccnt (/32) |
76 | (25) dwt_0_comp (/32) |
77 | (26) dwt_0_mask (/4) |
78 | (27) dwt_0_function (/32) |
79 | (28) dwt_1_comp (/32) |
80 | (29) dwt_1_mask (/4) |
81 | (30) dwt_1_function (/32) |
82 | (31) dwt_2_comp (/32) |
83 | (32) dwt_2_mask (/4) |
84 | (33) dwt_2_function (/32) |
85 | (34) dwt_3_comp (/32) |
86 | (35) dwt_3_mask (/4) |
87 | (36) dwt_3_function (/32) |
88 | Info : DAP transaction stalled (WAIT) - slowing down |
und hier danach
1 | Open On-Chip Debugger 0.10.0 |
2 | Licensed under GNU GPL v2 |
3 | For bug reports, read |
4 | http://openocd.org/doc/doxygen/bugs.html |
5 | adapter speed: 500 kHz |
6 | adapter_nsrst_delay: 100 |
7 | jtag_ntrst_delay: 100 |
8 | cortex_m reset_config sysresetreq |
9 | Started by GNU MCU Eclipse |
10 | Info : CMSIS-DAP: SWD Supported |
11 | Info : CMSIS-DAP: JTAG Supported |
12 | Info : CMSIS-DAP: Interface Initialised (JTAG) |
13 | Info : CMSIS-DAP: FW Version = 01.21.0076 |
14 | Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1 |
15 | Info : CMSIS-DAP: Interface ready |
16 | Info : clock speed 500 kHz |
17 | Info : cmsis-dap JTAG TLR_RESET |
18 | Info : cmsis-dap JTAG TLR_RESET |
19 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
20 | Info : at91sam3ax8e.cpu: hardware has 6 breakpoints, 4 watchpoints |
21 | Info : accepting 'gdb' connection on tcp/3333 |
22 | Info : cmsis-dap JTAG TLR_RESET |
23 | Info : cmsis-dap JTAG TLR_RESET |
24 | Info : cmsis-dap JTAG TLR_RESET |
25 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
26 | target halted due to debug-request, current mode: Thread |
27 | xPSR: 0x01000000 pc: 0x00080154 msp: 0x20000850 |
28 | Info : cmsis-dap JTAG TLR_RESET |
29 | Info : cmsis-dap JTAG TLR_RESET |
30 | Info : cmsis-dap JTAG TLR_RESET |
31 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
32 | target halted due to debug-request, current mode: Thread |
33 | xPSR: 0x01000000 pc: 0x00080154 msp: 0x20000850 |
34 | semihosting is enabled |
35 | Info : sam3 auto-erases while programming (request ignored) |
36 | Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (4663). Workaround: increase "set remotetimeout" in GDB |
37 | Info : cmsis-dap JTAG TLR_RESET |
38 | Info : cmsis-dap JTAG TLR_RESET |
39 | Info : cmsis-dap JTAG TLR_RESET |
40 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
41 | target halted due to debug-request, current mode: Thread |
42 | xPSR: 0x01000000 pc: 0x00080164 msp: 0x20000f10, semihosting |
43 | Info : cmsis-dap JTAG TLR_RESET |
44 | Info : cmsis-dap JTAG TLR_RESET |
45 | Info : cmsis-dap JTAG TLR_RESET |
46 | Info : JTAG tap: at91sam3ax8e.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4) |
47 | target halted due to debug-request, current mode: Thread |
48 | xPSR: 0x01000000 pc: 0x00080164 msp: 0x20000f10, semihosting |
49 | ===== arm v7m registers |
50 | (0) r0 (/32): 0x00080420 |
51 | (1) r1 (/32): 0x00000000 |
52 | (2) r2 (/32): 0x400E0E00 |
53 | (3) r3 (/32): 0x0000FFFF |
54 | (4) r4 (/32): 0x00000000 |
55 | (5) r5 (/32): 0x80000000 |
56 | (6) r6 (/32): 0x20000704 |
57 | (7) r7 (/32): 0x00100000 |
58 | (8) r8 (/32): 0x00000100 |
59 | (9) r9 (/32): 0x05040001 |
60 | (10) r10 (/32): 0x20000004 |
61 | (11) r11 (/32): 0x00000001 |
62 | (12) r12 (/32): 0x20000800 |
63 | (13) sp (/32): 0x20000F10 |
64 | (14) lr (/32): 0xFFFFFFFF |
65 | (15) pc (/32): 0x00080164 |
66 | (16) xPSR (/32): 0x01000000 |
67 | (17) msp (/32): 0x20000F10 |
68 | (18) psp (/32): 0x49210920 |
69 | (19) primask (/1): 0x00 |
70 | (20) basepri (/8): 0x00 |
71 | (21) faultmask (/1): 0x00 |
72 | (22) control (/2): 0x00 |
73 | ===== Cortex-M DWT registers |
74 | (23) dwt_ctrl (/32) |
75 | (24) dwt_cyccnt (/32) |
76 | (25) dwt_0_comp (/32) |
77 | (26) dwt_0_mask (/4) |
78 | (27) dwt_0_function (/32) |
79 | (28) dwt_1_comp (/32) |
80 | (29) dwt_1_mask (/4) |
81 | (30) dwt_1_function (/32) |
82 | (31) dwt_2_comp (/32) |
83 | (32) dwt_2_mask (/4) |
84 | (33) dwt_2_function (/32) |
85 | (34) dwt_3_comp (/32) |
86 | (35) dwt_3_mask (/4) |
87 | (36) dwt_3_function (/32) |