?? stm32f10x_nvic.lst
字號:
###############################################################################
# #
# IAR ANSI C/C++ Compiler V6.10.1.52143/W32 for ARM 19/Apr/2011 11:08:02 #
# Copyright 1999-2010 IAR Systems AB. #
# #
# Cpu mode = thumb #
# Endian = little #
# Source file = C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\BSP\ST\STM32\src\stm32f10x_nvic.c #
# Command line = "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\BSP\ST\STM32\src\stm32f10x_nvic.c" -D #
# USE_STDPERIPH_DRIVER -lCN "C:\Customers\Project #
# Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Mi #
# crium\uC-Eval-STM32F107\IAR\OS-II\Flash\List\" -o #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\Flash\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 6.0\arm\INC\c\DLib_Config_Nor #
# mal.h" -I "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\" -I "C:\Customers\Project #
# Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Mi #
# crium\uC-Eval-STM32F107\IAR\OS-II\..\BSP\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\BSP\ST\STM32\inc\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\BSP\uCOS-II\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\uc-lib\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\uC-CPU\" -I #
# "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\uC-CPU\ARM-Cortex- #
# M3\IAR\" -I "C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\..\..\..\..\..\ucos-ii\ports\arm- #
# cortex-m3\generic\iar\" -I "C:\Customers\Project #
# Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Mi #
# crium\uC-Eval-STM32F107\IAR\OS-II\..\..\..\..\..\ucos-ii #
# \source\" -On --use_c++_inline #
# List file = C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\Flash\List\stm32f10x_nvic.lst #
# Object file = C:\Customers\Project Updates\ST #
# STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Ev #
# al-STM32F107\IAR\OS-II\Flash\Obj\stm32f10x_nvic.o #
# #
# #
###############################################################################
C:\Customers\Project Updates\ST STM32(Micrium)\Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\IAR\BSP\ST\STM32\src\stm32f10x_nvic.c
1 /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
2 * File Name : stm32f10x_nvic.c
3 * Author : MCD Application Team
4 * Version : V2.1.0RC2
5 * Date : 03/13/2009
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 FIRMWARE 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 .text, align 2, keep-with-next
36 void NVIC_DeInit(void)
37 {
38 u32 index = 0;
\ NVIC_DeInit:
\ 00000000 0020 MOVS R0,#+0
39
40 NVIC->ICER[0] = 0xFFFFFFFF;
\ 00000002 ........ LDR.W R1,??DataTable22 ;; 0xe000e180
\ 00000006 5FF0FF32 MOVS R2,#-1
\ 0000000A 0A60 STR R2,[R1, #+0]
41 NVIC->ICER[1] = 0xFFFFFFFF;
\ 0000000C ........ LDR.W R1,??DataTable22_1 ;; 0xe000e184
\ 00000010 5FF0FF32 MOVS R2,#-1
\ 00000014 0A60 STR R2,[R1, #+0]
42 NVIC->ICER[2] = 0x0000000F;
\ 00000016 ........ LDR.W R1,??DataTable22_2 ;; 0xe000e188
\ 0000001A 0F22 MOVS R2,#+15
\ 0000001C 0A60 STR R2,[R1, #+0]
43 NVIC->ICPR[0] = 0xFFFFFFFF;
\ 0000001E ........ LDR.W R1,??DataTable22_3 ;; 0xe000e280
\ 00000022 5FF0FF32 MOVS R2,#-1
\ 00000026 0A60 STR R2,[R1, #+0]
44 NVIC->ICPR[1] = 0xFFFFFFFF;
\ 00000028 ........ LDR.W R1,??DataTable22_4 ;; 0xe000e284
\ 0000002C 5FF0FF32 MOVS R2,#-1
\ 00000030 0A60 STR R2,[R1, #+0]
45 NVIC->ICPR[2] = 0x0000000F;
\ 00000032 ........ LDR.W R1,??DataTable22_5 ;; 0xe000e288
\ 00000036 0F22 MOVS R2,#+15
\ 00000038 0A60 STR R2,[R1, #+0]
46
47 for(index = 0; index < 0x11; index++)
\ 0000003A 0021 MOVS R1,#+0
\ 0000003C 0800 MOVS R0,R1
\ ??NVIC_DeInit_0:
\ 0000003E 1128 CMP R0,#+17
\ 00000040 06D2 BCS.N ??NVIC_DeInit_1
48 {
49 NVIC->IPR[index] = 0x00000000;
\ 00000042 ........ LDR.W R1,??DataTable22_6 ;; 0xe000e400
\ 00000046 0022 MOVS R2,#+0
\ 00000048 41F82020 STR R2,[R1, R0, LSL #+2]
50 }
\ 0000004C 401C ADDS R0,R0,#+1
\ 0000004E F6E7 B.N ??NVIC_DeInit_0
51 }
\ ??NVIC_DeInit_1:
\ 00000050 7047 BX LR ;; return
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 section .text, align 2, keep-with-next
61 void NVIC_SCBDeInit(void)
62 {
63 u32 index = 0x00;
\ NVIC_SCBDeInit:
\ 00000000 0020 MOVS R0,#+0
64
65 SCB->ICSR = 0x0A000000;
\ 00000002 ........ LDR.W R1,??DataTable22_7 ;; 0xe000ed04
\ 00000006 5FF02062 MOVS R2,#+167772160
\ 0000000A 0A60 STR R2,[R1, #+0]
66 SCB->VTOR = 0x00000000;
\ 0000000C ........ LDR.W R1,??DataTable22_8 ;; 0xe000ed08
\ 00000010 0022 MOVS R2,#+0
\ 00000012 0A60 STR R2,[R1, #+0]
67 SCB->AIRCR = AIRCR_VECTKEY_MASK;
\ 00000014 ........ LDR.W R1,??DataTable22_9 ;; 0xe000ed0c
\ 00000018 ........ LDR.W R2,??DataTable22_10 ;; 0x5fa0000
\ 0000001C 0A60 STR R2,[R1, #+0]
68 SCB->SCR = 0x00000000;
\ 0000001E ........ LDR.W R1,??DataTable22_11 ;; 0xe000ed10
\ 00000022 0022 MOVS R2,#+0
\ 00000024 0A60 STR R2,[R1, #+0]
69 SCB->CCR = 0x00000000;
\ 00000026 ........ LDR.W R1,??DataTable22_12 ;; 0xe000ed14
\ 0000002A 0022 MOVS R2,#+0
\ 0000002C 0A60 STR R2,[R1, #+0]
70 for(index = 0; index < 0x03; index++)
\ 0000002E 0021 MOVS R1,#+0
\ 00000030 0800 MOVS R0,R1
\ ??NVIC_SCBDeInit_0:
\ 00000032 0328 CMP R0,#+3
\ 00000034 06D2 BCS.N ??NVIC_SCBDeInit_1
71 {
72 SCB->SHPR[index] = 0;
\ 00000036 ........ LDR.W R1,??DataTable22_13 ;; 0xe000ed18
\ 0000003A 0022 MOVS R2,#+0
\ 0000003C 41F82020 STR R2,[R1, R0, LSL #+2]
73 }
\ 00000040 401C ADDS R0,R0,#+1
\ 00000042 F6E7 B.N ??NVIC_SCBDeInit_0
74 SCB->SHCSR = 0x00000000;
\ ??NVIC_SCBDeInit_1:
\ 00000044 ........ LDR.W R1,??DataTable22_14 ;; 0xe000ed24
\ 00000048 0022 MOVS R2,#+0
\ 0000004A 0A60 STR R2,[R1, #+0]
75 SCB->CFSR = 0xFFFFFFFF;
\ 0000004C ........ LDR.W R1,??DataTable22_15 ;; 0xe000ed28
\ 00000050 5FF0FF32 MOVS R2,#-1
\ 00000054 0A60 STR R2,[R1, #+0]
76 SCB->HFSR = 0xFFFFFFFF;
\ 00000056 ........ LDR.W R1,??DataTable22_16 ;; 0xe000ed2c
\ 0000005A 5FF0FF32 MOVS R2,#-1
\ 0000005E 0A60 STR R2,[R1, #+0]
77 SCB->DFSR = 0xFFFFFFFF;
\ 00000060 ........ LDR.W R1,??DataTable22_17 ;; 0xe000ed30
\ 00000064 5FF0FF32 MOVS R2,#-1
\ 00000068 0A60 STR R2,[R1, #+0]
78 }
\ 0000006A 7047 BX LR ;; return
79
80 /*******************************************************************************
81 * Function Name : NVIC_PriorityGroupConfig
82 * Description : Configures the priority grouping: pre-emption priority
83 * and subpriority.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -