Kurze Frage: STM32F4discovery bootet nicht!

OP #3606664
Lesenswert?

Folgendes Problem: Ich habe ein Programm geschrieben (mit CrossWorks) 
und kann das sowohl debuggen als auch mit "Build and run" laufen lassen. 
Ich möchte nun das Discovery von einer USB Powerbank versorgen, aber ich 
habe gemerkt, dass der STM32F407 gar nicht erst losläuft, wenn ich das 
Board zum Beispiel an USB vom Computer anschliesse. D.H. 
Anschliessen->build and run->läuft perfekt->ab und anstecken->läuft 
nicht los!

Wenn er nicht läuft, und ich dann den Debugger aktiviere, sehe ich dass 
er da hängt:
1
<reset_wait>
2
    E7FE        b 0x0800037E <reset_wait>      <- hier
3
    0000        movs r0, r0
4
    2002        movs r0, #2
5
    ED08E000    stc p0, c14, [r8, #-0]
6
    0000        movs r0, r0
7
    0800        lsrs r0, r0, #0
Weiss jemand Rat?
Danke im Voraus, Sean
#3606689
Lesenswert?

Naja, die Codierung für Sprünge im Thumb-Befehlssatz ist so, das das LSB 
immer gesetzt ist. Also Sprungziel + 1.
Hmm, allerdings könnte es sein, das das dein Debugger rückübersetzt,
und du uns hier (wie allgemein üblich :( )nur das Stück zeigst, wo er in 
eine Endlosschleife gesprungen ist und dort hängt.
Zeig etwas mehr Code. :)
OP #3606703
Lesenswert?

Was soll ich zeigen? Das Problem ist ja, dass er sofort in eine 
Endlosschleife geht.
1
<FPU_IRQHandler>
2
    E7FE        b 0x08000368 <FPU_IRQHandler>
3
<reset_handler>
4
    4805        ldr r0, 0x08000380 <reset_wait+0x2>
5
    4685        mov sp, r0
6
    F000FB3F    bl 0x080009F0 <SystemInit>
7
    4804        ldr r0, 0x08000384 <reset_wait+0x6>
8
    4904        ldr r1, 0x08000388 <reset_wait+0xA>
9
    6001        str r1, [r0]
10
    F7FFBF06    b.w 0x08000188 <_start>
11
    4770        bx lr
12
<reset_wait>
13
    E7FE        b 0x0800037E <reset_wait>
14
    0000        movs r0, r0
15
    2002        movs r0, #2
16
    ED08E000    stc p0, c14, [r8, #-0]
17
    0000        movs r0, r0
18
    0800        lsrs r0, r0, #0
Von da hab ich das, das erste ist ja noch ein IRQ Handler, also müsste 
der startup-code ja nur das sein oder?

EDIT: Und sorry, dass ich nicht alles zeige, aber ich weiss echt nicht 
was man dafür braucht (das ganze CrossWorks Projekt macht ja wohl auch 
keinen Sinn...)

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