ARM GAS /tmp/ccQrrBPm.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
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, 1
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "adc.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .section .text.MX_ADC1_Init,"ax",%progbits
18 .align 1
19 .global MX_ADC1_Init
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv4-sp-d16
25 MX_ADC1_Init:
26 .LFB130:
27 .file 1 "Src/adc.c"
1:Src/adc.c **** /**
2:Src/adc.c **** ******************************************************************************
3:Src/adc.c **** * File Name : ADC.c
4:Src/adc.c **** * Description : This file provides code for the configuration
5:Src/adc.c **** * of the ADC instances.
6:Src/adc.c **** ******************************************************************************
7:Src/adc.c **** * @attention
8:Src/adc.c **** *
9:Src/adc.c **** *
© Copyright (c) 2022 STMicroelectronics.
10:Src/adc.c **** * All rights reserved.
11:Src/adc.c **** *
12:Src/adc.c **** * This software component is licensed by ST under BSD 3-Clause license,
13:Src/adc.c **** * the "License"; You may not use this file except in compliance with the
14:Src/adc.c **** * License. You may obtain a copy of the License at:
15:Src/adc.c **** * opensource.org/licenses/BSD-3-Clause
16:Src/adc.c **** *
17:Src/adc.c **** ******************************************************************************
18:Src/adc.c **** */
19:Src/adc.c ****
20:Src/adc.c **** /* Includes ------------------------------------------------------------------*/
21:Src/adc.c **** #include "adc.h"
22:Src/adc.c ****
23:Src/adc.c **** /* USER CODE BEGIN 0 */
24:Src/adc.c ****
25:Src/adc.c **** /* USER CODE END 0 */
26:Src/adc.c ****
27:Src/adc.c **** ADC_HandleTypeDef hadc1;
28:Src/adc.c ****
29:Src/adc.c **** /* ADC1 init function */
30:Src/adc.c **** void MX_ADC1_Init(void)
31:Src/adc.c **** {
ARM GAS /tmp/ccQrrBPm.s page 2
28 .loc 1 31 0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 16
31 @ frame_needed = 0, uses_anonymous_args = 0
32 0000 00B5 push {lr}
33 .LCFI0:
34 .cfi_def_cfa_offset 4
35 .cfi_offset 14, -4
36 0002 85B0 sub sp, sp, #20
37 .LCFI1:
38 .cfi_def_cfa_offset 24
32:Src/adc.c **** ADC_ChannelConfTypeDef sConfig = {0};
39 .loc 1 32 0
40 0004 0023 movs r3, #0
41 0006 0093 str r3, [sp]
42 0008 0193 str r3, [sp, #4]
43 000a 0293 str r3, [sp, #8]
44 000c 0393 str r3, [sp, #12]
33:Src/adc.c ****
34:Src/adc.c **** /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of con
35:Src/adc.c **** */
36:Src/adc.c **** hadc1.Instance = ADC1;
45 .loc 1 36 0
46 000e 1448 ldr r0, .L7
47 0010 144A ldr r2, .L7+4
48 0012 0260 str r2, [r0]
37:Src/adc.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
49 .loc 1 37 0
50 0014 4360 str r3, [r0, #4]
38:Src/adc.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B;
51 .loc 1 38 0
52 0016 8360 str r3, [r0, #8]
39:Src/adc.c **** hadc1.Init.ScanConvMode = DISABLE;
53 .loc 1 39 0
54 0018 0361 str r3, [r0, #16]
40:Src/adc.c **** hadc1.Init.ContinuousConvMode = DISABLE;
55 .loc 1 40 0
56 001a 0376 strb r3, [r0, #24]
41:Src/adc.c **** hadc1.Init.DiscontinuousConvMode = DISABLE;
57 .loc 1 41 0
58 001c 80F82030 strb r3, [r0, #32]
42:Src/adc.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
59 .loc 1 42 0
60 0020 C362 str r3, [r0, #44]
43:Src/adc.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
61 .loc 1 43 0
62 0022 114A ldr r2, .L7+8
63 0024 8262 str r2, [r0, #40]
44:Src/adc.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
64 .loc 1 44 0
65 0026 C360 str r3, [r0, #12]
45:Src/adc.c **** hadc1.Init.NbrOfConversion = 1;
66 .loc 1 45 0
67 0028 0122 movs r2, #1
68 002a C261 str r2, [r0, #28]
46:Src/adc.c **** hadc1.Init.DMAContinuousRequests = DISABLE;
69 .loc 1 46 0
ARM GAS /tmp/ccQrrBPm.s page 3
70 002c 80F83030 strb r3, [r0, #48]
47:Src/adc.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
71 .loc 1 47 0
72 0030 4261 str r2, [r0, #20]
48:Src/adc.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK)
73 .loc 1 48 0
74 0032 FFF7FEFF bl HAL_ADC_Init
75 .LVL0:
76 0036 68B9 cbnz r0, .L5
77 .L2:
49:Src/adc.c **** {
50:Src/adc.c **** Error_Handler();
51:Src/adc.c **** }
52:Src/adc.c **** /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and it
53:Src/adc.c **** */
54:Src/adc.c **** sConfig.Channel = ADC_CHANNEL_4;
78 .loc 1 54 0
79 0038 0423 movs r3, #4
80 003a 0093 str r3, [sp]
55:Src/adc.c **** sConfig.Rank = 1;
81 .loc 1 55 0
82 003c 0123 movs r3, #1
83 003e 0193 str r3, [sp, #4]
56:Src/adc.c **** sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES;
84 .loc 1 56 0
85 0040 0023 movs r3, #0
86 0042 0293 str r3, [sp, #8]
57:Src/adc.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
87 .loc 1 57 0
88 0044 6946 mov r1, sp
89 0046 0648 ldr r0, .L7
90 0048 FFF7FEFF bl HAL_ADC_ConfigChannel
91 .LVL1:
92 004c 28B9 cbnz r0, .L6
93 .L1:
58:Src/adc.c **** {
59:Src/adc.c **** Error_Handler();
60:Src/adc.c **** }
61:Src/adc.c ****
62:Src/adc.c **** }
94 .loc 1 62 0
95 004e 05B0 add sp, sp, #20
96 .LCFI2:
97 .cfi_remember_state
98 .cfi_def_cfa_offset 4
99 @ sp needed
100 0050 5DF804FB ldr pc, [sp], #4
101 .L5:
102 .LCFI3:
103 .cfi_restore_state
50:Src/adc.c **** }
104 .loc 1 50 0
105 0054 FFF7FEFF bl Error_Handler
106 .LVL2:
107 0058 EEE7 b .L2
108 .L6:
59:Src/adc.c **** }
ARM GAS /tmp/ccQrrBPm.s page 4
109 .loc 1 59 0
110 005a FFF7FEFF bl Error_Handler
111 .LVL3:
112 .loc 1 62 0
113 005e F6E7 b .L1
114 .L8:
115 .align 2
116 .L7:
117 0060 00000000 .word hadc1
118 0064 00200140 .word 1073815552
119 0068 0100000F .word 251658241
120 .cfi_endproc
121 .LFE130:
123 .section .text.HAL_ADC_MspInit,"ax",%progbits
124 .align 1
125 .global HAL_ADC_MspInit
126 .syntax unified
127 .thumb
128 .thumb_func
129 .fpu fpv4-sp-d16
131 HAL_ADC_MspInit:
132 .LFB131:
63:Src/adc.c ****
64:Src/adc.c **** void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
65:Src/adc.c **** {
133 .loc 1 65 0
134 .cfi_startproc
135 @ args = 0, pretend = 0, frame = 32
136 @ frame_needed = 0, uses_anonymous_args = 0
137 .LVL4:
138 0000 00B5 push {lr}
139 .LCFI4:
140 .cfi_def_cfa_offset 4
141 .cfi_offset 14, -4
142 0002 89B0 sub sp, sp, #36
143 .LCFI5:
144 .cfi_def_cfa_offset 40
66:Src/adc.c ****
67:Src/adc.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
145 .loc 1 67 0
146 0004 0023 movs r3, #0
147 0006 0393 str r3, [sp, #12]
148 0008 0493 str r3, [sp, #16]
149 000a 0593 str r3, [sp, #20]
150 000c 0693 str r3, [sp, #24]
151 000e 0793 str r3, [sp, #28]
68:Src/adc.c **** if(adcHandle->Instance==ADC1)
152 .loc 1 68 0
153 0010 0268 ldr r2, [r0]
154 0012 03F18043 add r3, r3, #1073741824
155 0016 03F59033 add r3, r3, #73728
156 001a 9A42 cmp r2, r3
157 001c 02D0 beq .L12
158 .LVL5:
159 .L9:
69:Src/adc.c **** {
70:Src/adc.c **** /* USER CODE BEGIN ADC1_MspInit 0 */
ARM GAS /tmp/ccQrrBPm.s page 5
71:Src/adc.c ****
72:Src/adc.c **** /* USER CODE END ADC1_MspInit 0 */
73:Src/adc.c **** /* ADC1 clock enable */
74:Src/adc.c **** __HAL_RCC_ADC1_CLK_ENABLE();
75:Src/adc.c ****
76:Src/adc.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
77:Src/adc.c **** /**ADC1 GPIO Configuration
78:Src/adc.c **** PA4 ------> ADC1_IN4
79:Src/adc.c **** */
80:Src/adc.c **** GPIO_InitStruct.Pin = GPIO_PIN_4;
81:Src/adc.c **** GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
82:Src/adc.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
83:Src/adc.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
84:Src/adc.c ****
85:Src/adc.c **** /* USER CODE BEGIN ADC1_MspInit 1 */
86:Src/adc.c ****
87:Src/adc.c **** /* USER CODE END ADC1_MspInit 1 */
88:Src/adc.c **** }
89:Src/adc.c **** }
160 .loc 1 89 0
161 001e 09B0 add sp, sp, #36
162 .LCFI6:
163 .cfi_remember_state
164 .cfi_def_cfa_offset 4
165 @ sp needed
166 0020 5DF804FB ldr pc, [sp], #4
167 .LVL6:
168 .L12:
169 .LCFI7:
170 .cfi_restore_state
171 .LBB2:
74:Src/adc.c ****
172 .loc 1 74 0
173 0024 0021 movs r1, #0
174 0026 0191 str r1, [sp, #4]
175 0028 03F58C33 add r3, r3, #71680
176 002c 5A6C ldr r2, [r3, #68]
177 002e 42F48072 orr r2, r2, #256
178 0032 5A64 str r2, [r3, #68]
179 0034 5A6C ldr r2, [r3, #68]
180 0036 02F48072 and r2, r2, #256
181 003a 0192 str r2, [sp, #4]
182 003c 019A ldr r2, [sp, #4]
183 .LBE2:
184 .LBB3:
76:Src/adc.c **** /**ADC1 GPIO Configuration
185 .loc 1 76 0
186 003e 0291 str r1, [sp, #8]
187 0040 1A6B ldr r2, [r3, #48]
188 0042 42F00102 orr r2, r2, #1
189 0046 1A63 str r2, [r3, #48]
190 0048 1B6B ldr r3, [r3, #48]
191 004a 03F00103 and r3, r3, #1
192 004e 0293 str r3, [sp, #8]
193 0050 029B ldr r3, [sp, #8]
194 .LBE3:
80:Src/adc.c **** GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
ARM GAS /tmp/ccQrrBPm.s page 6
195 .loc 1 80 0
196 0052 1023 movs r3, #16
197 0054 0393 str r3, [sp, #12]
81:Src/adc.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
198 .loc 1 81 0
199 0056 0323 movs r3, #3
200 0058 0493 str r3, [sp, #16]
83:Src/adc.c ****
201 .loc 1 83 0
202 005a 03A9 add r1, sp, #12
203 005c 0148 ldr r0, .L13
204 .LVL7:
205 005e FFF7FEFF bl HAL_GPIO_Init
206 .LVL8:
207 .loc 1 89 0
208 0062 DCE7 b .L9
209 .L14:
210 .align 2
211 .L13:
212 0064 00000240 .word 1073872896
213 .cfi_endproc
214 .LFE131:
216 .section .text.HAL_ADC_MspDeInit,"ax",%progbits
217 .align 1
218 .global HAL_ADC_MspDeInit
219 .syntax unified
220 .thumb
221 .thumb_func
222 .fpu fpv4-sp-d16
224 HAL_ADC_MspDeInit:
225 .LFB132:
90:Src/adc.c ****
91:Src/adc.c **** void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
92:Src/adc.c **** {
226 .loc 1 92 0
227 .cfi_startproc
228 @ args = 0, pretend = 0, frame = 0
229 @ frame_needed = 0, uses_anonymous_args = 0
230 .LVL9:
231 0000 08B5 push {r3, lr}
232 .LCFI8:
233 .cfi_def_cfa_offset 8
234 .cfi_offset 3, -8
235 .cfi_offset 14, -4
93:Src/adc.c ****
94:Src/adc.c **** if(adcHandle->Instance==ADC1)
236 .loc 1 94 0
237 0002 0268 ldr r2, [r0]
238 0004 064B ldr r3, .L19
239 0006 9A42 cmp r2, r3
240 0008 00D0 beq .L18
241 .LVL10:
242 .L15:
243 000a 08BD pop {r3, pc}
244 .LVL11:
245 .L18:
95:Src/adc.c **** {
ARM GAS /tmp/ccQrrBPm.s page 7
96:Src/adc.c **** /* USER CODE BEGIN ADC1_MspDeInit 0 */
97:Src/adc.c ****
98:Src/adc.c **** /* USER CODE END ADC1_MspDeInit 0 */
99:Src/adc.c **** /* Peripheral clock disable */
100:Src/adc.c **** __HAL_RCC_ADC1_CLK_DISABLE();
246 .loc 1 100 0
247 000c 054A ldr r2, .L19+4
248 000e 536C ldr r3, [r2, #68]
249 0010 23F48073 bic r3, r3, #256
250 0014 5364 str r3, [r2, #68]
101:Src/adc.c ****
102:Src/adc.c **** /**ADC1 GPIO Configuration
103:Src/adc.c **** PA4 ------> ADC1_IN4
104:Src/adc.c **** */
105:Src/adc.c **** HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4);
251 .loc 1 105 0
252 0016 1021 movs r1, #16
253 0018 0348 ldr r0, .L19+8
254 .LVL12:
255 001a FFF7FEFF bl HAL_GPIO_DeInit
256 .LVL13:
106:Src/adc.c ****
107:Src/adc.c **** /* USER CODE BEGIN ADC1_MspDeInit 1 */
108:Src/adc.c ****
109:Src/adc.c **** /* USER CODE END ADC1_MspDeInit 1 */
110:Src/adc.c **** }
111:Src/adc.c **** }
257 .loc 1 111 0
258 001e F4E7 b .L15
259 .L20:
260 .align 2
261 .L19:
262 0020 00200140 .word 1073815552
263 0024 00380240 .word 1073887232
264 0028 00000240 .word 1073872896
265 .cfi_endproc
266 .LFE132:
268 .comm hadc1,72,4
269 .text
270 .Letext0:
271 .file 2 "/usr/include/newlib/machine/_default_types.h"
272 .file 3 "/usr/include/newlib/sys/_stdint.h"
273 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
274 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
275 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
276 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
277 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
278 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
279 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
280 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h"
281 .file 12 "Inc/adc.h"
282 .file 13 "Inc/main.h"
ARM GAS /tmp/ccQrrBPm.s page 8
DEFINED SYMBOLS
*ABS*:0000000000000000 adc.c
/tmp/ccQrrBPm.s:18 .text.MX_ADC1_Init:0000000000000000 $t
/tmp/ccQrrBPm.s:25 .text.MX_ADC1_Init:0000000000000000 MX_ADC1_Init
/tmp/ccQrrBPm.s:117 .text.MX_ADC1_Init:0000000000000060 $d
*COM*:0000000000000048 hadc1
/tmp/ccQrrBPm.s:124 .text.HAL_ADC_MspInit:0000000000000000 $t
/tmp/ccQrrBPm.s:131 .text.HAL_ADC_MspInit:0000000000000000 HAL_ADC_MspInit
/tmp/ccQrrBPm.s:212 .text.HAL_ADC_MspInit:0000000000000064 $d
/tmp/ccQrrBPm.s:217 .text.HAL_ADC_MspDeInit:0000000000000000 $t
/tmp/ccQrrBPm.s:224 .text.HAL_ADC_MspDeInit:0000000000000000 HAL_ADC_MspDeInit
/tmp/ccQrrBPm.s:262 .text.HAL_ADC_MspDeInit:0000000000000020 $d
.debug_frame:0000000000000010 $d
UNDEFINED SYMBOLS
HAL_ADC_Init
HAL_ADC_ConfigChannel
Error_Handler
HAL_GPIO_Init
HAL_GPIO_DeInit