?? bsp.txt
字號:
000272 f7fff7ff BL GPIO_SetBits
000276 e004 B |L1.642|
|L1.632|
;;;526 } else {
;;;527 GPIO_ResetBits(GPIOC, GPIOC_LED3);
000278 f44ff44f MOV r1,#0x100
00027c 4628 MOV r0,r5
00027e f7fff7ff BL GPIO_ResetBits
|L1.642|
;;;528 }
;;;529 if ((pins & GPIOC_LED4) == 0) {
000282 f414f414 TST r4,#0x200
000286 d106 BNE |L1.662|
;;;530 GPIO_SetBits( GPIOC, GPIOC_LED4);
000288 4628 MOV r0,r5
00028a e8bde8bd POP {r4-r6,lr}
00028e f44ff44f MOV r1,#0x200
000292 f7fff7ff B.W GPIO_SetBits
|L1.662|
;;;531 } else {
;;;532 GPIO_ResetBits(GPIOC, GPIOC_LED4);
000296 4628 MOV r0,r5
000298 e8bde8bd POP {r4-r6,lr}
00029c f44ff44f MOV r1,#0x200
0002a0 f7fff7ff B.W GPIO_ResetBits
;;;533 }
;;;534 break;
;;;535
;;;536 case 1:
;;;537 if ((pins & GPIOC_LED1) == 0) {
0002a4 f014f014 TST r4,#0x40
0002a8 d105 BNE |L1.694|
;;;538 GPIO_SetBits( GPIOC, GPIOC_LED1);
0002aa 4628 MOV r0,r5
0002ac e8bde8bd POP {r4-r6,lr}
0002b0 2140 MOVS r1,#0x40
0002b2 f7fff7ff B.W GPIO_SetBits
|L1.694|
;;;539 } else {
;;;540 GPIO_ResetBits(GPIOC, GPIOC_LED1);
0002b6 4628 MOV r0,r5
0002b8 e8bde8bd POP {r4-r6,lr}
0002bc 2140 MOVS r1,#0x40
0002be f7fff7ff B.W GPIO_ResetBits
;;;541 }
;;;542 break;
;;;543
;;;544 case 2:
;;;545 if ((pins & GPIOC_LED2) == 0) {
0002c2 f014f014 TST r4,#0x80
0002c6 d105 BNE |L1.724|
;;;546 GPIO_SetBits( GPIOC, GPIOC_LED2);
0002c8 4628 MOV r0,r5
0002ca e8bde8bd POP {r4-r6,lr}
0002ce 2180 MOVS r1,#0x80
0002d0 f7fff7ff B.W GPIO_SetBits
|L1.724|
;;;547 } else {
;;;548 GPIO_ResetBits(GPIOC, GPIOC_LED2);
0002d4 4628 MOV r0,r5
0002d6 e8bde8bd POP {r4-r6,lr}
0002da 2180 MOVS r1,#0x80
0002dc f7fff7ff B.W GPIO_ResetBits
;;;549 }
;;;550 break;
;;;551
;;;552 case 3:
;;;553 if ((pins & GPIOC_LED3) == 0) {
0002e0 f414f414 TST r4,#0x100
0002e4 d106 BNE |L1.756|
;;;554 GPIO_SetBits( GPIOC, GPIOC_LED3);
0002e6 4628 MOV r0,r5
0002e8 e8bde8bd POP {r4-r6,lr}
0002ec f44ff44f MOV r1,#0x100
0002f0 f7fff7ff B.W GPIO_SetBits
|L1.756|
;;;555 } else {
;;;556 GPIO_ResetBits(GPIOC, GPIOC_LED3);
0002f4 4628 MOV r0,r5
0002f6 e8bde8bd POP {r4-r6,lr}
0002fa f44ff44f MOV r1,#0x100
0002fe f7fff7ff B.W GPIO_ResetBits
;;;557 }
;;;558 break;
;;;559
;;;560 case 4:
;;;561 if ((pins & GPIOC_LED4) == 0) {
000302 f414f414 TST r4,#0x200
000306 d106 BNE |L1.790|
;;;562 GPIO_SetBits( GPIOC, GPIOC_LED4);
000308 4628 MOV r0,r5
00030a e8bde8bd POP {r4-r6,lr}
00030e f44ff44f MOV r1,#0x200
000312 f7fff7ff B.W GPIO_SetBits
|L1.790|
;;;563 } else {
;;;564 GPIO_ResetBits(GPIOC, GPIOC_LED4);
000316 4628 MOV r0,r5
000318 e8bde8bd POP {r4-r6,lr}
00031c f44ff44f MOV r1,#0x200
000320 f7fff7ff B.W GPIO_ResetBits
|L1.804|
;;;565 }
;;;566 break;
;;;567
;;;568 default:
;;;569 break;
;;;570 }
;;;571 }
000324 bd70 POP {r4-r6,pc}
;;;572
ENDP
OSProbe_TmrInit PROC
;;;598 void OSProbe_TmrInit (void)
;;;599 {
000326 b500 PUSH {lr}
000328 b083 SUB sp,sp,#0xc
;;;600 TIM_TimeBaseInitTypeDef tim_init;
;;;601
;;;602
;;;603 #if (OS_PROBE_TIMER_SEL == 2)
;;;604
;;;605 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
00032a 2101 MOVS r1,#1
00032c 4608 MOV r0,r1
00032e f7fff7ff BL RCC_APB1PeriphClockCmd
;;;606
;;;607 tim_init.TIM_Period = 0xFFFF;
000332 f64ff64f MOV r0,#0xffff
000336 f8adf8ad STRH r0,[sp,#4]
;;;608 tim_init.TIM_Prescaler = 0x00;
00033a 2000 MOVS r0,#0
00033c f8adf8ad STRH r0,[sp,#6]
;;;609 tim_init.TIM_ClockDivision = 0x0;
000340 f8adf8ad STRH r0,[sp,#8]
;;;610 tim_init.TIM_CounterMode = TIM_CounterMode_Up;
000344 f8adf8ad STRH r0,[sp,#0xa]
;;;611
;;;612 TIM_TimeBaseInit(TIM2, &tim_init);
000348 a901 ADD r1,sp,#4
00034a f04ff04f MOV r0,#0x40000000
00034e f7fff7ff BL TIM_TimeBaseInit
;;;613 TIM_SetCounter(TIM2, 0);
000352 2100 MOVS r1,#0
000354 f04ff04f MOV r0,#0x40000000
000358 f7fff7ff BL TIM_SetCounter
;;;614 TIM_PrescalerConfig(TIM2, 256, TIM_PSCReloadMode_Immediate);
00035c 2201 MOVS r2,#1
00035e 0211 LSLS r1,r2,#8
000360 0588 LSLS r0,r1,#22
000362 f7fff7ff BL TIM_PrescalerConfig
;;;615 TIM_Cmd(TIM2, ENABLE);
000366 2101 MOVS r1,#1
000368 0788 LSLS r0,r1,#30
00036a f7fff7ff BL TIM_Cmd
;;;616
;;;617 #elif (OS_PROBE_TIMER_SEL == 3)
;;;618
;;;619 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
;;;620
;;;621 tim_init.TIM_Period = 0xFFFF;
;;;622 tim_init.TIM_Prescaler = 0x00;
;;;623 tim_init.TIM_ClockDivision = 0x0;
;;;624 tim_init.TIM_CounterMode = TIM_CounterMode_Up;
;;;625
;;;626 TIM_TimeBaseInit(TIM3, &tim_init);
;;;627 TIM_SetCounter(TIM3, 0);
;;;628 TIM_PrescalerConfig(TIM3, 256, TIM_PSCReloadMode_Immediate);
;;;629 TIM_Cmd(TIM3, ENABLE);
;;;630
;;;631 #elif (OS_PROBE_TIMER_SEL == 4)
;;;632
;;;633 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
;;;634
;;;635 tim_init.TIM_Period = 0xFFFF;
;;;636 tim_init.TIM_Prescaler = 0x00;
;;;637 tim_init.TIM_ClockDivision = 0x0;
;;;638 tim_init.TIM_CounterMode = TIM_CounterMode_Up;
;;;639
;;;640 TIM_TimeBaseInit(TIM4, &tim_init);
;;;641 TIM_SetCounter(TIM4, 0);
;;;642 TIM_PrescalerConfig(TIM4, 256, TIM_PSCReloadMode_Immediate);
;;;643 TIM_Cmd(TIM4, ENABLE);
;;;644
;;;645 #endif
;;;646 }
00036e b003 ADD sp,sp,#0xc
000370 bd00 POP {pc}
;;;647 #endif
ENDP
OSProbe_TmrRd PROC
;;;666
;;;667 return ((CPU_INT32U)TIM_GetCounter(TIM2));
000372 f04ff04f MOV r0,#0x40000000
000376 f7fff7ff B.W TIM_GetCounter
;;;668
;;;669 #elif (OS_PROBE_TIMER_SEL == 3)
;;;670
;;;671 return ((CPU_INT32U)TIM_GetCounter(TIM3));
;;;672
;;;673 #elif (OS_PROBE_TIMER_SEL == 4)
;;;674
;;;675 return ((CPU_INT32U)TIM_GetCounter(TIM4));
;;;676
;;;677 #endif
;;;678 }
;;;679 #endif
ENDP
Tmr_TickISR_Handler PROC
;;;736 void Tmr_TickISR_Handler (void)
;;;737 {
00037a b510 PUSH {r4,lr}
;;;738 OS_CPU_SR cpu_sr;
;;;739
;;;740
;;;741 OS_ENTER_CRITICAL(); /* Tell uC/OS-II that we are starting an ISR */
00037c f7fff7ff BL OS_CPU_SR_Save
;;;742 OSIntNesting++;
000380 490a LDR r1,|L1.940|
000382 780a LDRB r2,[r1,#0] ; OSIntNesting
000384 1c52 ADDS r2,r2,#1
000386 700a STRB r2,[r1,#0] ; OSIntNesting
;;;743 OS_EXIT_CRITICAL();
000388 f7fff7ff BL OS_CPU_SR_Restore
;;;744
;;;745 OSTimeTick(); /* Call uC/OS-II's OSTimeTick() */
00038c f7fff7ff BL OSTimeTick
;;;746
;;;747 OSIntExit(); /* Tell uC/OS-II that we are leaving the ISR */
000390 e8bde8bd POP {r4,lr}
000394 f7fff7ff B.W OSIntExit
;;;748 }
ENDP
|L1.920|
000398 40011400 DCD 0x40011400
|L1.924|
00039c 40011800 DCD 0x40011800
|L1.928|
0003a0 40010c00 DCD 0x40010c00
|L1.932|
0003a4 40011000 DCD 0x40011000
|L1.936|
0003a8 00000000 DCD ||rcc_clocks@BSP_CPU_ClkFreq_0||
|L1.940|
0003ac 00000000 DCD OSIntNesting
AREA ||.bss||, DATA, NOINIT, ALIGN=2
||rcc_clocks@BSP_CPU_ClkFreq_0||
% 20
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -