📄 stm32f10x_nvic.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 26/Dec/2008 18:22:07 #
# 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_n #
# vic.c #
# Command line = F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_n #
# vic.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_nvic.lst #
# Object file = F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
# IAR\OS-Probe\Flash\Obj\stm32f10x_nvic.r79 #
# #
# #
##############################################################################
F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_nvic.c
1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2 * File Name : stm32f10x_nvic.c
3 * Author : MCD Application Team
4 * Version : V2.0
5 * Date : 05/23/2008
6 * Description : This file provides all the NVIC 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_nvic.h"
20
21 /* Private typedef -----------------------------------------------------------*/
22 /* Private define ------------------------------------------------------------*/
23 #define AIRCR_VECTKEY_MASK ((u32)0x05FA0000)
24
25 /* Private macro -------------------------------------------------------------*/
26 /* Private variables ---------------------------------------------------------*/
27 /* Private function prototypes -----------------------------------------------*/
28 /* Private functions ---------------------------------------------------------*/
29
30 /*******************************************************************************
31 * Function Name : NVIC_DeInit
32 * Description : Deinitializes the NVIC 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 NVIC_DeInit(void)
39 {
40 u32 index = 0;
41
42 NVIC->ICER[0] = 0xFFFFFFFF;
\ NVIC_DeInit:
\ 00000000 5FF0FF30 MOVS R0,#-1
\ 00000004 .... LDR.N R1,??DataTable18 ;; 0xffffffffe000e180
\ 00000006 0860 STR R0,[R1, #+0]
43 NVIC->ICER[1] = 0x0FFFFFFF;
\ 00000008 0109 LSRS R1,R0,#+4
\ 0000000A 084A LDR.N R2,??NVIC_DeInit_0 ;; 0xffffffffe000e184
\ 0000000C 1160 STR R1,[R2, #+0]
44 NVIC->ICPR[0] = 0xFFFFFFFF;
\ 0000000E .... LDR.N R2,??DataTable20 ;; 0xffffffffe000e280
\ 00000010 1060 STR R0,[R2, #+0]
45 NVIC->ICPR[1] = 0x0FFFFFFF;
\ 00000012 0748 LDR.N R0,??NVIC_DeInit_0+0x4 ;; 0xffffffffe000e284
\ 00000014 0160 STR R1,[R0, #+0]
46
47 for(index = 0; index < 0x0F; index++)
\ 00000016 0020 MOVS R0,#+0
\ 00000018 0100 MOVS R1,R0
\ 0000001A .... LDR.N R2,??DataTable17 ;; 0xffffffffe000e400
\ 0000001C 02E0 B.N ??NVIC_DeInit_1
48 {
49 NVIC->IPR[index] = 0x00000000;
\ ??NVIC_DeInit_2:
\ 0000001E 42F82100 STR R0,[R2, R1, LSL #+2]
50 }
\ 00000022 491C ADDS R1,R1,#+1
\ ??NVIC_DeInit_1:
\ 00000024 0F29 CMP R1,#+15
\ 00000026 FAD3 BCC.N ??NVIC_DeInit_2
51 }
\ 00000028 7047 BX LR ;; return
\ 0000002A 00BF Nop
\ ??NVIC_DeInit_0:
\ 0000002C 84E100E0 DC32 0xffffffffe000e184
\ 00000030 84E200E0 DC32 0xffffffffe000e284
52
53 /*******************************************************************************
54 * Function Name : NVIC_SCBDeInit
55 * Description : Deinitializes the SCB peripheral registers to their default
56 * reset values.
57 * Input : None
58 * Output : None
59 * Return : None
60 *******************************************************************************/
\ In segment CODE, align 4, keep-with-next
61 void NVIC_SCBDeInit(void)
62 {
63 u32 index = 0x00;
64
65 SCB->ICSR = 0x0A000000;
\ NVIC_SCBDeInit:
\ 00000000 .... LDR.N R0,??DataTable31 ;; 0xffffffffe000ed04
\ 00000002 5FF02061 MOVS R1,#+167772160
\ 00000006 0160 STR R1,[R0, #+0]
66 SCB->VTOR = 0x00000000;
\ 00000008 0020 MOVS R0,#+0
\ 0000000A .... LDR.N R1,??DataTable22 ;; 0xffffffffe000ed08
\ 0000000C 0860 STR R0,[R1, #+0]
67 SCB->AIRCR = AIRCR_VECTKEY_MASK;
\ 0000000E .... LDR.N R1,??DataTable27 ;; 0xffffffffe000ed0c
\ 00000010 .... LDR.N R2,??DataTable14 ;; 0x5fa0000
\ 00000012 0A60 STR R2,[R1, #+0]
68 SCB->SCR = 0x00000000;
\ 00000014 .... LDR.N R1,??DataTable25 ;; 0xffffffffe000ed10
\ 00000016 0860 STR R0,[R1, #+0]
69 SCB->CCR = 0x00000000;
\ 00000018 0A49 LDR.N R1,??NVIC_SCBDeInit_0 ;; 0xffffffffe000ed14
\ 0000001A 0860 STR R0,[R1, #+0]
70 for(index = 0; index < 0x03; index++)
\ 0000001C 0100 MOVS R1,R0
\ 0000001E .... LDR.N R2,??DataTable28 ;; 0xffffffffe000ed18
\ 00000020 02E0 B.N ??NVIC_SCBDeInit_1
71 {
72 SCB->SHPR[index] = 0;
\ ??NVIC_SCBDeInit_2:
\ 00000022 42F82100 STR R0,[R2, R1, LSL #+2]
73 }
\ 00000026 491C ADDS R1,R1,#+1
\ ??NVIC_SCBDeInit_1:
\ 00000028 0329 CMP R1,#+3
\ 0000002A FAD3 BCC.N ??NVIC_SCBDeInit_2
74 SCB->SHCSR = 0x00000000;
\ 0000002C .... LDR.N R1,??DataTable32 ;; 0xffffffffe000ed24
\ 0000002E 0860 STR R0,[R1, #+0]
75 SCB->CFSR = 0xFFFFFFFF;
\ 00000030 5FF0FF30 MOVS R0,#-1
\ 00000034 .... LDR.N R1,??DataTable34 ;; 0xffffffffe000ed28
\ 00000036 0860 STR R0,[R1, #+0]
76 SCB->HFSR = 0xFFFFFFFF;
\ 00000038 .... LDR.N R1,??DataTable33 ;; 0xffffffffe000ed2c
\ 0000003A 0860 STR R0,[R1, #+0]
77 SCB->DFSR = 0xFFFFFFFF;
\ 0000003C .... LDR.N R1,??DataTable35 ;; 0xffffffffe000ed30
\ 0000003E 0860 STR R0,[R1, #+0]
78 }
\ 00000040 7047 BX LR ;; return
\ 00000042 00BF Nop
\ ??NVIC_SCBDeInit_0:
\ 00000044 14ED00E0 DC32 0xffffffffe000ed14
79
80 /*******************************************************************************
81 * Function Name : NVIC_PriorityGroupConfig
82 * Description : Configures the priority grouping: pre-emption priority
83 * and subpriority.
84 * Input : - NVIC_PriorityGroup: specifies the priority grouping bits
85 * length. This parameter can be one of the following values:
86 * - NVIC_PriorityGroup_0: 0 bits for pre-emption priority
87 * 4 bits for subpriority
88 * - NVIC_PriorityGroup_1: 1 bits for pre-emption priority
89 * 3 bits for subpriority
90 * - NVIC_PriorityGroup_2: 2 bits for pre-emption priority
91 * 2 bits for subpriority
92 * - NVIC_PriorityGroup_3: 3 bits for pre-emption priority
93 * 1 bits for subpriority
94 * - NVIC_PriorityGroup_4: 4 bits for pre-emption priority
95 * 0 bits for subpriority
96 * Output : None
97 * Return : None
98 *******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -