DMA full and half complete callbacks work!

This commit is contained in:
2025-12-18 19:46:12 +03:00
parent 08b903134f
commit 55a6a91260
10 changed files with 2653 additions and 2529 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
ARM GAS /tmp/ccneQ3RA.s page 1
ARM GAS /tmp/ccIYQZ4K.s page 1
1 .cpu cortex-m4
@ -58,7 +58,7 @@ ARM GAS /tmp/ccneQ3RA.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/ccneQ3RA.s page 2
ARM GAS /tmp/ccIYQZ4K.s page 2
31:Core/Src/stm32f4xx_it.c ****
@ -118,7 +118,7 @@ ARM GAS /tmp/ccneQ3RA.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/ccneQ3RA.s page 3
ARM GAS /tmp/ccIYQZ4K.s page 3
76:Core/Src/stm32f4xx_it.c **** {
@ -178,7 +178,7 @@ ARM GAS /tmp/ccneQ3RA.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/ccneQ3RA.s page 4
ARM GAS /tmp/ccIYQZ4K.s page 4
101:Core/Src/stm32f4xx_it.c **** {
@ -238,7 +238,7 @@ ARM GAS /tmp/ccneQ3RA.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/ccneQ3RA.s page 5
ARM GAS /tmp/ccIYQZ4K.s page 5
108 0000 FEE7 b .L8
@ -298,7 +298,7 @@ ARM GAS /tmp/ccneQ3RA.s page 1
146:Core/Src/stm32f4xx_it.c **** {
144 .loc 1 146 1 view -0
145 .cfi_startproc
ARM GAS /tmp/ccneQ3RA.s page 6
ARM GAS /tmp/ccIYQZ4K.s page 6
146 @ args = 0, pretend = 0, frame = 0
@ -358,7 +358,7 @@ ARM GAS /tmp/ccneQ3RA.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/ccneQ3RA.s page 7
ARM GAS /tmp/ccIYQZ4K.s page 7
172:Core/Src/stm32f4xx_it.c **** {
@ -418,7 +418,7 @@ ARM GAS /tmp/ccneQ3RA.s page 1
216 .LFE247:
218 .section .text.DMA2_Stream0_IRQHandler,"ax",%progbits
219 .align 1
ARM GAS /tmp/ccneQ3RA.s page 8
ARM GAS /tmp/ccIYQZ4K.s page 8
220 .global DMA2_Stream0_IRQHandler
@ -478,7 +478,7 @@ ARM GAS /tmp/ccneQ3RA.s page 1
256 OTG_FS_IRQHandler:
257 .LFB249:
215:Core/Src/stm32f4xx_it.c ****
ARM GAS /tmp/ccneQ3RA.s page 9
ARM GAS /tmp/ccIYQZ4K.s page 9
216:Core/Src/stm32f4xx_it.c **** /**
@ -515,105 +515,148 @@ ARM GAS /tmp/ccneQ3RA.s page 1
276 000c 00000000 .word hpcd_USB_OTG_FS
277 .cfi_endproc
278 .LFE249:
280 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits
280 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits
281 .align 1
282 .global HAL_ADC_ConvHalfCpltCallback
282 .global HAL_ADC_ConvCpltCallback
283 .syntax unified
284 .thumb
285 .thumb_func
287 HAL_ADC_ConvHalfCpltCallback:
287 HAL_ADC_ConvCpltCallback:
288 .LVL3:
289 .LFB250:
229:Core/Src/stm32f4xx_it.c ****
230:Core/Src/stm32f4xx_it.c **** /* USER CODE BEGIN 1 */
231:Core/Src/stm32f4xx_it.c **** /*
231:Core/Src/stm32f4xx_it.c ****
232:Core/Src/stm32f4xx_it.c **** void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
233:Core/Src/stm32f4xx_it.c **** {
234:Core/Src/stm32f4xx_it.c **** HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_SET);
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 **** }
238:Core/Src/stm32f4xx_it.c **** */
239:Core/Src/stm32f4xx_it.c **** void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc)
240:Core/Src/stm32f4xx_it.c **** {
290 .loc 1 240 1 is_stmt 1 view -0
290 .loc 1 233 1 is_stmt 1 view -0
291 .cfi_startproc
ARM GAS /tmp/ccneQ3RA.s page 10
292 @ args = 0, pretend = 0, frame = 0
293 @ frame_needed = 0, uses_anonymous_args = 0
294 .loc 1 240 1 is_stmt 0 view .LVU36
294 .loc 1 233 1 is_stmt 0 view .LVU36
295 0000 08B5 push {r3, lr}
296 .LCFI3:
297 .cfi_def_cfa_offset 8
298 .cfi_offset 3, -8
ARM GAS /tmp/ccIYQZ4K.s page 10
299 .cfi_offset 14, -4
241:Core/Src/stm32f4xx_it.c **** //HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_RESET);
242:Core/Src/stm32f4xx_it.c ****
243:Core/Src/stm32f4xx_it.c **** HAL_GPIO_TogglePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);
300 .loc 1 243 3 is_stmt 1 view .LVU37
301 0002 8021 movs r1, #128
302 0004 0148 ldr r0, .L26
303 .LVL4:
304 .loc 1 243 3 is_stmt 0 view .LVU38
305 0006 FFF7FEFF bl HAL_GPIO_TogglePin
306 .LVL5:
244:Core/Src/stm32f4xx_it.c **** // This function is called when the first half of the ADC buffer is filled
245:Core/Src/stm32f4xx_it.c **** // You can process the first half of ADC1_buff_circular here
246:Core/Src/stm32f4xx_it.c **** }
307 .loc 1 246 1 view .LVU39
308 000a 08BD pop {r3, pc}
309 .L27:
310 .align 2
311 .L26:
312 000c 00040240 .word 1073873920
313 .cfi_endproc
314 .LFE250:
316 .text
317 .Letext0:
318 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
319 .file 3 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h"
320 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
321 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
322 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
323 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h"
324 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_usb.h"
325 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pcd.h"
326 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
327 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/ccneQ3RA.s page 11
234:Core/Src/stm32f4xx_it.c **** HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_SET);
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
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);
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
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
DEFINED SYMBOLS
*ABS*:00000000 stm32f4xx_it.c
/tmp/ccneQ3RA.s:21 .text.NMI_Handler:00000000 $t
/tmp/ccneQ3RA.s:27 .text.NMI_Handler:00000000 NMI_Handler
/tmp/ccneQ3RA.s:44 .text.HardFault_Handler:00000000 $t
/tmp/ccneQ3RA.s:50 .text.HardFault_Handler:00000000 HardFault_Handler
/tmp/ccneQ3RA.s:67 .text.MemManage_Handler:00000000 $t
/tmp/ccneQ3RA.s:73 .text.MemManage_Handler:00000000 MemManage_Handler
/tmp/ccneQ3RA.s:90 .text.BusFault_Handler:00000000 $t
/tmp/ccneQ3RA.s:96 .text.BusFault_Handler:00000000 BusFault_Handler
/tmp/ccneQ3RA.s:113 .text.UsageFault_Handler:00000000 $t
/tmp/ccneQ3RA.s:119 .text.UsageFault_Handler:00000000 UsageFault_Handler
/tmp/ccneQ3RA.s:136 .text.SVC_Handler:00000000 $t
/tmp/ccneQ3RA.s:142 .text.SVC_Handler:00000000 SVC_Handler
/tmp/ccneQ3RA.s:155 .text.DebugMon_Handler:00000000 $t
/tmp/ccneQ3RA.s:161 .text.DebugMon_Handler:00000000 DebugMon_Handler
/tmp/ccneQ3RA.s:174 .text.PendSV_Handler:00000000 $t
/tmp/ccneQ3RA.s:180 .text.PendSV_Handler:00000000 PendSV_Handler
/tmp/ccneQ3RA.s:193 .text.SysTick_Handler:00000000 $t
/tmp/ccneQ3RA.s:199 .text.SysTick_Handler:00000000 SysTick_Handler
/tmp/ccneQ3RA.s:219 .text.DMA2_Stream0_IRQHandler:00000000 $t
/tmp/ccneQ3RA.s:225 .text.DMA2_Stream0_IRQHandler:00000000 DMA2_Stream0_IRQHandler
/tmp/ccneQ3RA.s:245 .text.DMA2_Stream0_IRQHandler:0000000c $d
/tmp/ccneQ3RA.s:250 .text.OTG_FS_IRQHandler:00000000 $t
/tmp/ccneQ3RA.s:256 .text.OTG_FS_IRQHandler:00000000 OTG_FS_IRQHandler
/tmp/ccneQ3RA.s:276 .text.OTG_FS_IRQHandler:0000000c $d
/tmp/ccneQ3RA.s:281 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t
/tmp/ccneQ3RA.s:287 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback
/tmp/ccneQ3RA.s:312 .text.HAL_ADC_ConvHalfCpltCallback:0000000c $d
/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
UNDEFINED SYMBOLS
HAL_IncTick
@ -621,4 +664,5 @@ HAL_DMA_IRQHandler
hdma_adc1
HAL_PCD_IRQHandler
hpcd_USB_OTG_FS
HAL_GPIO_WritePin
HAL_GPIO_TogglePin

Binary file not shown.