📄 misc.lst
字号:
1 .syntax unified
2 .cpu cortex-m3
3 .fpu softvfp
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 4
11 .eabi_attribute 18, 4
12 .thumb
13 .file "misc.c"
21 .Ltext0:
22 .section .text.NVIC_PriorityGroupConfig,"ax",%progbits
23 .align 2
24 .global NVIC_PriorityGroupConfig
25 .thumb
26 .thumb_func
28 NVIC_PriorityGroupConfig:
29 .LFB26:
30 .file 1 "lib/STM32F10x_StdPeriph_Driver/src/misc.c"
1:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
2:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** ******************************************************************************
3:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @file misc.c
4:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @author MCD Application Team
5:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @version V3.0.0
6:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @date 04/06/2009
7:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @brief This file provides all the miscellaneous firmware functions.
8:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** ******************************************************************************
9:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @copy
10:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** *
11:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
12:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
13:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
14:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
15:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
16:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
17:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** *
18:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * <h2><center>© COPYRIGHT 2009 STMicroelectronics</center></h2>
19:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
20:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
21:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Includes ------------------------------------------------------------------*/
22:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** #include "misc.h"
23:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
24:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @addtogroup StdPeriph_Driver
25:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
26:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
27:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
28:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC
29:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @brief MISC driver modules
30:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
31:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
32:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
33:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_TypesDefinitions
34:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
35:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
36:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
37:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
38:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @}
39:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
40:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
41:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Defines
42:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
43:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
44:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
45:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** #define AIRCR_VECTKEY_MASK ((uint32_t)0x05FA0000)
46:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
47:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @}
48:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
49:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
50:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Macros
51:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
52:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
53:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
54:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
55:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @}
56:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
57:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
58:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Variables
59:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
60:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
61:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
62:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
63:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @}
64:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
65:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
66:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_FunctionPrototypes
67:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
68:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
69:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
70:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
71:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @}
72:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
73:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
74:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Functions
75:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @{
76:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
77:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
78:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
79:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @brief Configures the priority grouping: pre-emption priority and
80:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * subpriority.
81:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @param NVIC_PriorityGroup: specifies the priority grouping bits length.
82:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * This parameter can be one of the following values:
83:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @arg NVIC_PriorityGroup_0: 0 bits for pre-emption priority
84:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * 4 bits for subpriority
85:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority
86:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * 3 bits for subpriority
87:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @arg NVIC_PriorityGroup_2: 2 bits for pre-emption priority
88:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * 2 bits for subpriority
89:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @arg NVIC_PriorityGroup_3: 3 bits for pre-emption priority
90:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * 1 bits for subpriority
91:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @arg NVIC_PriorityGroup_4: 4 bits for pre-emption priority
92:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * 0 bits for subpriority
93:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @retval : None
94:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
95:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)
96:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** {
31 .loc 1 96 0
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 @ link register save eliminated.
35 .LVL0:
97:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Check the parameters */
98:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));
99:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
100:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */
101:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;
36 .loc 1 101 0
37 0000 40F0BE60 orr r0, r0, #99614720
38 .LVL1:
39 0004 024B ldr r3, .L3
40 0006 40F42020 orr r0, r0, #655360
41 000a D860 str r0, [r3, #12]
102:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** }
42 .loc 1 102 0
43 000c 7047 bx lr
44 .L4:
45 000e C046 .align 2
46 .L3:
47 0010 00ED00E0 .word -536810240
48 .LFE26:
50 .section .text.NVIC_Init,"ax",%progbits
51 .align 2
52 .global NVIC_Init
53 .thumb
54 .thumb_func
56 NVIC_Init:
57 .LFB27:
103:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
104:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
105:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @brief Initializes the NVIC peripheral according to the specified
106:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * parameters in the NVIC_InitStruct.
107:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @param NVIC_InitStruct: pointer to a NVIC_InitTypeDef structure
108:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * that contains the configuration information for the
109:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * specified NVIC peripheral.
110:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** * @retval : None
111:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** */
112:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)
113:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** {
58 .loc 1 113 0
59 @ args = 0, pretend = 0, frame = 0
60 @ frame_needed = 0, uses_anonymous_args = 0
61 @ link register save eliminated.
62 .LVL2:
114:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** uint32_t tmppriority = 0x00, tmppre = 0x00, tmpsub = 0x0F;
115:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
116:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Check the parameters */
117:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd));
118:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** assert_param(IS_NVIC_PREEMPTION_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority));
119:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** assert_param(IS_NVIC_SUB_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelSubPriority));
120:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
121:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** if (NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE)
63 .loc 1 121 0
64 0000 C378 ldrb r3, [r0, #3] @ zero_extendqisi2
65 0002 90F800C0 ldrb ip, [r0, #0] @ zero_extendqisi2
66 0006 D3B1 cbz r3, .L6
122:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** {
123:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Compute the Corresponding IRQ Priority --------------------------------*/
124:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08;
67 .loc 1 124 0
68 0008 124B ldr r3, .L10
125:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** tmppre = (0x4 - tmppriority);
126:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** tmpsub = tmpsub >> tmppriority;
127:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
128:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** tmppriority = (uint32_t)NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre;
69 .loc 1 128 0
70 000a 4178 ldrb r1, [r0, #1] @ zero_extendqisi2
71 .loc 1 124 0
72 000c DA68 ldr r2, [r3, #12]
73 000e D243 mvns r2, r2
74 0010 C2F30222 ubfx r2, r2, #8, #3
75 .LVL3:
76 .loc 1 128 0
77 0014 C2F10403 rsb r3, r2, #4
78 0018 9940 lsls r1, r1, r3
79 .LVL4:
129:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** tmppriority |= NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub;
80 .loc 1 129 0
81 001a 0F23 movs r3, #15
82 001c D340 lsrs r3, r3, r2
83 001e 8278 ldrb r2, [r0, #2] @ zero_extendqisi2
84 0020 1340 ands r3, r3, r2
85 0022 0B43 orrs r3, r3, r1
86 .LVL5:
130:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** tmppriority = tmppriority << 0x04;
131:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
132:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
87 .loc 1 132 0
88 0024 0C4A ldr r2, .L10+4
89 0026 1B01 lsls r3, r3, #4
90 .LVL6:
91 0028 DBB2 uxtb r3, r3
92 002a 6244 add r2, ip, r2
93 002c 82F80033 strb r3, [r2, #768]
133:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****
134:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Enable the Selected IRQ Channels --------------------------------------*/
135:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** NVIC->ISER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] =
94 .loc 1 135 0
95 0030 0CF01F02 and r2, ip, #31
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -