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

📄 stm32f10x_exti.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 2 页
字号:
###############################################################################
#                                                                             #
# IAR ANSI C/C++ Compiler V6.10.2.52244/W32 for ARM     07/Aug/2011  12:10:36 #
# Copyright 1999-2010 IAR Systems AB.                                         #
#                                                                             #
#    Cpu mode     =  thumb                                                    #
#    Endian       =  little                                                   #
#    Source file  =  F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
#                    x_StdPeriph_Driver\src\stm32f10x_exti.c                  #
#    Command line =  F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
#                    x_StdPeriph_Driver\src\stm32f10x_exti.c -D               #
#                    USE_STDPERIPH_DRIVER -D STM32F10X_CL -lCN                #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
#                    t\ -o F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Fla #
#                    sh\Obj\ --no_cse --no_unroll --no_inline                 #
#                    --no_code_motion --no_tbaa --no_clustering               #
#                    --no_scheduling --debug --endian=little --cpu=Cortex-M3  #
#                    -e --fpu=None --dlib_config                              #
#                    D:\arm\INC\c\DLib_Config_Normal.h -I                     #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\APP\ -I   #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\   #
#                    -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP #
#                    \ST\CMSIS\CM3\CoreSupport\ -I                            #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
#                    \CMSIS\CM3\DeviceSupport\ST\STM32F10x\ -I                #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
#                    \STM32F10x_StdPeriph_Driver\inc\ -I                      #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\uC #
#                    OS-II\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II #
#                    \..\..\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\ -I       #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uCO #
#                    S-II\Source\ -I F:\stm32\我的程序\Micrium\Software\EWARM #
#                    \OS-II\..\..\uC-LIB\ -I F:\stm32\我的程序\Micrium\Softwa #
#                    re\EWARM\OS-II\..\..\uC-LIB\Ports\ARM-Cortex-M3\IAR\ -I  #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uC- #
#                    CPU\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\. #
#                    .\..\uC-CPU\ARM-Cortex-M3\IAR\ -On --use_c++_inline      #
#    List file    =  F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
#                    t\stm32f10x_exti.lst                                     #
#    Object file  =  F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Obj #
#                    \stm32f10x_exti.o                                        #
#                                                                             #
#                                                                             #
###############################################################################

