⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsp.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 3 页
字号:
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 + -