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

📄 stm32f10x_nvic.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     13/Mar/2009  16:01:11 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  E:\UC_OS\Micrium\Software\CPU\ST\STM32\src\stm32f10x #
#                       _nvic.c                                              #
#    Command line    =  E:\UC_OS\Micrium\Software\CPU\ST\STM32\src\stm32f10x #
#                       _nvic.c -lCN E:\UC_OS\Micrium\Software\EvalBoards\ST #
#                       \STM3210B-EVAL\IAR\OS-Probe\Flash\List\ -o           #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\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          #
#                       "C:\Program Files\IAR Systems\Embedded Workbench     #
#                       4.0 Kickstart\arm\LIB\dl7mptnnl8n.h" -I              #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\ -I E:\UC_OS\Micrium\Software\EvalBoa #
#                       rds\ST\STM3210B-EVAL\IAR\OS-Probe\..\..\..\..\..\uco #
#                       s-ii\ports\arm-cortex-m3\generic\iar\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\ucos-ii\source\ -I     #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-lib\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ -I             #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uc-cpu\ARM-Cortex-M3\I #
#                       AR\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM32 #
#                       10B-EVAL\IAR\OS-Probe\..\..\..\..\..\cpu\st\stm32\in #
#                       c\ -I E:\UC_OS\Micrium\Software\EvalBoards\ST\STM321 #
#                       0B-EVAL\IAR\OS-Probe\..\BSP\ -I                      #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\RS-232\Source\ -I                    #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\RS-232\Ports\ST\STM32\ -I            #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Commun #
#                       ication\Generic\Source\ -I                           #
#                       E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Plugin #
#                       s\uCOS-II\ -I "C:\Program Files\IAR                  #
#                       Systems\Embedded Workbench 4.0 Kickstart\arm\INC\"   #
#    List file       =  E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\List\stm32f10x_nvic.lst         #
#    Object file     =  E:\UC_OS\Micrium\Software\EvalBoards\ST\STM3210B-EVA #
#                       L\IAR\OS-Probe\Flash\Obj\stm32f10x_nvic.r79          #
#                                                                            #
#                                                                            #
##############################################################################

