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