What I changed
- Core/Inc/main.h:76
- Set ADC_BUFF_SIZE from 50 to 64 so each half is even (32). This keeps the “i &
1” parity consistent across half-buffer boundaries.
- Core/Src/stm32f4xx_it.c:388
- Fixed N after splitting the first half: ADC_proc.N = (ADC_BUFF_SIZE/2 -
Sweep_state.curr_step_start_DMA_N)/2;
- Previously it used (Sweep_state.curr_step_start_DMA_N)/2, which was wrong for
that segment.
Why this helps
- With ADC_BUFF_SIZE=50, half-size is 25 (odd). That flips ON/OFF labeling each half
because i & 1 parity shifts by 25, mixing levels and driving avg_ON and avg_OFF
together.
- The N bug skewed normalization, further flattening differences between averages.
How to verify
- Build and flash: make && make flash.
- Observe avg_ON/avg_OFF over CDC. They should now differ consistently; inverting
meандр should swap them cleanly.
- If still needed, I can add a global sample counter (sample_seq) for fully robust
ON/OFF classification without relying on buffer indices.
556 lines
33 KiB
Plaintext
556 lines
33 KiB
Plaintext
ARM GAS /tmp/ccc06Tdn.s page 1
|
||
|
||
|
||
1 .cpu cortex-m4
|
||
2 .arch armv7e-m
|
||
3 .fpu fpv4-sp-d16
|
||
4 .eabi_attribute 27, 1
|
||
5 .eabi_attribute 28, 1
|
||
6 .eabi_attribute 20, 1
|
||
7 .eabi_attribute 21, 1
|
||
8 .eabi_attribute 23, 3
|
||
9 .eabi_attribute 24, 1
|
||
10 .eabi_attribute 25, 1
|
||
11 .eabi_attribute 26, 1
|
||
12 .eabi_attribute 30, 1
|
||
13 .eabi_attribute 34, 1
|
||
14 .eabi_attribute 18, 4
|
||
15 .file "usbd_ioreq.c"
|
||
16 .text
|
||
17 .Ltext0:
|
||
18 .cfi_sections .debug_frame
|
||
19 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c"
|
||
20 .section .text.USBD_CtlSendData,"ax",%progbits
|
||
21 .align 1
|
||
22 .global USBD_CtlSendData
|
||
23 .syntax unified
|
||
24 .thumb
|
||
25 .thumb_func
|
||
27 USBD_CtlSendData:
|
||
28 .LVL0:
|
||
29 .LFB243:
|
||
1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ******************************************************************************
|
||
3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @file usbd_ioreq.c
|
||
4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @author MCD Application Team
|
||
5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief This file provides the IO requests APIs for control endpoints.
|
||
6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ******************************************************************************
|
||
7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @attention
|
||
8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
|
||
9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Copyright (c) 2015 STMicroelectronics.
|
||
10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * All rights reserved.
|
||
11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
|
||
12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * This software is licensed under terms that can be found in the LICENSE file
|
||
13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * in the root directory of this software component.
|
||
14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
|
||
15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
|
||
16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ******************************************************************************
|
||
17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Includes ------------------------------------------------------------------*/
|
||
20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #include "usbd_ioreq.h"
|
||
21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY
|
||
23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ
|
||
28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief control I/O requests module
|
||
29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
ARM GAS /tmp/ccc06Tdn.s page 2
|
||
|
||
|
||
30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_TypesDefinitions
|
||
33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
|
||
37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Defines
|
||
41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
|
||
46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Macros
|
||
50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
|
||
54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Variables
|
||
58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
|
||
63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_FunctionPrototypes
|
||
67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
|
||
71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Functions
|
||
75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
|
||
76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendData
|
||
80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send data on the ctl pipe
|
||
81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
|
||
83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent
|
||
84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
|
||
85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev,
|
||
ARM GAS /tmp/ccc06Tdn.s page 3
|
||
|
||
|
||
87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len)
|
||
88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
30 .loc 1 88 1 view -0
|
||
31 .cfi_startproc
|
||
32 @ args = 0, pretend = 0, frame = 0
|
||
33 @ frame_needed = 0, uses_anonymous_args = 0
|
||
34 .loc 1 88 1 is_stmt 0 view .LVU1
|
||
35 0000 08B5 push {r3, lr}
|
||
36 .LCFI0:
|
||
37 .cfi_def_cfa_offset 8
|
||
38 .cfi_offset 3, -8
|
||
39 .cfi_offset 14, -4
|
||
40 0002 1346 mov r3, r2
|
||
89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
|
||
90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_IN;
|
||
41 .loc 1 90 3 is_stmt 1 view .LVU2
|
||
42 .loc 1 90 19 is_stmt 0 view .LVU3
|
||
43 0004 0222 movs r2, #2
|
||
44 .LVL1:
|
||
45 .loc 1 90 19 view .LVU4
|
||
46 0006 C0F89422 str r2, [r0, #660]
|
||
91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len;
|
||
47 .loc 1 91 3 is_stmt 1 view .LVU5
|
||
48 .loc 1 91 31 is_stmt 0 view .LVU6
|
||
49 000a 4361 str r3, [r0, #20]
|
||
92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].pbuffer = pbuf;
|
||
50 .loc 1 92 3 is_stmt 1 view .LVU7
|
||
51 .loc 1 92 26 is_stmt 0 view .LVU8
|
||
52 000c 4162 str r1, [r0, #36]
|
||
93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #ifdef USBD_AVOID_PACKET_SPLIT_MPS
|
||
95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = 0U;
|
||
96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #else
|
||
97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = len;
|
||
53 .loc 1 97 3 is_stmt 1 view .LVU9
|
||
54 .loc 1 97 29 is_stmt 0 view .LVU10
|
||
55 000e 8361 str r3, [r0, #24]
|
||
98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */
|
||
99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
|
||
101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len);
|
||
56 .loc 1 101 3 is_stmt 1 view .LVU11
|
||
57 .loc 1 101 9 is_stmt 0 view .LVU12
|
||
58 0010 0A46 mov r2, r1
|
||
59 0012 0021 movs r1, #0
|
||
60 .LVL2:
|
||
61 .loc 1 101 9 view .LVU13
|
||
62 0014 FFF7FEFF bl USBD_LL_Transmit
|
||
63 .LVL3:
|
||
102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
|
||
64 .loc 1 103 3 is_stmt 1 view .LVU14
|
||
104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
65 .loc 1 104 1 is_stmt 0 view .LVU15
|
||
66 0018 0020 movs r0, #0
|
||
67 001a 08BD pop {r3, pc}
|
||
68 .cfi_endproc
|
||
ARM GAS /tmp/ccc06Tdn.s page 4
|
||
|
||
|
||
69 .LFE243:
|
||
71 .section .text.USBD_CtlContinueSendData,"ax",%progbits
|
||
72 .align 1
|
||
73 .global USBD_CtlContinueSendData
|
||
74 .syntax unified
|
||
75 .thumb
|
||
76 .thumb_func
|
||
78 USBD_CtlContinueSendData:
|
||
79 .LVL4:
|
||
80 .LFB244:
|
||
105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueSendData
|
||
108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue sending data on the ctl pipe
|
||
109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
|
||
111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent
|
||
112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
|
||
113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev,
|
||
115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len)
|
||
116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
81 .loc 1 116 1 is_stmt 1 view -0
|
||
82 .cfi_startproc
|
||
83 @ args = 0, pretend = 0, frame = 0
|
||
84 @ frame_needed = 0, uses_anonymous_args = 0
|
||
85 .loc 1 116 1 is_stmt 0 view .LVU17
|
||
86 0000 08B5 push {r3, lr}
|
||
87 .LCFI1:
|
||
88 .cfi_def_cfa_offset 8
|
||
89 .cfi_offset 3, -8
|
||
90 .cfi_offset 14, -4
|
||
91 0002 1346 mov r3, r2
|
||
117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the next transfer */
|
||
118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len);
|
||
92 .loc 1 118 3 is_stmt 1 view .LVU18
|
||
93 .loc 1 118 9 is_stmt 0 view .LVU19
|
||
94 0004 0A46 mov r2, r1
|
||
95 .LVL5:
|
||
96 .loc 1 118 9 view .LVU20
|
||
97 0006 0021 movs r1, #0
|
||
98 .LVL6:
|
||
99 .loc 1 118 9 view .LVU21
|
||
100 0008 FFF7FEFF bl USBD_LL_Transmit
|
||
101 .LVL7:
|
||
119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
|
||
102 .loc 1 120 3 is_stmt 1 view .LVU22
|
||
121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
103 .loc 1 121 1 is_stmt 0 view .LVU23
|
||
104 000c 0020 movs r0, #0
|
||
105 000e 08BD pop {r3, pc}
|
||
106 .cfi_endproc
|
||
107 .LFE244:
|
||
109 .section .text.USBD_CtlPrepareRx,"ax",%progbits
|
||
110 .align 1
|
||
111 .global USBD_CtlPrepareRx
|
||
ARM GAS /tmp/ccc06Tdn.s page 5
|
||
|
||
|
||
112 .syntax unified
|
||
113 .thumb
|
||
114 .thumb_func
|
||
116 USBD_CtlPrepareRx:
|
||
117 .LVL8:
|
||
118 .LFB245:
|
||
122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlPrepareRx
|
||
125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive data on the ctl pipe
|
||
126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
|
||
128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received
|
||
129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
|
||
130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev,
|
||
132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len)
|
||
133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
119 .loc 1 133 1 is_stmt 1 view -0
|
||
120 .cfi_startproc
|
||
121 @ args = 0, pretend = 0, frame = 0
|
||
122 @ frame_needed = 0, uses_anonymous_args = 0
|
||
123 .loc 1 133 1 is_stmt 0 view .LVU25
|
||
124 0000 08B5 push {r3, lr}
|
||
125 .LCFI2:
|
||
126 .cfi_def_cfa_offset 8
|
||
127 .cfi_offset 3, -8
|
||
128 .cfi_offset 14, -4
|
||
129 0002 1346 mov r3, r2
|
||
134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
|
||
135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_OUT;
|
||
130 .loc 1 135 3 is_stmt 1 view .LVU26
|
||
131 .loc 1 135 19 is_stmt 0 view .LVU27
|
||
132 0004 0322 movs r2, #3
|
||
133 .LVL9:
|
||
134 .loc 1 135 19 view .LVU28
|
||
135 0006 C0F89422 str r2, [r0, #660]
|
||
136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].total_length = len;
|
||
136 .loc 1 136 3 is_stmt 1 view .LVU29
|
||
137 .loc 1 136 32 is_stmt 0 view .LVU30
|
||
138 000a C0F85431 str r3, [r0, #340]
|
||
137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].pbuffer = pbuf;
|
||
139 .loc 1 137 3 is_stmt 1 view .LVU31
|
||
140 .loc 1 137 27 is_stmt 0 view .LVU32
|
||
141 000e C0F86411 str r1, [r0, #356]
|
||
138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #ifdef USBD_AVOID_PACKET_SPLIT_MPS
|
||
140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = 0U;
|
||
141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #else
|
||
142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = len;
|
||
142 .loc 1 142 3 is_stmt 1 view .LVU33
|
||
143 .loc 1 142 30 is_stmt 0 view .LVU34
|
||
144 0012 C0F85831 str r3, [r0, #344]
|
||
143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #endif /* USBD_AVOID_PACKET_SPLIT_MPS */
|
||
144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
|
||
146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len);
|
||
ARM GAS /tmp/ccc06Tdn.s page 6
|
||
|
||
|
||
145 .loc 1 146 3 is_stmt 1 view .LVU35
|
||
146 .loc 1 146 9 is_stmt 0 view .LVU36
|
||
147 0016 0A46 mov r2, r1
|
||
148 0018 0021 movs r1, #0
|
||
149 .LVL10:
|
||
150 .loc 1 146 9 view .LVU37
|
||
151 001a FFF7FEFF bl USBD_LL_PrepareReceive
|
||
152 .LVL11:
|
||
147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
|
||
153 .loc 1 148 3 is_stmt 1 view .LVU38
|
||
149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
154 .loc 1 149 1 is_stmt 0 view .LVU39
|
||
155 001e 0020 movs r0, #0
|
||
156 0020 08BD pop {r3, pc}
|
||
157 .cfi_endproc
|
||
158 .LFE245:
|
||
160 .section .text.USBD_CtlContinueRx,"ax",%progbits
|
||
161 .align 1
|
||
162 .global USBD_CtlContinueRx
|
||
163 .syntax unified
|
||
164 .thumb
|
||
165 .thumb_func
|
||
167 USBD_CtlContinueRx:
|
||
168 .LVL12:
|
||
169 .LFB246:
|
||
150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueRx
|
||
153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue receive data on the ctl pipe
|
||
154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
|
||
156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received
|
||
157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
|
||
158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev,
|
||
160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf, uint32_t len)
|
||
161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
170 .loc 1 161 1 is_stmt 1 view -0
|
||
171 .cfi_startproc
|
||
172 @ args = 0, pretend = 0, frame = 0
|
||
173 @ frame_needed = 0, uses_anonymous_args = 0
|
||
174 .loc 1 161 1 is_stmt 0 view .LVU41
|
||
175 0000 08B5 push {r3, lr}
|
||
176 .LCFI3:
|
||
177 .cfi_def_cfa_offset 8
|
||
178 .cfi_offset 3, -8
|
||
179 .cfi_offset 14, -4
|
||
180 0002 1346 mov r3, r2
|
||
162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len);
|
||
181 .loc 1 162 3 is_stmt 1 view .LVU42
|
||
182 .loc 1 162 9 is_stmt 0 view .LVU43
|
||
183 0004 0A46 mov r2, r1
|
||
184 .LVL13:
|
||
185 .loc 1 162 9 view .LVU44
|
||
186 0006 0021 movs r1, #0
|
||
187 .LVL14:
|
||
ARM GAS /tmp/ccc06Tdn.s page 7
|
||
|
||
|
||
188 .loc 1 162 9 view .LVU45
|
||
189 0008 FFF7FEFF bl USBD_LL_PrepareReceive
|
||
190 .LVL15:
|
||
163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
|
||
191 .loc 1 164 3 is_stmt 1 view .LVU46
|
||
165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
192 .loc 1 165 1 is_stmt 0 view .LVU47
|
||
193 000c 0020 movs r0, #0
|
||
194 000e 08BD pop {r3, pc}
|
||
195 .cfi_endproc
|
||
196 .LFE246:
|
||
198 .section .text.USBD_CtlSendStatus,"ax",%progbits
|
||
199 .align 1
|
||
200 .global USBD_CtlSendStatus
|
||
201 .syntax unified
|
||
202 .thumb
|
||
203 .thumb_func
|
||
205 USBD_CtlSendStatus:
|
||
206 .LVL16:
|
||
207 .LFB247:
|
||
166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendStatus
|
||
169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send zero lzngth packet on the ctl pipe
|
||
170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
|
||
172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev)
|
||
174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
208 .loc 1 174 1 is_stmt 1 view -0
|
||
209 .cfi_startproc
|
||
210 @ args = 0, pretend = 0, frame = 0
|
||
211 @ frame_needed = 0, uses_anonymous_args = 0
|
||
212 .loc 1 174 1 is_stmt 0 view .LVU49
|
||
213 0000 08B5 push {r3, lr}
|
||
214 .LCFI4:
|
||
215 .cfi_def_cfa_offset 8
|
||
216 .cfi_offset 3, -8
|
||
217 .cfi_offset 14, -4
|
||
175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
|
||
176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_IN;
|
||
218 .loc 1 176 3 is_stmt 1 view .LVU50
|
||
219 .loc 1 176 19 is_stmt 0 view .LVU51
|
||
220 0002 0422 movs r2, #4
|
||
221 0004 C0F89422 str r2, [r0, #660]
|
||
177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
|
||
179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U);
|
||
222 .loc 1 179 3 is_stmt 1 view .LVU52
|
||
223 .loc 1 179 9 is_stmt 0 view .LVU53
|
||
224 0008 0023 movs r3, #0
|
||
225 000a 1A46 mov r2, r3
|
||
226 000c 1946 mov r1, r3
|
||
227 000e FFF7FEFF bl USBD_LL_Transmit
|
||
228 .LVL17:
|
||
180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
ARM GAS /tmp/ccc06Tdn.s page 8
|
||
|
||
|
||
181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
|
||
229 .loc 1 181 3 is_stmt 1 view .LVU54
|
||
182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
230 .loc 1 182 1 is_stmt 0 view .LVU55
|
||
231 0012 0020 movs r0, #0
|
||
232 0014 08BD pop {r3, pc}
|
||
233 .cfi_endproc
|
||
234 .LFE247:
|
||
236 .section .text.USBD_CtlReceiveStatus,"ax",%progbits
|
||
237 .align 1
|
||
238 .global USBD_CtlReceiveStatus
|
||
239 .syntax unified
|
||
240 .thumb
|
||
241 .thumb_func
|
||
243 USBD_CtlReceiveStatus:
|
||
244 .LVL18:
|
||
245 .LFB248:
|
||
183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlReceiveStatus
|
||
186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive zero lzngth packet on the ctl pipe
|
||
187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
|
||
189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev)
|
||
191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
246 .loc 1 191 1 is_stmt 1 view -0
|
||
247 .cfi_startproc
|
||
248 @ args = 0, pretend = 0, frame = 0
|
||
249 @ frame_needed = 0, uses_anonymous_args = 0
|
||
250 .loc 1 191 1 is_stmt 0 view .LVU57
|
||
251 0000 08B5 push {r3, lr}
|
||
252 .LCFI5:
|
||
253 .cfi_def_cfa_offset 8
|
||
254 .cfi_offset 3, -8
|
||
255 .cfi_offset 14, -4
|
||
192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
|
||
193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_OUT;
|
||
256 .loc 1 193 3 is_stmt 1 view .LVU58
|
||
257 .loc 1 193 19 is_stmt 0 view .LVU59
|
||
258 0002 0522 movs r2, #5
|
||
259 0004 C0F89422 str r2, [r0, #660]
|
||
194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
|
||
196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U);
|
||
260 .loc 1 196 3 is_stmt 1 view .LVU60
|
||
261 .loc 1 196 9 is_stmt 0 view .LVU61
|
||
262 0008 0023 movs r3, #0
|
||
263 000a 1A46 mov r2, r3
|
||
264 000c 1946 mov r1, r3
|
||
265 000e FFF7FEFF bl USBD_LL_PrepareReceive
|
||
266 .LVL19:
|
||
197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
|
||
267 .loc 1 198 3 is_stmt 1 view .LVU62
|
||
199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
268 .loc 1 199 1 is_stmt 0 view .LVU63
|
||
ARM GAS /tmp/ccc06Tdn.s page 9
|
||
|
||
|
||
269 0012 0020 movs r0, #0
|
||
270 0014 08BD pop {r3, pc}
|
||
271 .cfi_endproc
|
||
272 .LFE248:
|
||
274 .section .text.USBD_GetRxCount,"ax",%progbits
|
||
275 .align 1
|
||
276 .global USBD_GetRxCount
|
||
277 .syntax unified
|
||
278 .thumb
|
||
279 .thumb_func
|
||
281 USBD_GetRxCount:
|
||
282 .LVL20:
|
||
283 .LFB249:
|
||
200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
|
||
201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
|
||
202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_GetRxCount
|
||
203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * returns the received data length
|
||
204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
|
||
205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param ep_addr: endpoint address
|
||
206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval Rx Data blength
|
||
207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
|
||
208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint32_t USBD_GetRxCount(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
|
||
209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
|
||
284 .loc 1 209 1 is_stmt 1 view -0
|
||
285 .cfi_startproc
|
||
286 @ args = 0, pretend = 0, frame = 0
|
||
287 @ frame_needed = 0, uses_anonymous_args = 0
|
||
288 .loc 1 209 1 is_stmt 0 view .LVU65
|
||
289 0000 08B5 push {r3, lr}
|
||
290 .LCFI6:
|
||
291 .cfi_def_cfa_offset 8
|
||
292 .cfi_offset 3, -8
|
||
293 .cfi_offset 14, -4
|
||
210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_LL_GetRxDataSize(pdev, ep_addr);
|
||
294 .loc 1 210 3 is_stmt 1 view .LVU66
|
||
295 .loc 1 210 10 is_stmt 0 view .LVU67
|
||
296 0002 FFF7FEFF bl USBD_LL_GetRxDataSize
|
||
297 .LVL21:
|
||
211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
|
||
298 .loc 1 211 1 view .LVU68
|
||
299 0006 08BD pop {r3, pc}
|
||
300 .cfi_endproc
|
||
301 .LFE249:
|
||
303 .text
|
||
304 .Letext0:
|
||
305 .file 2 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
|
||
306 .file 3 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
|
||
307 .file 4 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
|
||
ARM GAS /tmp/ccc06Tdn.s page 10
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 usbd_ioreq.c
|
||
/tmp/ccc06Tdn.s:21 .text.USBD_CtlSendData:00000000 $t
|
||
/tmp/ccc06Tdn.s:27 .text.USBD_CtlSendData:00000000 USBD_CtlSendData
|
||
/tmp/ccc06Tdn.s:72 .text.USBD_CtlContinueSendData:00000000 $t
|
||
/tmp/ccc06Tdn.s:78 .text.USBD_CtlContinueSendData:00000000 USBD_CtlContinueSendData
|
||
/tmp/ccc06Tdn.s:110 .text.USBD_CtlPrepareRx:00000000 $t
|
||
/tmp/ccc06Tdn.s:116 .text.USBD_CtlPrepareRx:00000000 USBD_CtlPrepareRx
|
||
/tmp/ccc06Tdn.s:161 .text.USBD_CtlContinueRx:00000000 $t
|
||
/tmp/ccc06Tdn.s:167 .text.USBD_CtlContinueRx:00000000 USBD_CtlContinueRx
|
||
/tmp/ccc06Tdn.s:199 .text.USBD_CtlSendStatus:00000000 $t
|
||
/tmp/ccc06Tdn.s:205 .text.USBD_CtlSendStatus:00000000 USBD_CtlSendStatus
|
||
/tmp/ccc06Tdn.s:237 .text.USBD_CtlReceiveStatus:00000000 $t
|
||
/tmp/ccc06Tdn.s:243 .text.USBD_CtlReceiveStatus:00000000 USBD_CtlReceiveStatus
|
||
/tmp/ccc06Tdn.s:275 .text.USBD_GetRxCount:00000000 $t
|
||
/tmp/ccc06Tdn.s:281 .text.USBD_GetRxCount:00000000 USBD_GetRxCount
|
||
|
||
UNDEFINED SYMBOLS
|
||
USBD_LL_Transmit
|
||
USBD_LL_PrepareReceive
|
||
USBD_LL_GetRxDataSize
|