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

📄 stm32f10x_gpio.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000000   F0B4               PUSH     {R4-R7}
    548            uint32_t tmp = 0x00, tmp1 = 0x00, tmpreg = 0x00, tmpmask = 0x00;
   \   00000002   0022               MOVS     R2,#+0
   \   00000004   0023               MOVS     R3,#+0
   \   00000006   0025               MOVS     R5,#+0
   \   00000008   0024               MOVS     R4,#+0
    549          
    550            /* Check the parameters */
    551            assert_param(IS_GPIO_REMAP(GPIO_Remap));
    552            assert_param(IS_FUNCTIONAL_STATE(NewState));  
    553            
    554            if((GPIO_Remap & 0x80000000) == 0x80000000)
   \   0000000A   0028               CMP      R0,#+0
   \   0000000C   03D5               BPL.N    ??GPIO_PinRemapConfig_0
    555            {
    556              tmpreg = AFIO->MAPR2;
   \   0000000E   ....               LDR.N    R6,??DataTable5_9  ;; 0x4001001c
   \   00000010   3668               LDR      R6,[R6, #+0]
   \   00000012   3500               MOVS     R5,R6
   \   00000014   02E0               B.N      ??GPIO_PinRemapConfig_1
    557            }
    558            else
    559            {
    560              tmpreg = AFIO->MAPR;
   \                     ??GPIO_PinRemapConfig_0:
   \   00000016   ....               LDR.N    R6,??DataTable5_10  ;; 0x40010004
   \   00000018   3668               LDR      R6,[R6, #+0]
   \   0000001A   3500               MOVS     R5,R6
    561            }
    562          
    563            tmpmask = (GPIO_Remap & DBGAFR_POSITION_MASK) >> 0x10;
   \                     ??GPIO_PinRemapConfig_1:
   \   0000001C   C0F30346           UBFX     R6,R0,#+16,#+4
   \   00000020   3400               MOVS     R4,R6
    564            tmp = GPIO_Remap & LSB_MASK;
   \   00000022   86B2               UXTH     R6,R0            ;; ZeroExt  R6,R0,#+16,#+16
   \   00000024   3200               MOVS     R2,R6
    565          
    566            if ((GPIO_Remap & (DBGAFR_LOCATION_MASK | DBGAFR_NUMBITS_MASK)) == (DBGAFR_LOCATION_MASK | DBGAFR_NUMBITS_MASK))
   \   00000026   10F44016           ANDS     R6,R0,#0x300000
   \   0000002A   B6F5401F           CMP      R6,#+3145728
   \   0000002E   08D1               BNE.N    ??GPIO_PinRemapConfig_2
    567            {
    568              tmpreg &= DBGAFR_SWJCFG_MASK;
   \   00000030   35F07065           BICS     R5,R5,#0xF000000
    569              AFIO->MAPR &= DBGAFR_SWJCFG_MASK;
   \   00000034   ....               LDR.N    R6,??DataTable5_10  ;; 0x40010004
   \   00000036   3668               LDR      R6,[R6, #+0]
   \   00000038   36F07066           BICS     R6,R6,#0xF000000
   \   0000003C   ....               LDR.N    R7,??DataTable5_10  ;; 0x40010004
   \   0000003E   3E60               STR      R6,[R7, #+0]
   \   00000040   10E0               B.N      ??GPIO_PinRemapConfig_3
    570            }
    571            else if ((GPIO_Remap & DBGAFR_NUMBITS_MASK) == DBGAFR_NUMBITS_MASK)
   \                     ??GPIO_PinRemapConfig_2:
   \   00000042   C602               LSLS     R6,R0,#+11
   \   00000044   06D5               BPL.N    ??GPIO_PinRemapConfig_4
    572            {
    573              tmp1 = ((uint32_t)0x03) << tmpmask;
   \   00000046   0326               MOVS     R6,#+3
   \   00000048   A640               LSLS     R6,R6,R4
   \   0000004A   3300               MOVS     R3,R6
    574              tmpreg &= ~tmp1;
   \   0000004C   9D43               BICS     R5,R5,R3
    575              tmpreg |= ~DBGAFR_SWJCFG_MASK;
   \   0000004E   55F07065           ORRS     R5,R5,#0xF000000
   \   00000052   07E0               B.N      ??GPIO_PinRemapConfig_3
    576            }
    577            else
    578            {
    579              tmpreg &= ~(tmp << ((GPIO_Remap >> 0x15)*0x10));
   \                     ??GPIO_PinRemapConfig_4:
   \   00000054   460D               LSRS     R6,R0,#+21
   \   00000056   F6B2               UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
   \   00000058   3601               LSLS     R6,R6,#+4
   \   0000005A   12FA06F6           LSLS     R6,R2,R6
   \   0000005E   B543               BICS     R5,R5,R6
    580              tmpreg |= ~DBGAFR_SWJCFG_MASK;
   \   00000060   55F07065           ORRS     R5,R5,#0xF000000
    581            }
    582          
    583            if (NewState != DISABLE)
   \                     ??GPIO_PinRemapConfig_3:
   \   00000064   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000066   0029               CMP      R1,#+0
   \   00000068   05D0               BEQ.N    ??GPIO_PinRemapConfig_5
    584            {
    585              tmpreg |= (tmp << ((GPIO_Remap >> 0x15)*0x10));
   \   0000006A   460D               LSRS     R6,R0,#+21
   \   0000006C   F6B2               UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
   \   0000006E   3601               LSLS     R6,R6,#+4
   \   00000070   12FA06F6           LSLS     R6,R2,R6
   \   00000074   3543               ORRS     R5,R6,R5
    586            }
    587          
    588            if((GPIO_Remap & 0x80000000) == 0x80000000)
   \                     ??GPIO_PinRemapConfig_5:
   \   00000076   0028               CMP      R0,#+0
   \   00000078   02D5               BPL.N    ??GPIO_PinRemapConfig_6
    589            {
    590              AFIO->MAPR2 = tmpreg;
   \   0000007A   ....               LDR.N    R6,??DataTable5_9  ;; 0x4001001c
   \   0000007C   3560               STR      R5,[R6, #+0]
   \   0000007E   01E0               B.N      ??GPIO_PinRemapConfig_7
    591            }
    592            else
    593            {
    594              AFIO->MAPR = tmpreg;
   \                     ??GPIO_PinRemapConfig_6:
   \   00000080   ....               LDR.N    R6,??DataTable5_10  ;; 0x40010004
   \   00000082   3560               STR      R5,[R6, #+0]
    595            }  
    596          }
   \                     ??GPIO_PinRemapConfig_7:
   \   00000084   F0BC               POP      {R4-R7}
   \   00000086   7047               BX       LR               ;; return
    597          
    598          /**
    599            * @brief  Selects the GPIO pin used as EXTI Line.
    600            * @param  GPIO_PortSource: selects the GPIO port to be used as source for EXTI lines.
    601            *   This parameter can be GPIO_PortSourceGPIOx where x can be (A..G).
    602            * @param  GPIO_PinSource: specifies the EXTI line to be configured.
    603            *   This parameter can be GPIO_PinSourcex where x can be (0..15).
    604            * @retval None
    605            */

   \                                 In section .text, align 2, keep-with-next
    606          void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource)
    607          {
   \                     GPIO_EXTILineConfig:
   \   00000000   30B4               PUSH     {R4,R5}
    608            uint32_t tmp = 0x00;
   \   00000002   0022               MOVS     R2,#+0
    609            /* Check the parameters */
    610            assert_param(IS_GPIO_EXTI_PORT_SOURCE(GPIO_PortSource));
    611            assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource));
    612            
    613            tmp = ((uint32_t)0x0F) << (0x04 * (GPIO_PinSource & (uint8_t)0x03));
   \   00000004   0F23               MOVS     R3,#+15
   \   00000006   11F00304           ANDS     R4,R1,#0x3
   \   0000000A   E4B2               UXTB     R4,R4            ;; ZeroExt  R4,R4,#+24,#+24
   \   0000000C   A400               LSLS     R4,R4,#+2
   \   0000000E   A340               LSLS     R3,R3,R4
   \   00000010   1A00               MOVS     R2,R3
    614            AFIO->EXTICR[GPIO_PinSource >> 0x02] &= ~tmp;
   \   00000012   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000014   8B10               ASRS     R3,R1,#+2
   \   00000016   ....               LDR.N    R4,??DataTable5_11  ;; 0x40010008
   \   00000018   54F82330           LDR      R3,[R4, R3, LSL #+2]
   \   0000001C   9343               BICS     R3,R3,R2
   \   0000001E   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000020   8C10               ASRS     R4,R1,#+2
   \   00000022   ....               LDR.N    R5,??DataTable5_11  ;; 0x40010008
   \   00000024   45F82430           STR      R3,[R5, R4, LSL #+2]
    615            AFIO->EXTICR[GPIO_PinSource >> 0x02] |= (((uint32_t)GPIO_PortSource) << (0x04 * (GPIO_PinSource & (uint8_t)0x03)));
   \   00000028   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   0000002A   8B10               ASRS     R3,R1,#+2
   \   0000002C   ....               LDR.N    R4,??DataTable5_11  ;; 0x40010008
   \   0000002E   54F82330           LDR      R3,[R4, R3, LSL #+2]
   \   00000032   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000034   11F00304           ANDS     R4,R1,#0x3
   \   00000038   E4B2               UXTB     R4,R4            ;; ZeroExt  R4,R4,#+24,#+24
   \   0000003A   A400               LSLS     R4,R4,#+2
   \   0000003C   10FA04F4           LSLS     R4,R0,R4
   \   00000040   2343               ORRS     R3,R4,R3
   \   00000042   C9B2               UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
   \   00000044   8C10               ASRS     R4,R1,#+2
   \   00000046   ....               LDR.N    R5,??DataTable5_11  ;; 0x40010008
   \   00000048   45F82430           STR      R3,[R5, R4, LSL #+2]
    616          }
   \   0000004C   30BC               POP      {R4,R5}
   \   0000004E   7047               BX       LR               ;; return
    617          
    618          /**
    619            * @brief  Selects the Ethernet media interface.
    620            * @note   This function applies only to STM32 Connectivity line devices.  
    621            * @param  GPIO_ETH_MediaInterface: specifies the Media Interface mode.
    622            *   This parameter can be one of the following values:
    623            *     @arg GPIO_ETH_MediaInterface_MII: MII mode
    624            *     @arg GPIO_ETH_MediaInterface_RMII: RMII mode    
    625            * @retval None
    626            */

   \                                 In section .text, align 2, keep-with-next
    627          void GPIO_ETH_MediaInterfaceConfig(uint32_t GPIO_ETH_MediaInterface) 
    628          { 
    629            assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); 
    630          
    631            /* Configure MII_RMII selection bit */ 
    632            *(__IO uint32_t *) MAPR_MII_RMII_SEL_BB = GPIO_ETH_MediaInterface; 
   \                     GPIO_ETH_MediaInterfaceConfig:
   \   00000000   ....               LDR.N    R1,??DataTable5_12  ;; 0x422000dc
   \   00000002   0860               STR      R0,[R1, #+0]
    633          }
   \   00000004   7047               BX       LR               ;; return

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5:
   \   00000000   00080140           DC32     0x40010800

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_1:
   \   00000000   000C0140           DC32     0x40010c00

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_2:
   \   00000000   00100140           DC32     0x40011000

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_3:
   \   00000000   00140140           DC32     0x40011400

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_4:
   \   00000000   00180140           DC32     0x40011800

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_5:
   \   00000000   001C0140           DC32     0x40011c00

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_6:
   \   00000000   00200140           DC32     0x40012000

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_7:
   \   00000000   00000140           DC32     0x40010000

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_8:
   \   00000000   1C002042           DC32     0x4220001c

   \         

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -