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

📄 stm32f10x_exti.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     26/Dec/2008  18:22:06 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_e #
#                       xti.c                                                #
#    Command line    =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_e #
#                       xti.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM #
#                       3210E-EVAL\IAR\OS-Probe\Flash\List\ -o               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll --no_inline  #
#                       --no_tbaa --no_scheduling --debug --cpu_mode thumb   #
#                       --endian little --cpu cortex-M3 --stack_align 4 -e   #
#                       --fpu None --dlib_config "E:\Program Files\IAR       #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl7mptnnl8n.h" -I                  #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ #
#                       ST\STM3210E-EVAL\IAR\OS-Probe\..\BSP\ -I             #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\CPU\ST\STM32\inc\ -I     #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-CPU\ -I               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-CPU\ARM-Cortex-M3\IAR #
#                       \ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E- #
#                       EVAL\IAR\OS-Probe\..\..\..\..\..\uC-LCD\Source\ -I   #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-LIB\ -I               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uCOS-II\Ports\ARM-Cortex #
#                       -M3\Generic\IAR\ -I F:\PROJECT\STM32_UCOSII\EvalBoar #
#                       ds\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uCOS #
#                       -II\Source\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST #
#                       \STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uC-Probe\ #
#                       Target\Communication\Generic\RS-232\Source\ -I       #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
#                       ation\Generic\RS-232\Ports\ST\STM32\ -I              #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
#                       ation\Generic\Source\ -I F:\PROJECT\STM32_UCOSII\Eva #
#                       lBoards\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\.. #
#                       \uC-Probe\Target\Plugins\uCOS-II\ -I "E:\Program     #
#                       Files\IAR Systems\Embedded Workbench 4.0             #
#                       Kickstart\arm\INC\"                                  #
#    List file       =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\List\stm32f10x_exti.lst           #
#    Object file     =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\stm32f10x_exti.r79            #
#                                                                            #
#                                                                            #
##############################################################################

