DMA-based averager works! Also it dumps avg values to USB CDC

This commit is contained in:
2025-12-18 20:19:39 +03:00
parent d0ef88b6b9
commit 7f5d47d422
19 changed files with 3988 additions and 3837 deletions

View File

@ -1,4 +1,4 @@
ARM GAS /tmp/ccIYQZ4K.s page 1
ARM GAS /tmp/ccBaomn6.s page 1
1 .cpu cortex-m4
@ -58,7 +58,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
28:Core/Src/stm32f4xx_it.c **** /* USER CODE BEGIN TD */
29:Core/Src/stm32f4xx_it.c ****
30:Core/Src/stm32f4xx_it.c **** /* USER CODE END TD */
ARM GAS /tmp/ccIYQZ4K.s page 2
ARM GAS /tmp/ccBaomn6.s page 2
31:Core/Src/stm32f4xx_it.c ****
@ -91,7 +91,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
58:Core/Src/stm32f4xx_it.c **** extern PCD_HandleTypeDef hpcd_USB_OTG_FS;
59:Core/Src/stm32f4xx_it.c **** extern DMA_HandleTypeDef hdma_adc1;
60:Core/Src/stm32f4xx_it.c **** /* USER CODE BEGIN EV */
61:Core/Src/stm32f4xx_it.c ****
61:Core/Src/stm32f4xx_it.c **** extern struct ADC_proc adc_process;
62:Core/Src/stm32f4xx_it.c **** /* USER CODE END EV */
63:Core/Src/stm32f4xx_it.c ****
64:Core/Src/stm32f4xx_it.c **** /******************************************************************************/
@ -118,7 +118,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
77:Core/Src/stm32f4xx_it.c **** {
78:Core/Src/stm32f4xx_it.c **** }
37 .loc 1 78 3 view .LVU2
ARM GAS /tmp/ccIYQZ4K.s page 3
ARM GAS /tmp/ccBaomn6.s page 3
76:Core/Src/stm32f4xx_it.c **** {
@ -178,7 +178,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
98:Core/Src/stm32f4xx_it.c **** * @brief This function handles Memory management fault.
99:Core/Src/stm32f4xx_it.c **** */
100:Core/Src/stm32f4xx_it.c **** void MemManage_Handler(void)
ARM GAS /tmp/ccIYQZ4K.s page 4
ARM GAS /tmp/ccBaomn6.s page 4
101:Core/Src/stm32f4xx_it.c **** {
@ -238,7 +238,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
106 .loc 1 124 3 view .LVU14
120:Core/Src/stm32f4xx_it.c **** {
107 .loc 1 120 9 view .LVU15
ARM GAS /tmp/ccIYQZ4K.s page 5
ARM GAS /tmp/ccBaomn6.s page 5
108 0000 FEE7 b .L8
@ -298,7 +298,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
146:Core/Src/stm32f4xx_it.c **** {
144 .loc 1 146 1 view -0
145 .cfi_startproc
ARM GAS /tmp/ccIYQZ4K.s page 6
ARM GAS /tmp/ccBaomn6.s page 6
146 @ args = 0, pretend = 0, frame = 0
@ -358,7 +358,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
169:Core/Src/stm32f4xx_it.c **** * @brief This function handles Pendable request for system service.
170:Core/Src/stm32f4xx_it.c **** */
171:Core/Src/stm32f4xx_it.c **** void PendSV_Handler(void)
ARM GAS /tmp/ccIYQZ4K.s page 7
ARM GAS /tmp/ccBaomn6.s page 7
172:Core/Src/stm32f4xx_it.c **** {
@ -418,7 +418,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
216 .LFE247:
218 .section .text.DMA2_Stream0_IRQHandler,"ax",%progbits
219 .align 1
ARM GAS /tmp/ccIYQZ4K.s page 8
ARM GAS /tmp/ccBaomn6.s page 8
220 .global DMA2_Stream0_IRQHandler
@ -478,7 +478,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
256 OTG_FS_IRQHandler:
257 .LFB249:
215:Core/Src/stm32f4xx_it.c ****
ARM GAS /tmp/ccIYQZ4K.s page 9
ARM GAS /tmp/ccBaomn6.s page 9
216:Core/Src/stm32f4xx_it.c **** /**
@ -538,7 +538,7 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
296 .LCFI3:
297 .cfi_def_cfa_offset 8
298 .cfi_offset 3, -8
ARM GAS /tmp/ccIYQZ4K.s page 10
ARM GAS /tmp/ccBaomn6.s page 10
299 .cfi_offset 14, -4
@ -546,117 +546,217 @@ ARM GAS /tmp/ccIYQZ4K.s page 1
300 .loc 1 234 3 is_stmt 1 view .LVU37
301 0002 0122 movs r2, #1
302 0004 8021 movs r1, #128
303 0006 0248 ldr r0, .L26
303 0006 0B48 ldr r0, .L28
304 .LVL4:
305 .loc 1 234 3 is_stmt 0 view .LVU38
306 0008 FFF7FEFF bl HAL_GPIO_WritePin
307 .LVL5:
235:Core/Src/stm32f4xx_it.c **** // This function is called when the first half of the ADC buffer is filled
236:Core/Src/stm32f4xx_it.c **** // You can process the first half of ADC1_buff_circular here
237:Core/Src/stm32f4xx_it.c **** }
308 .loc 1 237 1 view .LVU39
309 000c 08BD pop {r3, pc}
310 .L27:
311 000e 00BF .align 2
312 .L26:
313 0010 00040240 .word 1073873920
314 .cfi_endproc
315 .LFE250:
317 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits
318 .align 1
319 .global HAL_ADC_ConvHalfCpltCallback
320 .syntax unified
321 .thumb
322 .thumb_func
324 HAL_ADC_ConvHalfCpltCallback:
325 .LVL6:
326 .LFB251:
238:Core/Src/stm32f4xx_it.c ****
239:Core/Src/stm32f4xx_it.c ****
240:Core/Src/stm32f4xx_it.c ****
241:Core/Src/stm32f4xx_it.c **** void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc)
242:Core/Src/stm32f4xx_it.c **** {
327 .loc 1 242 1 is_stmt 1 view -0
328 .cfi_startproc
329 @ args = 0, pretend = 0, frame = 0
330 @ frame_needed = 0, uses_anonymous_args = 0
331 .loc 1 242 1 is_stmt 0 view .LVU41
332 0000 08B5 push {r3, lr}
333 .LCFI4:
334 .cfi_def_cfa_offset 8
335 .cfi_offset 3, -8
336 .cfi_offset 14, -4
243:Core/Src/stm32f4xx_it.c **** //HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_RESET);
235:Core/Src/stm32f4xx_it.c **** for (uint32_t i = ADC_BUFF_SIZE/2; i < ADC_BUFF_SIZE; i++) {
308 .loc 1 235 3 is_stmt 1 view .LVU39
309 .LBB2:
310 .loc 1 235 8 view .LVU40
311 .loc 1 235 17 is_stmt 0 view .LVU41
312 000c 3223 movs r3, #50
313 .loc 1 235 3 view .LVU42
314 000e 07E0 b .L25
315 .LVL6:
316 .L26:
236:Core/Src/stm32f4xx_it.c **** adc_process.sum += ADC1_buff_circular[i];
317 .loc 1 236 5 is_stmt 1 view .LVU43
318 .loc 1 236 16 is_stmt 0 view .LVU44
319 0010 0949 ldr r1, .L28+4
320 0012 4A68 ldr r2, [r1, #4]
321 .loc 1 236 42 view .LVU45
322 0014 0948 ldr r0, .L28+8
323 0016 30F81300 ldrh r0, [r0, r3, lsl #1]
324 .loc 1 236 21 view .LVU46
325 001a 0244 add r2, r2, r0
326 001c 4A60 str r2, [r1, #4]
235:Core/Src/stm32f4xx_it.c **** for (uint32_t i = ADC_BUFF_SIZE/2; i < ADC_BUFF_SIZE; i++) {
327 .loc 1 235 58 is_stmt 1 discriminator 3 view .LVU47
328 001e 0133 adds r3, r3, #1
329 .LVL7:
330 .L25:
235:Core/Src/stm32f4xx_it.c **** for (uint32_t i = ADC_BUFF_SIZE/2; i < ADC_BUFF_SIZE; i++) {
331 .loc 1 235 40 discriminator 1 view .LVU48
332 0020 632B cmp r3, #99
333 0022 F5D9 bls .L26
334 .LBE2:
237:Core/Src/stm32f4xx_it.c **** }
238:Core/Src/stm32f4xx_it.c **** adc_process.N += ADC_BUFF_SIZE - ADC_BUFF_SIZE/2;
335 .loc 1 238 3 view .LVU49
336 .loc 1 238 14 is_stmt 0 view .LVU50
337 0024 044B ldr r3, .L28+4
338 .LVL8:
339 .loc 1 238 14 view .LVU51
340 0026 DA68 ldr r2, [r3, #12]
341 .loc 1 238 17 view .LVU52
342 0028 3232 adds r2, r2, #50
343 002a DA60 str r2, [r3, #12]
239:Core/Src/stm32f4xx_it.c **** adc_process.status = 2; // buffer filled
344 .loc 1 239 3 is_stmt 1 view .LVU53
345 .loc 1 239 22 is_stmt 0 view .LVU54
346 002c 0222 movs r2, #2
347 002e 1A70 strb r2, [r3]
ARM GAS /tmp/ccBaomn6.s page 11
240:Core/Src/stm32f4xx_it.c **** // This function is called when the first half of the ADC buffer is filled
241:Core/Src/stm32f4xx_it.c **** // You can process the first half of ADC1_buff_circular here
242:Core/Src/stm32f4xx_it.c **** }
348 .loc 1 242 1 view .LVU55
349 0030 08BD pop {r3, pc}
350 .L29:
351 0032 00BF .align 2
352 .L28:
353 0034 00040240 .word 1073873920
354 0038 00000000 .word adc_process
355 003c 00000000 .word ADC1_buff_circular
356 .cfi_endproc
357 .LFE250:
359 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits
360 .align 1
361 .global HAL_ADC_ConvHalfCpltCallback
362 .syntax unified
363 .thumb
364 .thumb_func
366 HAL_ADC_ConvHalfCpltCallback:
367 .LVL9:
368 .LFB251:
243:Core/Src/stm32f4xx_it.c ****
244:Core/Src/stm32f4xx_it.c ****
245:Core/Src/stm32f4xx_it.c **** HAL_GPIO_TogglePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);
337 .loc 1 245 3 is_stmt 1 view .LVU42
338 0002 8021 movs r1, #128
339 0004 0148 ldr r0, .L30
340 .LVL7:
341 .loc 1 245 3 is_stmt 0 view .LVU43
342 0006 FFF7FEFF bl HAL_GPIO_TogglePin
343 .LVL8:
246:Core/Src/stm32f4xx_it.c **** // This function is called when the first half of the ADC buffer is filled
247:Core/Src/stm32f4xx_it.c **** // You can process the first half of ADC1_buff_circular here
ARM GAS /tmp/ccIYQZ4K.s page 11
245:Core/Src/stm32f4xx_it.c ****
246:Core/Src/stm32f4xx_it.c **** void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc)
247:Core/Src/stm32f4xx_it.c **** {
369 .loc 1 247 1 is_stmt 1 view -0
370 .cfi_startproc
371 @ args = 0, pretend = 0, frame = 0
372 @ frame_needed = 0, uses_anonymous_args = 0
373 .loc 1 247 1 is_stmt 0 view .LVU57
374 0000 08B5 push {r3, lr}
375 .LCFI4:
376 .cfi_def_cfa_offset 8
377 .cfi_offset 3, -8
378 .cfi_offset 14, -4
248:Core/Src/stm32f4xx_it.c **** //HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_RESET);
249:Core/Src/stm32f4xx_it.c ****
250:Core/Src/stm32f4xx_it.c **** HAL_GPIO_TogglePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);
379 .loc 1 250 3 is_stmt 1 view .LVU58
380 0002 8021 movs r1, #128
381 0004 0948 ldr r0, .L34
382 .LVL10:
383 .loc 1 250 3 is_stmt 0 view .LVU59
384 0006 FFF7FEFF bl HAL_GPIO_TogglePin
385 .LVL11:
251:Core/Src/stm32f4xx_it.c **** for (uint32_t i = 0; i < ADC_BUFF_SIZE/2; i++) {
386 .loc 1 251 3 is_stmt 1 view .LVU60
387 .LBB3:
388 .loc 1 251 8 view .LVU61
389 .loc 1 251 17 is_stmt 0 view .LVU62
390 000a 0023 movs r3, #0
391 .loc 1 251 3 view .LVU63
392 000c 07E0 b .L31
393 .LVL12:
394 .L32:
ARM GAS /tmp/ccBaomn6.s page 12
248:Core/Src/stm32f4xx_it.c **** }
344 .loc 1 248 1 view .LVU44
345 000a 08BD pop {r3, pc}
346 .L31:
347 .align 2
348 .L30:
349 000c 00040240 .word 1073873920
350 .cfi_endproc
351 .LFE251:
353 .text
354 .Letext0:
355 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
356 .file 3 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h"
357 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
358 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
359 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
360 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
361 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h"
362 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h"
363 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h"
364 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/ccIYQZ4K.s page 12
252:Core/Src/stm32f4xx_it.c **** adc_process.sum += ADC1_buff_circular[i];
395 .loc 1 252 5 is_stmt 1 view .LVU64
396 .loc 1 252 16 is_stmt 0 view .LVU65
397 000e 0849 ldr r1, .L34+4
398 0010 4A68 ldr r2, [r1, #4]
399 .loc 1 252 42 view .LVU66
400 0012 0848 ldr r0, .L34+8
401 0014 30F81300 ldrh r0, [r0, r3, lsl #1]
402 .loc 1 252 21 view .LVU67
403 0018 0244 add r2, r2, r0
404 001a 4A60 str r2, [r1, #4]
251:Core/Src/stm32f4xx_it.c **** for (uint32_t i = 0; i < ADC_BUFF_SIZE/2; i++) {
405 .loc 1 251 46 is_stmt 1 discriminator 3 view .LVU68
406 001c 0133 adds r3, r3, #1
407 .LVL13:
408 .L31:
251:Core/Src/stm32f4xx_it.c **** for (uint32_t i = 0; i < ADC_BUFF_SIZE/2; i++) {
409 .loc 1 251 26 discriminator 1 view .LVU69
410 001e 312B cmp r3, #49
411 0020 F5D9 bls .L32
412 .LBE3:
253:Core/Src/stm32f4xx_it.c **** }
254:Core/Src/stm32f4xx_it.c **** adc_process.N += ADC_BUFF_SIZE/2;
413 .loc 1 254 3 view .LVU70
414 .loc 1 254 14 is_stmt 0 view .LVU71
415 0022 034A ldr r2, .L34+4
416 0024 D368 ldr r3, [r2, #12]
417 .LVL14:
418 .loc 1 254 17 view .LVU72
419 0026 3233 adds r3, r3, #50
420 0028 D360 str r3, [r2, #12]
255:Core/Src/stm32f4xx_it.c ****
256:Core/Src/stm32f4xx_it.c **** // This function is called when the first half of the ADC buffer is filled
257:Core/Src/stm32f4xx_it.c **** // You can process the first half of ADC1_buff_circular here
258:Core/Src/stm32f4xx_it.c **** }
421 .loc 1 258 1 view .LVU73
422 002a 08BD pop {r3, pc}
423 .L35:
424 .align 2
425 .L34:
426 002c 00040240 .word 1073873920
427 0030 00000000 .word adc_process
428 0034 00000000 .word ADC1_buff_circular
429 .cfi_endproc
430 .LFE251:
432 .text
433 .Letext0:
434 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
435 .file 3 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h"
436 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
437 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
438 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
439 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
440 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h"
441 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h"
442 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h"
443 .file 11 "Core/Inc/main.h"
ARM GAS /tmp/ccBaomn6.s page 13
444 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/ccBaomn6.s page 14
DEFINED SYMBOLS
*ABS*:00000000 stm32f4xx_it.c
/tmp/ccIYQZ4K.s:21 .text.NMI_Handler:00000000 $t
/tmp/ccIYQZ4K.s:27 .text.NMI_Handler:00000000 NMI_Handler
/tmp/ccIYQZ4K.s:44 .text.HardFault_Handler:00000000 $t
/tmp/ccIYQZ4K.s:50 .text.HardFault_Handler:00000000 HardFault_Handler
/tmp/ccIYQZ4K.s:67 .text.MemManage_Handler:00000000 $t
/tmp/ccIYQZ4K.s:73 .text.MemManage_Handler:00000000 MemManage_Handler
/tmp/ccIYQZ4K.s:90 .text.BusFault_Handler:00000000 $t
/tmp/ccIYQZ4K.s:96 .text.BusFault_Handler:00000000 BusFault_Handler
/tmp/ccIYQZ4K.s:113 .text.UsageFault_Handler:00000000 $t
/tmp/ccIYQZ4K.s:119 .text.UsageFault_Handler:00000000 UsageFault_Handler
/tmp/ccIYQZ4K.s:136 .text.SVC_Handler:00000000 $t
/tmp/ccIYQZ4K.s:142 .text.SVC_Handler:00000000 SVC_Handler
/tmp/ccIYQZ4K.s:155 .text.DebugMon_Handler:00000000 $t
/tmp/ccIYQZ4K.s:161 .text.DebugMon_Handler:00000000 DebugMon_Handler
/tmp/ccIYQZ4K.s:174 .text.PendSV_Handler:00000000 $t
/tmp/ccIYQZ4K.s:180 .text.PendSV_Handler:00000000 PendSV_Handler
/tmp/ccIYQZ4K.s:193 .text.SysTick_Handler:00000000 $t
/tmp/ccIYQZ4K.s:199 .text.SysTick_Handler:00000000 SysTick_Handler
/tmp/ccIYQZ4K.s:219 .text.DMA2_Stream0_IRQHandler:00000000 $t
/tmp/ccIYQZ4K.s:225 .text.DMA2_Stream0_IRQHandler:00000000 DMA2_Stream0_IRQHandler
/tmp/ccIYQZ4K.s:245 .text.DMA2_Stream0_IRQHandler:0000000c $d
/tmp/ccIYQZ4K.s:250 .text.OTG_FS_IRQHandler:00000000 $t
/tmp/ccIYQZ4K.s:256 .text.OTG_FS_IRQHandler:00000000 OTG_FS_IRQHandler
/tmp/ccIYQZ4K.s:276 .text.OTG_FS_IRQHandler:0000000c $d
/tmp/ccIYQZ4K.s:281 .text.HAL_ADC_ConvCpltCallback:00000000 $t
/tmp/ccIYQZ4K.s:287 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback
/tmp/ccIYQZ4K.s:313 .text.HAL_ADC_ConvCpltCallback:00000010 $d
/tmp/ccIYQZ4K.s:318 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t
/tmp/ccIYQZ4K.s:324 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback
/tmp/ccIYQZ4K.s:349 .text.HAL_ADC_ConvHalfCpltCallback:0000000c $d
/tmp/ccBaomn6.s:21 .text.NMI_Handler:00000000 $t
/tmp/ccBaomn6.s:27 .text.NMI_Handler:00000000 NMI_Handler
/tmp/ccBaomn6.s:44 .text.HardFault_Handler:00000000 $t
/tmp/ccBaomn6.s:50 .text.HardFault_Handler:00000000 HardFault_Handler
/tmp/ccBaomn6.s:67 .text.MemManage_Handler:00000000 $t
/tmp/ccBaomn6.s:73 .text.MemManage_Handler:00000000 MemManage_Handler
/tmp/ccBaomn6.s:90 .text.BusFault_Handler:00000000 $t
/tmp/ccBaomn6.s:96 .text.BusFault_Handler:00000000 BusFault_Handler
/tmp/ccBaomn6.s:113 .text.UsageFault_Handler:00000000 $t
/tmp/ccBaomn6.s:119 .text.UsageFault_Handler:00000000 UsageFault_Handler
/tmp/ccBaomn6.s:136 .text.SVC_Handler:00000000 $t
/tmp/ccBaomn6.s:142 .text.SVC_Handler:00000000 SVC_Handler
/tmp/ccBaomn6.s:155 .text.DebugMon_Handler:00000000 $t
/tmp/ccBaomn6.s:161 .text.DebugMon_Handler:00000000 DebugMon_Handler
/tmp/ccBaomn6.s:174 .text.PendSV_Handler:00000000 $t
/tmp/ccBaomn6.s:180 .text.PendSV_Handler:00000000 PendSV_Handler
/tmp/ccBaomn6.s:193 .text.SysTick_Handler:00000000 $t
/tmp/ccBaomn6.s:199 .text.SysTick_Handler:00000000 SysTick_Handler
/tmp/ccBaomn6.s:219 .text.DMA2_Stream0_IRQHandler:00000000 $t
/tmp/ccBaomn6.s:225 .text.DMA2_Stream0_IRQHandler:00000000 DMA2_Stream0_IRQHandler
/tmp/ccBaomn6.s:245 .text.DMA2_Stream0_IRQHandler:0000000c $d
/tmp/ccBaomn6.s:250 .text.OTG_FS_IRQHandler:00000000 $t
/tmp/ccBaomn6.s:256 .text.OTG_FS_IRQHandler:00000000 OTG_FS_IRQHandler
/tmp/ccBaomn6.s:276 .text.OTG_FS_IRQHandler:0000000c $d
/tmp/ccBaomn6.s:281 .text.HAL_ADC_ConvCpltCallback:00000000 $t
/tmp/ccBaomn6.s:287 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback
/tmp/ccBaomn6.s:353 .text.HAL_ADC_ConvCpltCallback:00000034 $d
/tmp/ccBaomn6.s:360 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t
/tmp/ccBaomn6.s:366 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback
/tmp/ccBaomn6.s:426 .text.HAL_ADC_ConvHalfCpltCallback:0000002c $d
UNDEFINED SYMBOLS
HAL_IncTick
@ -665,4 +765,6 @@ hdma_adc1
HAL_PCD_IRQHandler
hpcd_USB_OTG_FS
HAL_GPIO_WritePin
adc_process
ADC1_buff_circular
HAL_GPIO_TogglePin