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

📄 stm32f10x_nvic.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
###############################################################################
#                                                                             #
#                                                       30/Jul/2008  14:37:39 #
# IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION                    #
# Copyright 1999-2007 IAR Systems. All rights reserved.                       #
#                                                                             #
#    Cpu mode     =  thumb                                                    #
#    Endian       =  little                                                   #
#    Source file  =  E:\library\src\stm32f10x_nvic.c                          #
#    Command line =  E:\library\src\stm32f10x_nvic.c -D EMB_FLASH -lCN        #
#                    E:\ELE\yten\pro\Debug\List\ -lb                          #
#                    E:\ELE\yten\pro\Debug\List\ -o                           #
#                    E:\ELE\yten\pro\Debug\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 "C:\Program Files\IAR        #
#                    Systems\Embedded Workbench 5.0                           #
#                    Evaluation\ARM\INC\DLib_Config_Normal.h" -I              #
#                    E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I   #
#                    "C:\Program Files\IAR Systems\Embedded Workbench 5.0     #
#                    Evaluation\ARM\INC\" --section .text=.XML -On            #
#    List file    =  E:\ELE\yten\pro\Debug\List\stm32f10x_nvic.lst            #
#    Object file  =  E:\ELE\yten\pro\Debug\Obj\stm32f10x_nvic.o               #
#                                                                             #
#                                                                             #
###############################################################################

E:\library\src\stm32f10x_nvic.c
      1          /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
      2          * File Name          : stm32f10x_nvic.c
      3          * Author             : MCD Application Team
      4          * Version            : V1.0
      5          * Date               : 10/08/2007
      6          * Description        : This file provides all the NVIC firmware functions.
      7          ********************************************************************************
      8          * THE PRESENT SOFTWARE 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          *******************************************************************************/
     15          
     16          /* Includes ------------------------------------------------------------------*/
     17          #include "stm32f10x_nvic.h"
     18          
     19          /* Private typedef -----------------------------------------------------------*/
     20          /* Private define ------------------------------------------------------------*/
     21          #define AIRCR_VECTKEY_MASK    ((u32)0x05FA0000)
     22          
     23          /* Private macro -------------------------------------------------------------*/
     24          /* Private variables ---------------------------------------------------------*/
     25          /* Private function prototypes -----------------------------------------------*/
     26          /* Private functions ---------------------------------------------------------*/
     27          
     28          /*******************************************************************************
     29          * Function Name  : NVIC_DeInit
     30          * Description    : Deinitializes the NVIC peripheral registers to their default
     31          *                  reset values.
     32          * Input          : None
     33          * Output         : None
     34          * Return         : None
     35          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
     36          void NVIC_DeInit(void)
     37          {
     38            u32 index = 0;
   \                     NVIC_DeInit:
   \   00000000   0021               MOVS     R1,#+0
   \   00000002   0800               MOVS     R0,R1
     39            
     40            NVIC->ICER[0] = 0xFFFFFFFF;
   \   00000004   ....               LDR.N    R1,??DataTable18  ;; 0xe000e180
   \   00000006   5FF0FF32           MOVS     R2,#-1
   \   0000000A   0A60               STR      R2,[R1, #+0]
     41            NVIC->ICER[1] = 0x000007FF;
   \   0000000C   0A49               LDR.N    R1,??NVIC_DeInit_0  ;; 0xe000e184
   \   0000000E   0B4A               LDR.N    R2,??NVIC_DeInit_0+0x4  ;; 0x7ff
   \   00000010   0A60               STR      R2,[R1, #+0]
     42            NVIC->ICPR[0] = 0xFFFFFFFF;
   \   00000012   ....               LDR.N    R1,??DataTable20  ;; 0xe000e280
   \   00000014   5FF0FF32           MOVS     R2,#-1
   \   00000018   0A60               STR      R2,[R1, #+0]
     43            NVIC->ICPR[1] = 0x000007FF;
   \   0000001A   0949               LDR.N    R1,??NVIC_DeInit_0+0x8  ;; 0xe000e284
   \   0000001C   074A               LDR.N    R2,??NVIC_DeInit_0+0x4  ;; 0x7ff
   \   0000001E   0A60               STR      R2,[R1, #+0]
     44            
     45            for(index = 0; index < 0x0B; index++)
   \   00000020   0021               MOVS     R1,#+0
   \   00000022   0800               MOVS     R0,R1
   \                     ??NVIC_DeInit_1:
   \   00000024   0B28               CMP      R0,#+11
   \   00000026   06D2               BCS.N    ??NVIC_DeInit_2
     46            {
     47               NVIC->IPR[index] = 0x00000000;
   \   00000028   0421               MOVS     R1,#+4
   \   0000002A   4143               MULS     R1,R0,R1
   \   0000002C   ....               LDR.N    R2,??DataTable17  ;; 0xe000e400
   \   0000002E   0023               MOVS     R3,#+0
   \   00000030   5350               STR      R3,[R2, R1]
     48            } 
   \   00000032   401C               ADDS     R0,R0,#+1
   \   00000034   F6E7               B.N      ??NVIC_DeInit_1
     49          }
   \                     ??NVIC_DeInit_2:
   \   00000036   7047               BX       LR               ;; return
   \                     ??NVIC_DeInit_0:
   \   00000038   84E100E0           DC32     0xe000e184
   \   0000003C   FF070000           DC32     0x7ff
   \   00000040   84E200E0           DC32     0xe000e284
     50          
     51          /*******************************************************************************
     52          * Function Name  : NVIC_SCBDeInit
     53          * Description    : Deinitializes the SCB peripheral registers to their default 
     54          *                  reset values.
     55          * Input          : None
     56          * Output         : None
     57          * Return         : None
     58          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
     59          void NVIC_SCBDeInit(void)
     60          {
     61            u32 index = 0x00;
   \                     NVIC_SCBDeInit:
   \   00000000   0021               MOVS     R1,#+0
   \   00000002   0800               MOVS     R0,R1
     62            
     63            SCB->ICSR = 0x0A000000;
   \   00000004   ....               LDR.N    R1,??DataTable21  ;; 0xe000ed04
   \   00000006   5FF02062           MOVS     R2,#+167772160
   \   0000000A   0A60               STR      R2,[R1, #+0]
     64            SCB->VTOR = 0x00000000;
   \   0000000C   ....               LDR.N    R1,??DataTable22  ;; 0xe000ed08
   \   0000000E   0022               MOVS     R2,#+0
   \   00000010   0A60               STR      R2,[R1, #+0]
     65            SCB->AIRCR = AIRCR_VECTKEY_MASK;
   \   00000012   ....               LDR.N    R1,??DataTable24  ;; 0xe000ed0c
   \   00000014   ....               LDR.N    R2,??DataTable13  ;; 0x5fa0000
   \   00000016   0A60               STR      R2,[R1, #+0]
     66            SCB->SCR = 0x00000000;
   \   00000018   ....               LDR.N    R1,??DataTable28  ;; 0xe000ed10
   \   0000001A   0022               MOVS     R2,#+0
   \   0000001C   0A60               STR      R2,[R1, #+0]
     67            SCB->CCR = 0x00000000;
   \   0000001E   0F49               LDR.N    R1,??NVIC_SCBDeInit_0  ;; 0xe000ed14
   \   00000020   0022               MOVS     R2,#+0
   \   00000022   0A60               STR      R2,[R1, #+0]
     68            for(index = 0; index < 0x03; index++)
   \   00000024   0021               MOVS     R1,#+0
   \   00000026   0800               MOVS     R0,R1
   \                     ??NVIC_SCBDeInit_1:
   \   00000028   0328               CMP      R0,#+3
   \   0000002A   06D2               BCS.N    ??NVIC_SCBDeInit_2
     69            {
     70               SCB->SHPR[index] = 0;
   \   0000002C   0421               MOVS     R1,#+4
   \   0000002E   4143               MULS     R1,R0,R1
   \   00000030   ....               LDR.N    R2,??DataTable8  ;; 0xe000ed18
   \   00000032   0023               MOVS     R3,#+0
   \   00000034   5350               STR      R3,[R2, R1]
     71            }
   \   00000036   401C               ADDS     R0,R0,#+1
   \   00000038   F6E7               B.N      ??NVIC_SCBDeInit_1
     72            SCB->SHCSR = 0x00000000;
   \                     ??NVIC_SCBDeInit_2:
   \   0000003A   ....               LDR.N    R1,??DataTable32  ;; 0xe000ed24
   \   0000003C   0022               MOVS     R2,#+0
   \   0000003E   0A60               STR      R2,[R1, #+0]
     73            SCB->CFSR = 0xFFFFFFFF;
   \   00000040   ....               LDR.N    R1,??DataTable10  ;; 0xe000ed28
   \   00000042   5FF0FF32           MOVS     R2,#-1
   \   00000046   0A60               STR      R2,[R1, #+0]
     74            SCB->HFSR = 0xFFFFFFFF;
   \   00000048   ....               LDR.N    R1,??DataTable11  ;; 0xe000ed2c
   \   0000004A   5FF0FF32           MOVS     R2,#-1
   \   0000004E   0A60               STR      R2,[R1, #+0]
     75            SCB->DFSR = 0xFFFFFFFF;
   \   00000050   ....               LDR.N    R1,??DataTable12  ;; 0xe000ed30
   \   00000052   5FF0FF32           MOVS     R2,#-1
   \   00000056   0A60               STR      R2,[R1, #+0]
     76          }
   \   00000058   7047               BX       LR               ;; return
   \   0000005A   00BF               Nop      
   \                     ??NVIC_SCBDeInit_0:
   \   0000005C   14ED00E0           DC32     0xe000ed14
     77          
     78          /*******************************************************************************
     79          * Function Name  : NVIC_PriorityGroupConfig
     80          * Description    : Configures the priority grouping: pre-emption priority
     81          *                  and subpriority.
     82          * Input          : - NVIC_PriorityGroup: specifies the priority grouping bits
     83          *                    length. This parameter can be one of the following values:
     84          *                       - NVIC_PriorityGroup_0: 0 bits for pre-emption priority
     85          *                         4 bits for subpriority
     86          *                       - NVIC_PriorityGroup_1: 1 bits for pre-emption priority
     87          *                         3 bits for subpriority
     88          *                       - NVIC_PriorityGroup_2: 2 bits for pre-emption priority
     89          *                         2 bits for subpriority
     90          *                       - NVIC_PriorityGroup_3: 3 bits for pre-emption priority
     91          *                         1 bits for subpriority
     92          *                       - NVIC_PriorityGroup_4: 4 bits for pre-emption priority
     93          *                         0 bits for subpriority
     94          * Output         : None
     95          * Return         : None
     96          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
     97          void NVIC_PriorityGroupConfig(u32 NVIC_PriorityGroup)
     98          {
     99            /* Check the parameters */
    100            assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));
    101            
    102            /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */
    103            SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;
   \                     NVIC_PriorityGroupConfig:
   \   00000000   ....               LDR.N    R1,??DataTable13  ;; 0x5fa0000
   \   00000002   0143               ORRS     R1,R1,R0
   \   00000004   ....               LDR.N    R2,??DataTable24  ;; 0xe000ed0c
   \   00000006   1160               STR      R1,[R2, #+0]
    104          }

⌨️ 快捷键说明

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