F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_exti.c
      1          /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
      2          * File Name          : stm32f10x_exti.c
      3          * Author             : MCD Application Team
      4          * Version            : V2.0
      5          * Date               : 05/23/2008
      6          * Description        : This file provides all the EXTI firmware functions.
      7          ********************************************************************************
      8          * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
      9          * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
     10          * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
     11          * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
     12          * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
     13          * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     14          * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED 
     15          * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
     16          *******************************************************************************/
     17          
     18          /* Includes ------------------------------------------------------------------*/
     19          #include "stm32f10x_exti.h"
     20          
     21          /* Private typedef -----------------------------------------------------------*/
     22          /* Private define ------------------------------------------------------------*/
     23          #define EXTI_LineNone    ((u32)0x00000)  /* No interrupt selected */
     24          
     25          /* Private macro -------------------------------------------------------------*/
     26          /* Private variables ---------------------------------------------------------*/
     27          /* Private function prototypes -----------------------------------------------*/
     28          /* Private functions ---------------------------------------------------------*/
     29          
     30          /*******************************************************************************
     31          * Function Name  : EXTI_DeInit
     32          * Description    : Deinitializes the EXTI peripheral registers to their default 
     33          *                  reset values.
     34          * Input          : None
     35          * Output         : None
     36          * Return         : None
     37          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     38          void EXTI_DeInit(void)
     39          {
     40            EXTI->IMR = 0x00000000;
   \                     EXTI_DeInit:
   \   00000000   0020               MOVS     R0,#+0
   \   00000002   ....               LDR.N    R1,??DataTable5  ;; 0x40010400
   \   00000004   0860               STR      R0,[R1, #+0]
     41            EXTI->EMR = 0x00000000;
   \   00000006   091D               ADDS     R1,R1,#+4
   \   00000008   0860               STR      R0,[R1, #+0]
     42            EXTI->RTSR = 0x00000000; 
   \   0000000A   091D               ADDS     R1,R1,#+4
   \   0000000C   0860               STR      R0,[R1, #+0]
     43            EXTI->FTSR = 0x00000000; 
   \   0000000E   091D               ADDS     R1,R1,#+4
   \   00000010   0860               STR      R0,[R1, #+0]
     44            EXTI->PR = 0x0007FFFF;
   \   00000012   ....               LDR.N    R0,??DataTable7  ;; 0x40010414
   \   00000014   0149               LDR.N    R1,??EXTI_DeInit_0  ;; 0x7ffff
   \   00000016   0160               STR      R1,[R0, #+0]
     45          }
   \   00000018   7047               BX       LR               ;; return
   \   0000001A   00BF               Nop      
   \                     ??EXTI_DeInit_0:
   \   0000001C   FFFF0700           DC32     0x7ffff
     46          
     47          /*******************************************************************************
     48          * Function Name  : EXTI_Init
     49          * Description    : Initializes the EXTI peripheral according to the specified
     50          *                  parameters in the EXTI_InitStruct.
     51          * Input          : - EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure
     52          *                    that contains the configuration information for the EXTI
     53          *                    peripheral.
     54          * Output         : None
     55          * Return         : None
     56          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     57          void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)
     58          {
   \                     EXTI_Init:
   \   00000000   30B5               PUSH     {R4,R5,LR}
     59            /* Check the parameters */
     60            assert_param(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode));
     61            assert_param(IS_EXTI_TRIGGER(EXTI_InitStruct->EXTI_Trigger));
     62            assert_param(IS_EXTI_LINE(EXTI_InitStruct->EXTI_Line));  
     63            assert_param(IS_FUNCTIONAL_STATE(EXTI_InitStruct->EXTI_LineCmd));
     64               
     65            if (EXTI_InitStruct->EXTI_LineCmd != DISABLE)
   \   00000002   ....               LDR.N    R1,??DataTable5  ;; 0x40010400
   \   00000004   8279               LDRB     R2,[R0, #+6]
   \   00000006   002A               CMP      R2,#+0
   \   00000008   2CD0               BEQ.N    ??EXTI_Init_0
     66            {
     67              /* Clear EXTI line configuration */
     68              EXTI->IMR &= ~EXTI_InitStruct->EXTI_Line;
   \   0000000A   0A46               MOV      R2,R1
   \   0000000C   1368               LDR      R3,[R2, #+0]
   \   0000000E   0468               LDR      R4,[R0, #+0]
   \   00000010   A343               BICS     R3,R3,R4
   \   00000012   1360               STR      R3,[R2, #+0]
     69              EXTI->EMR &= ~EXTI_InitStruct->EXTI_Line;
   \   00000014   121D               ADDS     R2,R2,#+4
   \   00000016   1368               LDR      R3,[R2, #+0]
   \   00000018   0468               LDR      R4,[R0, #+0]
   \   0000001A   A343               BICS     R3,R3,R4
   \   0000001C   1360               STR      R3,[R2, #+0]
     70              
     71              *(vu32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Mode)|= EXTI_InitStruct->EXTI_Line;
   \   0000001E   0279               LDRB     R2,[R0, #+4]
   \   00000020   1346               MOV      R3,R2
   \   00000022   5B58               LDR      R3,[R3, R1]
   \   00000024   0468               LDR      R4,[R0, #+0]
   \   00000026   1C43               ORRS     R4,R4,R3
   \   00000028   5450               STR      R4,[R2, R1]
     72          
     73              /* Clear Rising Falling edge configuration */
     74              EXTI->RTSR &= ~EXTI_InitStruct->EXTI_Line;
   \   0000002A   124A               LDR.N    R2,??EXTI_Init_1  ;; 0x40010408
   \   0000002C   1368               LDR      R3,[R2, #+0]
   \   0000002E   0468               LDR      R4,[R0, #+0]
   \   00000030   A343               BICS     R3,R3,R4
   \   00000032   1360               STR      R3,[R2, #+0]
     75              EXTI->FTSR &= ~EXTI_InitStruct->EXTI_Line;
   \   00000034   104B               LDR.N    R3,??EXTI_Init_1+0x4  ;; 0x4001040c
   \   00000036   1C68               LDR      R4,[R3, #+0]
   \   00000038   0568               LDR      R5,[R0, #+0]
   \   0000003A   AC43               BICS     R4,R4,R5
   \   0000003C   1C60               STR      R4,[R3, #+0]
     76              
     77              /* Select the trigger for the selected external interrupts */
     78              if (EXTI_InitStruct->EXTI_Trigger == EXTI_Trigger_Rising_Falling)
   \   0000003E   4479               LDRB     R4,[R0, #+5]
   \   00000040   102C               CMP      R4,#+16
   \   00000042   08D1               BNE.N    ??EXTI_Init_2
     79              {
     80                /* Rising Falling edge */
     81                EXTI->RTSR |= EXTI_InitStruct->EXTI_Line;
   \   00000044   1168               LDR      R1,[R2, #+0]
   \   00000046   0468               LDR      R4,[R0, #+0]
   \   00000048   0C43               ORRS     R4,R4,R1
   \   0000004A   1460               STR      R4,[R2, #+0]
     82                EXTI->FTSR |= EXTI_InitStruct->EXTI_Line;
   \   0000004C   1968               LDR      R1,[R3, #+0]
   \   0000004E   0068               LDR      R0,[R0, #+0]
   \   00000050   0843               ORRS     R0,R0,R1
   \   00000052   1860               STR      R0,[R3, #+0]
   \   00000054   30BD               POP      {R4,R5,PC}
     83              }
     84              else
     85              {
     86                *(vu32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Trigger)|= EXTI_InitStruct->EXTI_Line;
   \                     ??EXTI_Init_2:
   \   00000056   2246               MOV      R2,R4
   \   00000058   1346               MOV      R3,R2
   \   0000005A   5B58               LDR      R3,[R3, R1]
   \   0000005C   0068               LDR      R0,[R0, #+0]
   \   0000005E   1843               ORRS     R0,R0,R3
   \   00000060   5050               STR      R0,[R2, R1]
   \   00000062   30BD               POP      {R4,R5,PC}
     87              }
     88            }
     89            else
     90            {
     91              /* Disable the selected external lines */
     92              *(vu32 *)(EXTI_BASE + (u32)EXTI_InitStruct->EXTI_Mode)&= ~EXTI_InitStruct->EXTI_Line;
   \                     ??EXTI_Init_0:
   \   00000064   0279               LDRB     R2,[R0, #+4]
   \   00000066   1346               MOV      R3,R2
   \   00000068   5B58               LDR      R3,[R3, R1]
   \   0000006A   0068               LDR      R0,[R0, #+0]
   \   0000006C   8343               BICS     R3,R3,R0
   \   0000006E   5350               STR      R3,[R2, R1]
     93            }
     94          }
   \   00000070   30BD               POP      {R4,R5,PC}       ;; return
   \   00000072   00BF               Nop      
   \                     ??EXTI_Init_1:
   \   00000074   08040140           DC32     0x40010408

⌨️ 快捷键说明

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