E:\UC_OS\Micrium\Software\CPU\ST\STM32\src\stm32f10x_nvic.c
      1          /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
      2          * File Name          : stm32f10x_nvic.c
      3          * Author             : MCD Application Team
      4          * Date First Issued  : 09/29/2006
      5          * Description        : This file provides all the NVIC firmware functions.
      6          ********************************************************************************
      7          * History:
      8          * 05/21/2007: V0.3
      9          * 04/02/2007: V0.2
     10          * 02/05/2007: V0.1
     11          * 09/29/2006: V0.01
     12          ********************************************************************************
     13          * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
     14          * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
     15          * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
     16          * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
     17          * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
     18          * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     19          *******************************************************************************/
     20          
     21          /* Includes ------------------------------------------------------------------*/
     22          #include "stm32f10x_nvic.h"
     23          
     24          /* Private typedef -----------------------------------------------------------*/
     25          /* Private define ------------------------------------------------------------*/
     26          #define AIRC_VECTKEY_MASK    ((u32)0x05FA0000)
     27          
     28          /* Private macro -------------------------------------------------------------*/
     29          /* Private variables ---------------------------------------------------------*/
     30          /* Private function prototypes -----------------------------------------------*/
     31          /* Private functions ---------------------------------------------------------*/
     32          
     33          /*******************************************************************************
     34          * Function Name  : NVIC_DeInit
     35          * Description    : Deinitializes the NVIC peripheral registers to their default
     36          *                  reset values.
     37          * Input          : None
     38          * Output         : None
     39          * Return         : None
     40          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     41          void NVIC_DeInit(void)
     42          {
     43            u32 index = 0;
     44            
     45            NVIC->Disable[0] = 0xFFFFFFFF;
   \                     NVIC_DeInit:
   \   00000000   5FF0FF30           MOVS     R0,#-1
   \   00000004   ....               LDR.N    R1,??DataTable18  ;; 0xffffffffe000e180
   \   00000006   0860               STR      R0,[R1, #+0]
     46            NVIC->Disable[1] = 0x000007FF;
   \   00000008   410D               LSRS     R1,R0,#+21
   \   0000000A   084A               LDR.N    R2,??NVIC_DeInit_0  ;; 0xffffffffe000e184
   \   0000000C   1160               STR      R1,[R2, #+0]
     47            NVIC->Clear[0] = 0xFFFFFFFF;
   \   0000000E   ....               LDR.N    R2,??DataTable20  ;; 0xffffffffe000e280
   \   00000010   1060               STR      R0,[R2, #+0]
     48            NVIC->Clear[1] = 0x000007FF;
   \   00000012   0748               LDR.N    R0,??NVIC_DeInit_0+0x4  ;; 0xffffffffe000e284
   \   00000014   0160               STR      R1,[R0, #+0]
     49            
     50            for(index = 0; index < 0x0B; index++)
   \   00000016   0020               MOVS     R0,#+0
   \   00000018   0100               MOVS     R1,R0
   \   0000001A   ....               LDR.N    R2,??DataTable17  ;; 0xffffffffe000e400
   \   0000001C   02E0               B.N      ??NVIC_DeInit_1
     51            {
     52               NVIC->Priority[index] = 0x00000000;
   \                     ??NVIC_DeInit_2:
   \   0000001E   42F82100           STR      R0,[R2, R1, LSL #+2]
     53            } 
   \   00000022   491C               ADDS     R1,R1,#+1
   \                     ??NVIC_DeInit_1:
   \   00000024   0B29               CMP      R1,#+11
   \   00000026   FAD3               BCC.N    ??NVIC_DeInit_2
     54          }
   \   00000028   7047               BX       LR               ;; return
   \   0000002A   00BF               Nop      
   \                     ??NVIC_DeInit_0:
   \   0000002C   84E100E0           DC32     0xffffffffe000e184
   \   00000030   84E200E0           DC32     0xffffffffe000e284
     55          
     56          /*******************************************************************************
     57          * Function Name  : NVIC_SCBDeInit
     58          * Description    : Deinitializes the SCB peripheral registers to their default 
     59          *                  reset values.
     60          * Input          : None
     61          * Output         : None
     62          * Return         : None
     63          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     64          void NVIC_SCBDeInit(void)
     65          {
     66            u32 index = 0x00;
     67            
     68            SCB->IRQControlState = 0x0A000000;
   \                     NVIC_SCBDeInit:
   \   00000000   ....               LDR.N    R0,??DataTable31  ;; 0xffffffffe000ed04
   \   00000002   5FF02061           MOVS     R1,#+167772160
   \   00000006   0160               STR      R1,[R0, #+0]
     69            SCB->ExceptionTableOffset = 0x00000000;
   \   00000008   0020               MOVS     R0,#+0
   \   0000000A   ....               LDR.N    R1,??DataTable22  ;; 0xffffffffe000ed08
   \   0000000C   0860               STR      R0,[R1, #+0]
     70            SCB->AIRC = AIRC_VECTKEY_MASK;
   \   0000000E   ....               LDR.N    R1,??DataTable27  ;; 0xffffffffe000ed0c
   \   00000010   ....               LDR.N    R2,??DataTable14  ;; 0x5fa0000
   \   00000012   0A60               STR      R2,[R1, #+0]
     71            SCB->SysCtrl = 0x00000000;
   \   00000014   ....               LDR.N    R1,??DataTable25  ;; 0xffffffffe000ed10
   \   00000016   0860               STR      R0,[R1, #+0]
     72            SCB->ConfigCtrl = 0x00000000;
   \   00000018   0A49               LDR.N    R1,??NVIC_SCBDeInit_0  ;; 0xffffffffe000ed14
   \   0000001A   0860               STR      R0,[R1, #+0]
     73            for(index = 0; index < 0x03; index++)
   \   0000001C   0100               MOVS     R1,R0
   \   0000001E   ....               LDR.N    R2,??DataTable28  ;; 0xffffffffe000ed18
   \   00000020   02E0               B.N      ??NVIC_SCBDeInit_1
     74            {
     75               SCB->SystemPriority[index] = 0;
   \                     ??NVIC_SCBDeInit_2:
   \   00000022   42F82100           STR      R0,[R2, R1, LSL #+2]
     76            }
   \   00000026   491C               ADDS     R1,R1,#+1
   \                     ??NVIC_SCBDeInit_1:
   \   00000028   0329               CMP      R1,#+3
   \   0000002A   FAD3               BCC.N    ??NVIC_SCBDeInit_2
     77            SCB->SysHandlerCtrl = 0x00000000;
   \   0000002C   ....               LDR.N    R1,??DataTable32  ;; 0xffffffffe000ed24
   \   0000002E   0860               STR      R0,[R1, #+0]
     78            SCB->ConfigFaultStatus = 0xFFFFFFFF;
   \   00000030   5FF0FF30           MOVS     R0,#-1
   \   00000034   ....               LDR.N    R1,??DataTable34  ;; 0xffffffffe000ed28
   \   00000036   0860               STR      R0,[R1, #+0]
     79            SCB->HardFaultStatus = 0xFFFFFFFF;
   \   00000038   ....               LDR.N    R1,??DataTable33  ;; 0xffffffffe000ed2c
   \   0000003A   0860               STR      R0,[R1, #+0]
     80            SCB->DebugFaultStatus = 0xFFFFFFFF;
   \   0000003C   ....               LDR.N    R1,??DataTable35  ;; 0xffffffffe000ed30
   \   0000003E   0860               STR      R0,[R1, #+0]
     81          }
   \   00000040   7047               BX       LR               ;; return
   \   00000042   00BF               Nop      
   \                     ??NVIC_SCBDeInit_0:
   \   00000044   14ED00E0           DC32     0xffffffffe000ed14
     82          
     83          /*******************************************************************************
     84          * Function Name  : NVIC_PriorityGroupConfig
     85          * Description    : Configures the priority grouping: pre-emption priority
     86          *                  and subpriority.
     87          * Input          : - NVIC_PriorityGroup: specifies the priority grouping bits
     88          *                    length. This parameter can be one of the following values:
     89          *                       - NVIC_PriorityGroup_0: 0 bits for pre-emption priority
     90          *                         4 bits for subpriority
     91          *                       - NVIC_PriorityGroup_1: 1 bits for pre-emption priority
     92          *                         3 bits for subpriority
     93          *                       - NVIC_PriorityGroup_2: 2 bits for pre-emption priority
     94          *                         2 bits for subpriority
     95          *                       - NVIC_PriorityGroup_3: 3 bits for pre-emption priority
     96          *                         1 bits for subpriority
     97          *                       - NVIC_PriorityGroup_4: 4 bits for pre-emption priority
     98          *                         0 bits for subpriority
     99          * Output         : None

⌨️ 快捷键说明

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