Debugging - Problem STM32 - Eclipse

OP #2704898
Lesenswert?

Hallo,

ich versuche OpenOCD  Eclipse  sourcery zum Laufen zu bringen. Das 
Programm scheint irgendwie im Reset_Handler hängen zu bleiben. Hier ein 
Ausschnitt aus dem Diassembly:
1
197         for (p= (char *) &_ebss; p< (char *) &_estack; p++) {
2
08002f6a:   movw r3, #900   ; 0x384
3
08002f6e:   movt r3, #8192  ; 0x2000
4
08002f72:   str r3, [r7, #4]
5
08002f74:   b.n 0x8002f86 <Reset_Handler+34>
6
198           *p = 0;
7
08002f76:   ldr r3, [r7, #4]
8
08002f78:   mov.w r2, #0
9
08002f7c:   strb r2, [r3, #0]
10
197         for (p= (char *) &_ebss; p< (char *) &_estack; p++) {
11
08002f7e:   ldr r3, [r7, #4]
12
08002f80:   add.w r3, r3, #1
13
08002f84:   str r3, [r7, #4]
14
08002f86:   ldr r2, [r7, #4]
15
08002f88:   movw r3, #20480 ; 0x5000
16
08002f8c:   movt r3, #8192  ; 0x2000
17
08002f90:   cmp r2, r3
18
08002f92:   bcc.n 0x8002f76 <Reset_Handler+18>
19
202          __Init_Data();
20
08002f94:   bl 0x8002fa4 <__Init_Data>
21
205         main();
Er läuft von 08002f6a bis 08002f74 und springt dann in die Zeile:
1
08002f86:   ldr r2, [r7, #4]
 Dort bleibt er bis in alle Ewigkeit. Wie kann es sein, dass der PC 
immer auf der selben Instruction hängen bleibt?
Meine Theorie ist, dass ein Interrupt ausgelöst wird, und der Debugger 
den Sprung in den Interrupt nicht mitbekommt. Ich habe aber keine Ahnung 
wie ich das überprüfen kann. Gibt es noch andere Dinge, die ein solches 
Verhalten verursachen könnten?
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren