Hallo Jim,
also die File-Extension sind alle klein geschrieben.
im dump sieht man
800003c: 08000249 stmdaeq r0, {r0, r3, r6, r9}
für den SysTick Vector die Adresse wo dann auch die Routine liegt
08000248 <SysTick_Handler>:
GPIO_InitTypeDef GPIO_InitStructure;
volatile uint32_t Milliseconds = 0, Seconds = 0;
void SysTick_Handler(void){
8000248: b510 push {r4, lr}
Milliseconds++; //Increment millisecond variable
800024a: 4b0c ldr r3, [pc, #48] ; (800027c
<SysTick_Handler+0x34>)
800024c: 681b ldr r3, [r3, #0]
800024e: 1c5a adds r2, r3, #1
8000250: 4b0a ldr r3, [pc, #40] ; (800027c
<SysTick_Handler+0x34>)
8000252: 601a str r2, [r3, #0]
if(Milliseconds%1000 == 999){ //If 1000 milliseconds have passed,
increment seconds
8000254: 4b09 ldr r3, [pc, #36] ; (800027c
<SysTick_Handler+0x34>)
8000256: 681a ldr r2, [r3, #0]
8000258: 23fa movs r3, #250 ; 0xfa
800025a: 0099 lsls r1, r3, #2
800025c: 0010 movs r0, r2
800025e: f000 fa31 bl 80006c4 <__aeabi_uidivmod>
8000262: 000b movs r3, r1
8000264: 1e1a subs r2, r3, #0
8000266: 4b06 ldr r3, [pc, #24] ; (8000280
<SysTick_Handler+0x38>)
8000268: 429a cmp r2, r3
800026a: d104 bne.n 8000276 <SysTick_Handler+0x2e>
Seconds++;
800026c: 4b05 ldr r3, [pc, #20] ; (8000284
<SysTick_Handler+0x3c>)
800026e: 681b ldr r3, [r3, #0]
8000270: 1c5a adds r2, r3, #1
8000272: 4b04 ldr r3, [pc, #16] ; (8000284
<SysTick_Handler+0x3c>)
8000274: 601a str r2, [r3, #0]
}
}
8000276: 46c0 nop ; (mov r8, r8)
8000278: bd10 pop {r4, pc}
800027a: 46c0 nop ; (mov r8, r8)
800027c: 20000014 andcs r0, r0, r4, lsl r0
8000280: 000003e7 andeq r0, r0, r7, ror #7
8000284: 20000018 andcs r0, r0, r8, lsl r0
warum dieser Versatz um 1 keine Ahnung, ist aber auch im Coocox dump so
Die Routine SysTick_Handler selbst kann ich auch separat aufrufen, und
die läuft dann auch so wie gewollt, nur der int macht nichts, es gibt
auch keine Default-Handler Reaktion, es läuft einfach weiter
LG tux