F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c
      1          /**
      2            ******************************************************************************
      3            * @file    stm32f10x_exti.c
      4            * @author  MCD Application Team
      5            * @version V3.4.0
      6            * @date    10/15/2010
      7            * @brief   This file provides all the EXTI firmware functions.
      8            ******************************************************************************
      9            * @copy
     10            *
     11            * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
     12            * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
     13            * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
     14            * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
     15            * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
     16            * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     17            *
     18            * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>
     19            */ 
     20          
     21          /* Includes ------------------------------------------------------------------*/
     22          #include "stm32f10x_exti.h"
     23          
     24          /** @addtogroup STM32F10x_StdPeriph_Driver
     25            * @{
     26            */
     27          
     28          /** @defgroup EXTI 
     29            * @brief EXTI driver modules
     30            * @{
     31            */
     32          
     33          /** @defgroup EXTI_Private_TypesDefinitions
     34            * @{
     35            */
     36          
     37          /**
     38            * @}
     39            */
     40          
     41          /** @defgroup EXTI_Private_Defines
     42            * @{
     43            */
     44          
     45          #define EXTI_LINENONE    ((uint32_t)0x00000)  /* No interrupt selected */
     46          
     47          /**
     48            * @}
     49            */
     50          
     51          /** @defgroup EXTI_Private_Macros
     52            * @{
     53            */
     54          
     55          /**
     56            * @}
     57            */
     58          
     59          /** @defgroup EXTI_Private_Variables
     60            * @{
     61            */
     62          
     63          /**
     64            * @}
     65            */
     66          
     67          /** @defgroup EXTI_Private_FunctionPrototypes
     68            * @{
     69            */
     70          
     71          /**
     72            * @}
     73            */
     74          
     75          /** @defgroup EXTI_Private_Functions
     76            * @{
     77            */
     78          
     79          /**
     80            * @brief  Deinitializes the EXTI peripheral registers to their default reset values.
     81            * @param  None
     82            * @retval None
     83            */

   \                                 In section .text, align 2, keep-with-next
     84          void EXTI_DeInit(void)
     85          {
     86            EXTI->IMR = 0x00000000;
   \                     EXTI_DeInit:
   \   00000000   ....               LDR.N    R0,??DataTable6  ;; 0x40010400
   \   00000002   0021               MOVS     R1,#+0
   \   00000004   0160               STR      R1,[R0, #+0]
     87            EXTI->EMR = 0x00000000;
   \   00000006   ....               LDR.N    R0,??DataTable6_1  ;; 0x40010404
   \   00000008   0021               MOVS     R1,#+0
   \   0000000A   0160               STR      R1,[R0, #+0]
     88            EXTI->RTSR = 0x00000000; 
   \   0000000C   ....               LDR.N    R0,??DataTable6_2  ;; 0x40010408
   \   0000000E   0021               MOVS     R1,#+0
   \   00000010   0160               STR      R1,[R0, #+0]
     89            EXTI->FTSR = 0x00000000; 
   \   00000012   ....               LDR.N    R0,??DataTable6_3  ;; 0x4001040c
   \   00000014   0021               MOVS     R1,#+0
   \   00000016   0160               STR      R1,[R0, #+0]
     90            EXTI->PR = 0x000FFFFF;
   \   00000018   ....               LDR.N    R0,??DataTable6_4  ;; 0x40010414
   \   0000001A   ....               LDR.N    R1,??DataTable6_5  ;; 0xfffff
   \   0000001C   0160               STR      R1,[R0, #+0]
     91          }
   \   0000001E   7047               BX       LR               ;; return
     92          
     93          /**
     94            * @brief  Initializes the EXTI peripheral according to the specified
     95            *   parameters in the EXTI_InitStruct.
     96            * @param  EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
     97            *   that contains the configuration information for the EXTI peripheral.
     98            * @retval None
     99            */

   \                                 In section .text, align 2, keep-with-next
    100          void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
    101          {
    102            uint32_t tmp = 0;
   \                     EXTI_Init:
   \   00000000   0021               MOVS     R1,#+0
    103          
    104            /* Check the parameters */
    105            assert_param(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode));
    106            assert_param(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger));
    107            assert_param(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line));  
    108            assert_param(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd));
    109          
    110            tmp = (uint32_t)EXTI_BASE;
   \   00000002   ....               LDR.N    R2,??DataTable6  ;; 0x40010400
   \   00000004   1100               MOVS     R1,R2
    111               
    112            if (EXTI_InitStruct->EXTI_LineCmd != DISABLE)
   \   00000006   8279               LDRB     R2,[R0, #+6]
   \   00000008   002A               CMP      R2,#+0
   \   0000000A   36D0               BEQ.N    ??EXTI_Init_0
    113            {
    114              /* Clear EXTI line configuration */
    115              EXTI->IMR &= ~EXTI_InitStruct->EXTI_Line;
   \   0000000C   ....               LDR.N    R2,??DataTable6  ;; 0x40010400
   \   0000000E   1268               LDR      R2,[R2, #+0]
   \   00000010   0368               LDR      R3,[R0, #+0]
   \   00000012   9A43               BICS     R2,R2,R3
   \   00000014   ....               LDR.N    R3,??DataTable6  ;; 0x40010400
   \   00000016   1A60               STR      R2,[R3, #+0]
    116              EXTI->EMR &= ~EXTI_InitStruct->EXTI_Line;
   \   00000018   ....               LDR.N    R2,??DataTable6_1  ;; 0x40010404
   \   0000001A   1268               LDR      R2,[R2, #+0]
   \   0000001C   0368               LDR      R3,[R0, #+0]
   \   0000001E   9A43               BICS     R2,R2,R3
   \   00000020   ....               LDR.N    R3,??DataTable6_1  ;; 0x40010404
   \   00000022   1A60               STR      R2,[R3, #+0]
    117              
    118              tmp += EXTI_InitStruct->EXTI_Mode;
   \   00000024   0279               LDRB     R2,[R0, #+4]
   \   00000026   5118               ADDS     R1,R2,R1
    119          
    120              *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line;
   \   00000028   0A68               LDR      R2,[R1, #+0]
   \   0000002A   0368               LDR      R3,[R0, #+0]
   \   0000002C   1A43               ORRS     R2,R3,R2
   \   0000002E   0A60               STR      R2,[R1, #+0]
    121          
    122              /* Clear Rising Falling edge configuration */
    123              EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line;
   \   00000030   ....               LDR.N    R2,??DataTable6_2  ;; 0x40010408
   \   00000032   1268               LDR      R2,[R2, #+0]
   \   00000034   0368               LDR      R3,[R0, #+0]
   \   00000036   9A43               BICS     R2,R2,R3
   \   00000038   ....               LDR.N    R3,??DataTable6_2  ;; 0x40010408
   \   0000003A   1A60               STR      R2,[R3, #+0]
    124              EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line;
   \   0000003C   ....               LDR.N    R2,??DataTable6_3  ;; 0x4001040c
   \   0000003E   1268               LDR      R2,[R2, #+0]
   \   00000040   0368               LDR      R3,[R0, #+0]
   \   00000042   9A43               BICS     R2,R2,R3
   \   00000044   ....               LDR.N    R3,??DataTable6_3  ;; 0x4001040c
   \   00000046   1A60               STR      R2,[R3, #+0]
    125              
    126              /* Select the trigger for the selected external interrupts */
    127              if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling)
   \   00000048   4279               LDRB     R2,[R0, #+5]
   \   0000004A   102A               CMP      R2,#+16
   \   0000004C   0CD1               BNE.N    ??EXTI_Init_1
    128              {
    129                /* Rising Falling edge */
    130                EXTI->RTSR |= EXTI_InitStruct->EXTI_Line;
   \   0000004E   ....               LDR.N    R2,??DataTable6_2  ;; 0x40010408
   \   00000050   1268               LDR      R2,[R2, #+0]
   \   00000052   0368               LDR      R3,[R0, #+0]
   \   00000054   1A43               ORRS     R2,R3,R2
   \   00000056   ....               LDR.N    R3,??DataTable6_2  ;; 0x40010408
   \   00000058   1A60               STR      R2,[R3, #+0]
    131                EXTI->FTSR |= EXTI_InitStruct->EXTI_Line;
   \   0000005A   ....               LDR.N    R2,??DataTable6_3  ;; 0x4001040c
   \   0000005C   1268               LDR      R2,[R2, #+0]
   \   0000005E   0368               LDR      R3,[R0, #+0]
   \   00000060   1A43               ORRS     R2,R3,R2
   \   00000062   ....               LDR.N    R3,??DataTable6_3  ;; 0x4001040c
   \   00000064   1A60               STR      R2,[R3, #+0]
   \   00000066   0EE0               B.N      ??EXTI_Init_2
    132              }
    133              else
    134              {
    135                tmp = (uint32_t)EXTI_BASE;
   \                     ??EXTI_Init_1:
   \   00000068   ....               LDR.N    R2,??DataTable6  ;; 0x40010400
   \   0000006A   1100               MOVS     R1,R2
    136                tmp += EXTI_InitStruct->EXTI_Trigger;
   \   0000006C   4279               LDRB     R2,[R0, #+5]
   \   0000006E   5118               ADDS     R1,R2,R1
    137          
    138                *(__IO uint32_t *) tmp |= EXTI_InitStruct->EXTI_Line;
   \   00000070   0A68               LDR      R2,[R1, #+0]
   \   00000072   0368               LDR      R3,[R0, #+0]
   \   00000074   1A43               ORRS     R2,R3,R2
   \   00000076   0A60               STR      R2,[R1, #+0]
   \   00000078   05E0               B.N      ??EXTI_Init_2
    139              }
    140            }
    141            else
    142            {
    143              tmp += EXTI_InitStruct->EXTI_Mode;
   \                     ??EXTI_Init_0:
   \   0000007A   0279               LDRB     R2,[R0, #+4]
   \   0000007C   5118               ADDS     R1,R2,R1
    144          

⌨️ 快捷键说明

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