Files
bassofono/codice/build/main.lst
2021-07-02 22:19:04 +02:00

3827 lines
160 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccKbyuxk.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 23, 1
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 2
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "main.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .global HAL_ADC_ConvCpltCallback
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 HAL_ADC_ConvCpltCallback:
25 .LFB376:
26 .file 1 "Core/Src/main.c"
1:Core/Src/main.c **** /* USER CODE BEGIN Header */
2:Core/Src/main.c **** /**
3:Core/Src/main.c **** ******************************************************************************
4:Core/Src/main.c **** * @file : main.c
5:Core/Src/main.c **** * @brief : Main program body
6:Core/Src/main.c **** ******************************************************************************
7:Core/Src/main.c **** * @attention
8:Core/Src/main.c **** *
9:Core/Src/main.c **** * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
10:Core/Src/main.c **** * All rights reserved.</center></h2>
11:Core/Src/main.c **** *
12:Core/Src/main.c **** * This software component is licensed by ST under BSD 3-Clause license,
13:Core/Src/main.c **** * the "License"; You may not use this file except in compliance with the
14:Core/Src/main.c **** * License. You may obtain a copy of the License at:
15:Core/Src/main.c **** * opensource.org/licenses/BSD-3-Clause
16:Core/Src/main.c **** *
17:Core/Src/main.c **** ******************************************************************************
18:Core/Src/main.c **** */
19:Core/Src/main.c **** /* USER CODE END Header */
20:Core/Src/main.c **** /* Includes ------------------------------------------------------------------*/
21:Core/Src/main.c **** #include "main.h"
22:Core/Src/main.c ****
23:Core/Src/main.c **** /* Private includes ----------------------------------------------------------*/
24:Core/Src/main.c **** /* USER CODE BEGIN Includes */
25:Core/Src/main.c **** #include <stdio.h>
26:Core/Src/main.c **** #include "bassofono.h"
27:Core/Src/main.c **** #include "interface.h"
28:Core/Src/main.c ****
29:Core/Src/main.c **** /* USER CODE END Includes */
30:Core/Src/main.c ****
31:Core/Src/main.c **** /* Private typedef -----------------------------------------------------------*/
32:Core/Src/main.c **** /* USER CODE BEGIN PTD */
ARM GAS /tmp/ccKbyuxk.s page 2
33:Core/Src/main.c ****
34:Core/Src/main.c **** /* USER CODE END PTD */
35:Core/Src/main.c ****
36:Core/Src/main.c **** /* Private define ------------------------------------------------------------*/
37:Core/Src/main.c **** /* USER CODE BEGIN PD */
38:Core/Src/main.c **** /* USER CODE END PD */
39:Core/Src/main.c ****
40:Core/Src/main.c **** /* Private macro -------------------------------------------------------------*/
41:Core/Src/main.c **** /* USER CODE BEGIN PM */
42:Core/Src/main.c ****
43:Core/Src/main.c **** /* USER CODE END PM */
44:Core/Src/main.c ****
45:Core/Src/main.c **** /* Private variables ---------------------------------------------------------*/
46:Core/Src/main.c **** ADC_HandleTypeDef hadc1;
47:Core/Src/main.c **** DMA_HandleTypeDef hdma_adc1;
48:Core/Src/main.c ****
49:Core/Src/main.c **** CORDIC_HandleTypeDef hcordic;
50:Core/Src/main.c ****
51:Core/Src/main.c **** DAC_HandleTypeDef hdac1;
52:Core/Src/main.c **** DMA_HandleTypeDef hdma_dac1_ch1;
53:Core/Src/main.c **** DMA_HandleTypeDef hdma_dac1_ch2;
54:Core/Src/main.c ****
55:Core/Src/main.c **** OPAMP_HandleTypeDef hopamp1;
56:Core/Src/main.c ****
57:Core/Src/main.c **** TIM_HandleTypeDef htim6;
58:Core/Src/main.c **** TIM_HandleTypeDef htim7;
59:Core/Src/main.c **** TIM_HandleTypeDef htim8;
60:Core/Src/main.c ****
61:Core/Src/main.c **** UART_HandleTypeDef huart1;
62:Core/Src/main.c **** DMA_HandleTypeDef hdma_usart1_tx;
63:Core/Src/main.c ****
64:Core/Src/main.c **** /* USER CODE BEGIN PV */
65:Core/Src/main.c ****
66:Core/Src/main.c **** volatile uint8_t tick;
67:Core/Src/main.c ****
68:Core/Src/main.c **** // RX
69:Core/Src/main.c **** volatile uint8_t rx_adc_buffer_ready, half_rx_dac_buffer_empty;
70:Core/Src/main.c ****
71:Core/Src/main.c **** // TX
72:Core/Src/main.c **** // volatile uint8_t half_tx_dac_buffer_empty, tx_dac_buffer_toggle;
73:Core/Src/main.c ****
74:Core/Src/main.c **** /* USER CODE END PV */
75:Core/Src/main.c ****
76:Core/Src/main.c **** /* Private function prototypes -----------------------------------------------*/
77:Core/Src/main.c **** void SystemClock_Config(void);
78:Core/Src/main.c **** static void MX_GPIO_Init(void);
79:Core/Src/main.c **** static void MX_DMA_Init(void);
80:Core/Src/main.c **** static void MX_DAC1_Init(void);
81:Core/Src/main.c **** static void MX_ADC1_Init(void);
82:Core/Src/main.c **** static void MX_TIM7_Init(void);
83:Core/Src/main.c **** static void MX_TIM6_Init(void);
84:Core/Src/main.c **** static void MX_CORDIC_Init(void);
85:Core/Src/main.c **** static void MX_USART1_UART_Init(void);
86:Core/Src/main.c **** static void MX_TIM8_Init(void);
87:Core/Src/main.c **** static void MX_OPAMP1_Init(void);
88:Core/Src/main.c **** /* USER CODE BEGIN PFP */
89:Core/Src/main.c ****
ARM GAS /tmp/ccKbyuxk.s page 3
90:Core/Src/main.c **** /* USER CODE END PFP */
91:Core/Src/main.c ****
92:Core/Src/main.c **** /* Private user code ---------------------------------------------------------*/
93:Core/Src/main.c **** /* USER CODE BEGIN 0 */
94:Core/Src/main.c ****
95:Core/Src/main.c **** // IRQ
96:Core/Src/main.c ****
97:Core/Src/main.c **** // ADC
98:Core/Src/main.c ****
99:Core/Src/main.c **** void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc){
27 .loc 1 99 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .LVL0:
100:Core/Src/main.c **** if(hadc->Instance == ADC1){
33 .loc 1 100 0
34 0000 0368 ldr r3, [r0]
35 0002 B3F1A04F cmp r3, #1342177280
36 0006 02D1 bne .L1
101:Core/Src/main.c **** rx_adc_buffer_ready = 1;
37 .loc 1 101 0
38 0008 014B ldr r3, .L4
39 000a 0122 movs r2, #1
40 000c 1A70 strb r2, [r3]
41 .L1:
102:Core/Src/main.c **** }
103:Core/Src/main.c **** }
42 .loc 1 103 0
43 000e 7047 bx lr
44 .L5:
45 .align 2
46 .L4:
47 0010 00000000 .word rx_adc_buffer_ready
48 .cfi_endproc
49 .LFE376:
51 .section .text.HAL_DAC_ConvHalfCpltCallbackCh1,"ax",%progbits
52 .align 1
53 .p2align 2,,3
54 .global HAL_DAC_ConvHalfCpltCallbackCh1
55 .syntax unified
56 .thumb
57 .thumb_func
58 .fpu fpv4-sp-d16
60 HAL_DAC_ConvHalfCpltCallbackCh1:
61 .LFB377:
104:Core/Src/main.c ****
105:Core/Src/main.c **** // DAC
106:Core/Src/main.c **** // rx
107:Core/Src/main.c **** void HAL_DAC_ConvHalfCpltCallbackCh1(DAC_HandleTypeDef* hdac) {
62 .loc 1 107 0
63 .cfi_startproc
64 @ args = 0, pretend = 0, frame = 0
65 @ frame_needed = 0, uses_anonymous_args = 0
66 @ link register save eliminated.
67 .LVL1:
ARM GAS /tmp/ccKbyuxk.s page 4
108:Core/Src/main.c **** lf_buffer_toggle = 0;
68 .loc 1 108 0
69 0000 0349 ldr r1, .L7
109:Core/Src/main.c **** half_rx_dac_buffer_empty = 1;
70 .loc 1 109 0
71 0002 044B ldr r3, .L7+4
108:Core/Src/main.c **** lf_buffer_toggle = 0;
72 .loc 1 108 0
73 0004 0020 movs r0, #0
74 .LVL2:
75 .loc 1 109 0
76 0006 0122 movs r2, #1
108:Core/Src/main.c **** lf_buffer_toggle = 0;
77 .loc 1 108 0
78 0008 0870 strb r0, [r1]
79 .loc 1 109 0
80 000a 1A70 strb r2, [r3]
110:Core/Src/main.c **** }
81 .loc 1 110 0
82 000c 7047 bx lr
83 .L8:
84 000e 00BF .align 2
85 .L7:
86 0010 00000000 .word lf_buffer_toggle
87 0014 00000000 .word half_rx_dac_buffer_empty
88 .cfi_endproc
89 .LFE377:
91 .section .text.HAL_DAC_ConvCpltCallbackCh1,"ax",%progbits
92 .align 1
93 .p2align 2,,3
94 .global HAL_DAC_ConvCpltCallbackCh1
95 .syntax unified
96 .thumb
97 .thumb_func
98 .fpu fpv4-sp-d16
100 HAL_DAC_ConvCpltCallbackCh1:
101 .LFB378:
111:Core/Src/main.c ****
112:Core/Src/main.c **** void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef* hdac) {
102 .loc 1 112 0
103 .cfi_startproc
104 @ args = 0, pretend = 0, frame = 0
105 @ frame_needed = 0, uses_anonymous_args = 0
106 @ link register save eliminated.
107 .LVL3:
113:Core/Src/main.c **** lf_buffer_toggle = 1;
108 .loc 1 113 0
109 0000 0249 ldr r1, .L10
114:Core/Src/main.c **** half_rx_dac_buffer_empty = 1;
110 .loc 1 114 0
111 0002 034A ldr r2, .L10+4
113:Core/Src/main.c **** lf_buffer_toggle = 1;
112 .loc 1 113 0
113 0004 0123 movs r3, #1
114 0006 0B70 strb r3, [r1]
115 .loc 1 114 0
116 0008 1370 strb r3, [r2]
ARM GAS /tmp/ccKbyuxk.s page 5
115:Core/Src/main.c **** }
117 .loc 1 115 0
118 000a 7047 bx lr
119 .L11:
120 .align 2
121 .L10:
122 000c 00000000 .word lf_buffer_toggle
123 0010 00000000 .word half_rx_dac_buffer_empty
124 .cfi_endproc
125 .LFE378:
127 .section .text.HAL_DACEx_ConvHalfCpltCallbackCh2,"ax",%progbits
128 .align 1
129 .p2align 2,,3
130 .global HAL_DACEx_ConvHalfCpltCallbackCh2
131 .syntax unified
132 .thumb
133 .thumb_func
134 .fpu fpv4-sp-d16
136 HAL_DACEx_ConvHalfCpltCallbackCh2:
137 .LFB379:
116:Core/Src/main.c ****
117:Core/Src/main.c **** // tx
118:Core/Src/main.c **** void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac) {
138 .loc 1 118 0
139 .cfi_startproc
140 @ args = 0, pretend = 0, frame = 0
141 @ frame_needed = 0, uses_anonymous_args = 0
142 .LVL4:
143 0000 08B5 push {r3, lr}
144 .LCFI0:
145 .cfi_def_cfa_offset 8
146 .cfi_offset 3, -8
147 .cfi_offset 14, -4
119:Core/Src/main.c **** HAL_GPIO_TogglePin(OUT_GPIO_Port, OUT_Pin);
148 .loc 1 119 0
149 0002 2021 movs r1, #32
150 0004 0448 ldr r0, .L14
151 .LVL5:
152 0006 FFF7FEFF bl HAL_GPIO_TogglePin
153 .LVL6:
120:Core/Src/main.c **** tx_dac_buffer_toggle = 0;
154 .loc 1 120 0
155 000a 0449 ldr r1, .L14+4
121:Core/Src/main.c **** half_tx_dac_buffer_empty = 1;
156 .loc 1 121 0
157 000c 044B ldr r3, .L14+8
120:Core/Src/main.c **** tx_dac_buffer_toggle = 0;
158 .loc 1 120 0
159 000e 0020 movs r0, #0
160 .loc 1 121 0
161 0010 0122 movs r2, #1
120:Core/Src/main.c **** tx_dac_buffer_toggle = 0;
162 .loc 1 120 0
163 0012 0870 strb r0, [r1]
164 .loc 1 121 0
165 0014 1A70 strb r2, [r3]
122:Core/Src/main.c **** }
ARM GAS /tmp/ccKbyuxk.s page 6
166 .loc 1 122 0
167 0016 08BD pop {r3, pc}
168 .L15:
169 .align 2
170 .L14:
171 0018 00040048 .word 1207960576
172 001c 00000000 .word tx_dac_buffer_toggle
173 0020 00000000 .word half_tx_dac_buffer_empty
174 .cfi_endproc
175 .LFE379:
177 .section .text.HAL_DACEx_ConvCpltCallbackCh2,"ax",%progbits
178 .align 1
179 .p2align 2,,3
180 .global HAL_DACEx_ConvCpltCallbackCh2
181 .syntax unified
182 .thumb
183 .thumb_func
184 .fpu fpv4-sp-d16
186 HAL_DACEx_ConvCpltCallbackCh2:
187 .LFB380:
123:Core/Src/main.c ****
124:Core/Src/main.c **** void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac) {
188 .loc 1 124 0
189 .cfi_startproc
190 @ args = 0, pretend = 0, frame = 0
191 @ frame_needed = 0, uses_anonymous_args = 0
192 .LVL7:
193 0000 08B5 push {r3, lr}
194 .LCFI1:
195 .cfi_def_cfa_offset 8
196 .cfi_offset 3, -8
197 .cfi_offset 14, -4
125:Core/Src/main.c **** HAL_GPIO_TogglePin(OUT_GPIO_Port, OUT_Pin);
198 .loc 1 125 0
199 0002 2021 movs r1, #32
200 0004 0448 ldr r0, .L18
201 .LVL8:
202 0006 FFF7FEFF bl HAL_GPIO_TogglePin
203 .LVL9:
126:Core/Src/main.c **** tx_dac_buffer_toggle = 1;
204 .loc 1 126 0
205 000a 0449 ldr r1, .L18+4
127:Core/Src/main.c **** half_tx_dac_buffer_empty = 1;
206 .loc 1 127 0
207 000c 044A ldr r2, .L18+8
126:Core/Src/main.c **** tx_dac_buffer_toggle = 1;
208 .loc 1 126 0
209 000e 0123 movs r3, #1
210 0010 0B70 strb r3, [r1]
211 .loc 1 127 0
212 0012 1370 strb r3, [r2]
128:Core/Src/main.c **** }
213 .loc 1 128 0
214 0014 08BD pop {r3, pc}
215 .L19:
216 0016 00BF .align 2
217 .L18:
ARM GAS /tmp/ccKbyuxk.s page 7
218 0018 00040048 .word 1207960576
219 001c 00000000 .word tx_dac_buffer_toggle
220 0020 00000000 .word half_tx_dac_buffer_empty
221 .cfi_endproc
222 .LFE380:
224 .section .text.HAL_TIM_PeriodElapsedCallback,"ax",%progbits
225 .align 1
226 .p2align 2,,3
227 .global HAL_TIM_PeriodElapsedCallback
228 .syntax unified
229 .thumb
230 .thumb_func
231 .fpu fpv4-sp-d16
233 HAL_TIM_PeriodElapsedCallback:
234 .LFB381:
129:Core/Src/main.c ****
130:Core/Src/main.c **** /*
131:Core/Src/main.c **** void HAL_DAC_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac) {
132:Core/Src/main.c **** tx_dac_buffer_toggle = 0;
133:Core/Src/main.c **** half_tx_dac_buffer_empty = 1;
134:Core/Src/main.c **** }
135:Core/Src/main.c ****
136:Core/Src/main.c **** void HAL_DAC_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac) {
137:Core/Src/main.c **** tx_dac_buffer_toggle = 1;
138:Core/Src/main.c **** half_tx_dac_buffer_empty = 1;
139:Core/Src/main.c **** }
140:Core/Src/main.c **** */
141:Core/Src/main.c ****
142:Core/Src/main.c **** // TIMERZ
143:Core/Src/main.c **** // 10 ms
144:Core/Src/main.c **** void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){
235 .loc 1 144 0
236 .cfi_startproc
237 @ args = 0, pretend = 0, frame = 0
238 @ frame_needed = 0, uses_anonymous_args = 0
239 @ link register save eliminated.
240 .LVL10:
145:Core/Src/main.c **** if (htim->Instance == TIM7){
241 .loc 1 145 0
242 0000 0268 ldr r2, [r0]
243 0002 034B ldr r3, .L22
244 0004 9A42 cmp r2, r3
245 0006 02D1 bne .L20
146:Core/Src/main.c **** tick = 1;
246 .loc 1 146 0
247 0008 024B ldr r3, .L22+4
248 000a 0122 movs r2, #1
249 000c 1A70 strb r2, [r3]
250 .L20:
147:Core/Src/main.c **** }
148:Core/Src/main.c **** }
251 .loc 1 148 0
252 000e 7047 bx lr
253 .L23:
254 .align 2
255 .L22:
256 0010 00140040 .word 1073746944
ARM GAS /tmp/ccKbyuxk.s page 8
257 0014 00000000 .word tick
258 .cfi_endproc
259 .LFE381:
261 .section .text.HAL_UART_RxCpltCallback,"ax",%progbits
262 .align 1
263 .p2align 2,,3
264 .global HAL_UART_RxCpltCallback
265 .syntax unified
266 .thumb
267 .thumb_func
268 .fpu fpv4-sp-d16
270 HAL_UART_RxCpltCallback:
271 .LFB382:
149:Core/Src/main.c ****
150:Core/Src/main.c **** // uart
151:Core/Src/main.c **** void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
272 .loc 1 151 0
273 .cfi_startproc
274 @ args = 0, pretend = 0, frame = 0
275 @ frame_needed = 0, uses_anonymous_args = 0
276 .LVL11:
277 0000 38B5 push {r3, r4, r5, lr}
278 .LCFI2:
279 .cfi_def_cfa_offset 16
280 .cfi_offset 3, -16
281 .cfi_offset 4, -12
282 .cfi_offset 5, -8
283 .cfi_offset 14, -4
152:Core/Src/main.c **** if (huart == &huart1){
284 .loc 1 152 0
285 0002 084B ldr r3, .L28
286 0004 9842 cmp r0, r3
287 0006 00D0 beq .L27
153:Core/Src/main.c **** enqueue_cmd(uart_rx_buf[0]);
154:Core/Src/main.c **** HAL_UART_Receive_IT(&huart1, uart_rx_buf, 1);
155:Core/Src/main.c **** }
156:Core/Src/main.c **** /*
157:Core/Src/main.c **** if (huart == &huart2){
158:Core/Src/main.c **** enqueue_cmd(uart_rx_buf[0]);
159:Core/Src/main.c **** HAL_UART_Receive_IT(&huart2, uart_rx_buf, 1);
160:Core/Src/main.c **** }
161:Core/Src/main.c **** */
162:Core/Src/main.c **** }
288 .loc 1 162 0
289 0008 38BD pop {r3, r4, r5, pc}
290 .L27:
291 .LBB96:
153:Core/Src/main.c **** enqueue_cmd(uart_rx_buf[0]);
292 .loc 1 153 0
293 000a 074D ldr r5, .L28+4
294 000c 0446 mov r4, r0
295 000e 2878 ldrb r0, [r5] @ zero_extendqisi2
296 .LVL12:
297 0010 FFF7FEFF bl enqueue_cmd
298 .LVL13:
154:Core/Src/main.c **** }
299 .loc 1 154 0
ARM GAS /tmp/ccKbyuxk.s page 9
300 0014 2946 mov r1, r5
301 0016 2046 mov r0, r4
302 0018 0122 movs r2, #1
303 .LBE96:
304 .loc 1 162 0
305 001a BDE83840 pop {r3, r4, r5, lr}
306 .LCFI3:
307 .cfi_restore 14
308 .cfi_restore 5
309 .cfi_restore 4
310 .cfi_restore 3
311 .cfi_def_cfa_offset 0
312 .LVL14:
313 .LBB97:
154:Core/Src/main.c **** }
314 .loc 1 154 0
315 001e FFF7FEBF b HAL_UART_Receive_IT
316 .LVL15:
317 .L29:
318 0022 00BF .align 2
319 .L28:
320 0024 00000000 .word huart1
321 0028 00000000 .word uart_rx_buf
322 .LBE97:
323 .cfi_endproc
324 .LFE382:
326 .section .text.__io_putchar,"ax",%progbits
327 .align 1
328 .p2align 2,,3
329 .global __io_putchar
330 .syntax unified
331 .thumb
332 .thumb_func
333 .fpu fpv4-sp-d16
335 __io_putchar:
336 .LFB383:
163:Core/Src/main.c ****
164:Core/Src/main.c **** // non-DMA
165:Core/Src/main.c **** int __io_putchar(int ch){
337 .loc 1 165 0
338 .cfi_startproc
339 @ args = 0, pretend = 0, frame = 8
340 @ frame_needed = 0, uses_anonymous_args = 0
341 .LVL16:
342 0000 10B5 push {r4, lr}
343 .LCFI4:
344 .cfi_def_cfa_offset 8
345 .cfi_offset 4, -8
346 .cfi_offset 14, -4
347 0002 82B0 sub sp, sp, #8
348 .LCFI5:
349 .cfi_def_cfa_offset 16
166:Core/Src/main.c **** uint8_t c[1];
167:Core/Src/main.c **** c[0] = ch & 0x00FF;
350 .loc 1 167 0
351 0004 02A9 add r1, sp, #8
165:Core/Src/main.c **** uint8_t c[1];
ARM GAS /tmp/ccKbyuxk.s page 10
352 .loc 1 165 0
353 0006 0446 mov r4, r0
354 .loc 1 167 0
355 0008 01F8040D strb r0, [r1, #-4]!
168:Core/Src/main.c **** HAL_UART_Transmit(&huart1, &*c, 1, 10);
356 .loc 1 168 0
357 000c 0A23 movs r3, #10
358 000e 0122 movs r2, #1
359 0010 0248 ldr r0, .L32
360 .LVL17:
361 0012 FFF7FEFF bl HAL_UART_Transmit
362 .LVL18:
169:Core/Src/main.c **** // HAL_UART_Transmit(&huart2, &*c, 1, 10);
170:Core/Src/main.c **** return ch;
171:Core/Src/main.c **** }
363 .loc 1 171 0
364 0016 2046 mov r0, r4
365 0018 02B0 add sp, sp, #8
366 .LCFI6:
367 .cfi_def_cfa_offset 8
368 @ sp needed
369 001a 10BD pop {r4, pc}
370 .LVL19:
371 .L33:
372 .align 2
373 .L32:
374 001c 00000000 .word huart1
375 .cfi_endproc
376 .LFE383:
378 .section .text._write,"ax",%progbits
379 .align 1
380 .p2align 2,,3
381 .global _write
382 .syntax unified
383 .thumb
384 .thumb_func
385 .fpu fpv4-sp-d16
387 _write:
388 .LFB384:
172:Core/Src/main.c ****
173:Core/Src/main.c **** int _write(int file,char *ptr, int len){
389 .loc 1 173 0
390 .cfi_startproc
391 @ args = 0, pretend = 0, frame = 0
392 @ frame_needed = 0, uses_anonymous_args = 0
393 .LVL20:
394 0000 10B5 push {r4, lr}
395 .LCFI7:
396 .cfi_def_cfa_offset 8
397 .cfi_offset 4, -8
398 .cfi_offset 14, -4
174:Core/Src/main.c **** HAL_UART_Transmit_DMA(&huart1, ptr, len);
399 .loc 1 174 0
400 0002 0348 ldr r0, .L36
401 .LVL21:
173:Core/Src/main.c **** HAL_UART_Transmit_DMA(&huart1, ptr, len);
402 .loc 1 173 0
ARM GAS /tmp/ccKbyuxk.s page 11
403 0004 1446 mov r4, r2
404 .loc 1 174 0
405 0006 92B2 uxth r2, r2
406 .LVL22:
407 0008 FFF7FEFF bl HAL_UART_Transmit_DMA
408 .LVL23:
175:Core/Src/main.c **** // HAL_UART_Transmit_DMA(&huart2, ptr, len);
176:Core/Src/main.c **** /* int DataIdx;
177:Core/Src/main.c **** for(DataIdx= 0; DataIdx< len; DataIdx++) {
178:Core/Src/main.c **** __io_putchar(*ptr++);
179:Core/Src/main.c **** }*/
180:Core/Src/main.c **** return len;
181:Core/Src/main.c **** }
409 .loc 1 181 0
410 000c 2046 mov r0, r4
411 000e 10BD pop {r4, pc}
412 .LVL24:
413 .L37:
414 .align 2
415 .L36:
416 0010 00000000 .word huart1
417 .cfi_endproc
418 .LFE384:
420 .section .text.display_write,"ax",%progbits
421 .align 1
422 .p2align 2,,3
423 .global display_write
424 .syntax unified
425 .thumb
426 .thumb_func
427 .fpu fpv4-sp-d16
429 display_write:
430 .LFB385:
182:Core/Src/main.c ****
183:Core/Src/main.c **** int display_write(char *ptr, int len){
431 .loc 1 183 0
432 .cfi_startproc
433 @ args = 0, pretend = 0, frame = 0
434 @ frame_needed = 0, uses_anonymous_args = 0
435 .LVL25:
436 0000 10B5 push {r4, lr}
437 .LCFI8:
438 .cfi_def_cfa_offset 8
439 .cfi_offset 4, -8
440 .cfi_offset 14, -4
184:Core/Src/main.c **** HAL_UART_Transmit_DMA(&huart1, ptr, len);
441 .loc 1 184 0
442 0002 8AB2 uxth r2, r1
183:Core/Src/main.c **** HAL_UART_Transmit_DMA(&huart1, ptr, len);
443 .loc 1 183 0
444 0004 0C46 mov r4, r1
445 .loc 1 184 0
446 0006 0146 mov r1, r0
447 .LVL26:
448 0008 0248 ldr r0, .L40
449 .LVL27:
450 000a FFF7FEFF bl HAL_UART_Transmit_DMA
ARM GAS /tmp/ccKbyuxk.s page 12
451 .LVL28:
185:Core/Src/main.c **** // HAL_UART_Transmit_DMA(&huart2, ptr, len);
186:Core/Src/main.c **** return len;
187:Core/Src/main.c **** }
452 .loc 1 187 0
453 000e 2046 mov r0, r4
454 0010 10BD pop {r4, pc}
455 .LVL29:
456 .L41:
457 0012 00BF .align 2
458 .L40:
459 0014 00000000 .word huart1
460 .cfi_endproc
461 .LFE385:
463 .section .text.start_transmit,"ax",%progbits
464 .align 1
465 .p2align 2,,3
466 .global start_transmit
467 .syntax unified
468 .thumb
469 .thumb_func
470 .fpu fpv4-sp-d16
472 start_transmit:
473 .LFB386:
188:Core/Src/main.c ****
189:Core/Src/main.c **** void start_transmit(void){
474 .loc 1 189 0
475 .cfi_startproc
476 @ args = 0, pretend = 0, frame = 0
477 @ frame_needed = 0, uses_anonymous_args = 0
478 0000 10B5 push {r4, lr}
479 .LCFI9:
480 .cfi_def_cfa_offset 8
481 .cfi_offset 4, -8
482 .cfi_offset 14, -4
190:Core/Src/main.c **** transmit = 1;
483 .loc 1 190 0
484 0002 0B4B ldr r3, .L44
191:Core/Src/main.c **** // ADC
192:Core/Src/main.c **** // HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_BUFFER_SIZE);
193:Core/Src/main.c ****
194:Core/Src/main.c **** // DAC
195:Core/Src/main.c **** HAL_TIM_Base_Start(&htim8);
196:Core/Src/main.c **** HAL_DAC_Start(&hdac1,DAC_CHANNEL_2);
485 .loc 1 196 0
486 0004 0B4C ldr r4, .L44+4
195:Core/Src/main.c **** HAL_DAC_Start(&hdac1,DAC_CHANNEL_2);
487 .loc 1 195 0
488 0006 0C48 ldr r0, .L44+8
189:Core/Src/main.c **** transmit = 1;
489 .loc 1 189 0
490 0008 82B0 sub sp, sp, #8
491 .LCFI10:
492 .cfi_def_cfa_offset 16
190:Core/Src/main.c **** // ADC
493 .loc 1 190 0
494 000a 0122 movs r2, #1
ARM GAS /tmp/ccKbyuxk.s page 13
495 000c 1A70 strb r2, [r3]
195:Core/Src/main.c **** HAL_DAC_Start(&hdac1,DAC_CHANNEL_2);
496 .loc 1 195 0
497 000e FFF7FEFF bl HAL_TIM_Base_Start
498 .LVL30:
499 .loc 1 196 0
500 0012 2046 mov r0, r4
501 0014 1021 movs r1, #16
502 0016 FFF7FEFF bl HAL_DAC_Start
503 .LVL31:
197:Core/Src/main.c **** HAL_DAC_Start_DMA(&hdac1, DAC_CHANNEL_2, tx_dac_buffer, (TX_DAC_BUFFER_SIZE * 2), DAC_ALIGN
504 .loc 1 197 0
505 001a 0023 movs r3, #0
506 001c 0093 str r3, [sp]
507 001e 2046 mov r0, r4
508 0020 4FF40063 mov r3, #2048
509 0024 054A ldr r2, .L44+12
510 0026 1021 movs r1, #16
511 0028 FFF7FEFF bl HAL_DAC_Start_DMA
512 .LVL32:
198:Core/Src/main.c **** }
513 .loc 1 198 0
514 002c 02B0 add sp, sp, #8
515 .LCFI11:
516 .cfi_def_cfa_offset 8
517 @ sp needed
518 002e 10BD pop {r4, pc}
519 .L45:
520 .align 2
521 .L44:
522 0030 00000000 .word transmit
523 0034 00000000 .word hdac1
524 0038 00000000 .word htim8
525 003c 00000000 .word tx_dac_buffer
526 .cfi_endproc
527 .LFE386:
529 .section .text.stop_transmit,"ax",%progbits
530 .align 1
531 .p2align 2,,3
532 .global stop_transmit
533 .syntax unified
534 .thumb
535 .thumb_func
536 .fpu fpv4-sp-d16
538 stop_transmit:
539 .LFB387:
199:Core/Src/main.c ****
200:Core/Src/main.c **** void stop_transmit(void){
540 .loc 1 200 0
541 .cfi_startproc
542 @ args = 0, pretend = 0, frame = 0
543 @ frame_needed = 0, uses_anonymous_args = 0
544 0000 10B5 push {r4, lr}
545 .LCFI12:
546 .cfi_def_cfa_offset 8
547 .cfi_offset 4, -8
548 .cfi_offset 14, -4
ARM GAS /tmp/ccKbyuxk.s page 14
201:Core/Src/main.c **** transmit = 0;
549 .loc 1 201 0
550 0002 084B ldr r3, .L48
202:Core/Src/main.c **** // ADC
203:Core/Src/main.c **** // HAL_ADC_Stop_DMA(&hadc1);
204:Core/Src/main.c ****
205:Core/Src/main.c **** // DAC
206:Core/Src/main.c **** HAL_TIM_Base_Stop(&htim8);
207:Core/Src/main.c **** HAL_DAC_Stop(&hdac1,DAC_CHANNEL_2);
551 .loc 1 207 0
552 0004 084C ldr r4, .L48+4
206:Core/Src/main.c **** HAL_DAC_Stop(&hdac1,DAC_CHANNEL_2);
553 .loc 1 206 0
554 0006 0948 ldr r0, .L48+8
201:Core/Src/main.c **** transmit = 0;
555 .loc 1 201 0
556 0008 0022 movs r2, #0
557 000a 1A70 strb r2, [r3]
206:Core/Src/main.c **** HAL_DAC_Stop(&hdac1,DAC_CHANNEL_2);
558 .loc 1 206 0
559 000c FFF7FEFF bl HAL_TIM_Base_Stop
560 .LVL33:
561 .loc 1 207 0
562 0010 2046 mov r0, r4
563 0012 1021 movs r1, #16
564 0014 FFF7FEFF bl HAL_DAC_Stop
565 .LVL34:
208:Core/Src/main.c **** HAL_DAC_Stop_DMA(&hdac1, DAC_CHANNEL_2);
566 .loc 1 208 0
567 0018 2046 mov r0, r4
568 001a 1021 movs r1, #16
209:Core/Src/main.c **** }
569 .loc 1 209 0
570 001c BDE81040 pop {r4, lr}
571 .LCFI13:
572 .cfi_restore 14
573 .cfi_restore 4
574 .cfi_def_cfa_offset 0
208:Core/Src/main.c **** HAL_DAC_Stop_DMA(&hdac1, DAC_CHANNEL_2);
575 .loc 1 208 0
576 0020 FFF7FEBF b HAL_DAC_Stop_DMA
577 .LVL35:
578 .L49:
579 .align 2
580 .L48:
581 0024 00000000 .word transmit
582 0028 00000000 .word hdac1
583 002c 00000000 .word htim8
584 .cfi_endproc
585 .LFE387:
587 .section .text.start_receive,"ax",%progbits
588 .align 1
589 .p2align 2,,3
590 .global start_receive
591 .syntax unified
592 .thumb
593 .thumb_func
ARM GAS /tmp/ccKbyuxk.s page 15
594 .fpu fpv4-sp-d16
596 start_receive:
597 .LFB388:
210:Core/Src/main.c ****
211:Core/Src/main.c **** void start_receive(void){
598 .loc 1 211 0
599 .cfi_startproc
600 @ args = 0, pretend = 0, frame = 0
601 @ frame_needed = 0, uses_anonymous_args = 0
602 0000 30B5 push {r4, r5, lr}
603 .LCFI14:
604 .cfi_def_cfa_offset 12
605 .cfi_offset 4, -12
606 .cfi_offset 5, -8
607 .cfi_offset 14, -4
212:Core/Src/main.c **** receive = 1;
608 .loc 1 212 0
609 0002 0D4B ldr r3, .L52
213:Core/Src/main.c **** // ADC
214:Core/Src/main.c **** HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_BUFFER_SIZE);
610 .loc 1 214 0
611 0004 0D49 ldr r1, .L52+4
215:Core/Src/main.c ****
216:Core/Src/main.c **** // DAC
217:Core/Src/main.c **** HAL_TIM_Base_Start(&htim6);
218:Core/Src/main.c **** HAL_DAC_Start(&hdac1,DAC_CHANNEL_1);
612 .loc 1 218 0
613 0006 0E4C ldr r4, .L52+8
214:Core/Src/main.c ****
614 .loc 1 214 0
615 0008 0E48 ldr r0, .L52+12
211:Core/Src/main.c **** receive = 1;
616 .loc 1 211 0
617 000a 83B0 sub sp, sp, #12
618 .LCFI15:
619 .cfi_def_cfa_offset 24
214:Core/Src/main.c ****
620 .loc 1 214 0
621 000c 4FF48062 mov r2, #1024
212:Core/Src/main.c **** // ADC
622 .loc 1 212 0
623 0010 0125 movs r5, #1
624 0012 1D70 strb r5, [r3]
214:Core/Src/main.c ****
625 .loc 1 214 0
626 0014 FFF7FEFF bl HAL_ADC_Start_DMA
627 .LVL36:
217:Core/Src/main.c **** HAL_DAC_Start(&hdac1,DAC_CHANNEL_1);
628 .loc 1 217 0
629 0018 0B48 ldr r0, .L52+16
630 001a FFF7FEFF bl HAL_TIM_Base_Start
631 .LVL37:
632 .loc 1 218 0
633 001e 2046 mov r0, r4
634 0020 0021 movs r1, #0
635 0022 FFF7FEFF bl HAL_DAC_Start
636 .LVL38:
ARM GAS /tmp/ccKbyuxk.s page 16
219:Core/Src/main.c **** HAL_DAC_Start_DMA(&hdac1, DAC_CHANNEL_1, lf_buffer, (LF_BUFFER_SIZE * 2), DAC_ALIGN_12B_R);
637 .loc 1 219 0
638 0026 0021 movs r1, #0
639 0028 2046 mov r0, r4
640 002a 0091 str r1, [sp]
641 002c 8023 movs r3, #128
642 002e 074A ldr r2, .L52+20
643 0030 FFF7FEFF bl HAL_DAC_Start_DMA
644 .LVL39:
220:Core/Src/main.c **** }
645 .loc 1 220 0
646 0034 03B0 add sp, sp, #12
647 .LCFI16:
648 .cfi_def_cfa_offset 12
649 @ sp needed
650 0036 30BD pop {r4, r5, pc}
651 .L53:
652 .align 2
653 .L52:
654 0038 00000000 .word receive
655 003c 00000000 .word adc_buffer
656 0040 00000000 .word hdac1
657 0044 00000000 .word hadc1
658 0048 00000000 .word htim6
659 004c 00000000 .word lf_buffer
660 .cfi_endproc
661 .LFE388:
663 .section .text.stop_receive,"ax",%progbits
664 .align 1
665 .p2align 2,,3
666 .global stop_receive
667 .syntax unified
668 .thumb
669 .thumb_func
670 .fpu fpv4-sp-d16
672 stop_receive:
673 .LFB389:
221:Core/Src/main.c ****
222:Core/Src/main.c **** void stop_receive(void){
674 .loc 1 222 0
675 .cfi_startproc
676 @ args = 0, pretend = 0, frame = 0
677 @ frame_needed = 0, uses_anonymous_args = 0
678 0000 38B5 push {r3, r4, r5, lr}
679 .LCFI17:
680 .cfi_def_cfa_offset 16
681 .cfi_offset 3, -16
682 .cfi_offset 4, -12
683 .cfi_offset 5, -8
684 .cfi_offset 14, -4
223:Core/Src/main.c **** receive = 0;
685 .loc 1 223 0
686 0002 0A4B ldr r3, .L56
224:Core/Src/main.c **** // ADC
225:Core/Src/main.c **** HAL_ADC_Stop_DMA(&hadc1);
226:Core/Src/main.c ****
227:Core/Src/main.c **** // DAC
ARM GAS /tmp/ccKbyuxk.s page 17
228:Core/Src/main.c **** HAL_TIM_Base_Stop(&htim6);
229:Core/Src/main.c **** HAL_DAC_Stop(&hdac1,DAC_CHANNEL_1);
687 .loc 1 229 0
688 0004 0A4D ldr r5, .L56+4
225:Core/Src/main.c ****
689 .loc 1 225 0
690 0006 0B48 ldr r0, .L56+8
223:Core/Src/main.c **** receive = 0;
691 .loc 1 223 0
692 0008 0024 movs r4, #0
693 000a 1C70 strb r4, [r3]
225:Core/Src/main.c ****
694 .loc 1 225 0
695 000c FFF7FEFF bl HAL_ADC_Stop_DMA
696 .LVL40:
228:Core/Src/main.c **** HAL_DAC_Stop(&hdac1,DAC_CHANNEL_1);
697 .loc 1 228 0
698 0010 0948 ldr r0, .L56+12
699 0012 FFF7FEFF bl HAL_TIM_Base_Stop
700 .LVL41:
701 .loc 1 229 0
702 0016 2146 mov r1, r4
703 0018 2846 mov r0, r5
704 001a FFF7FEFF bl HAL_DAC_Stop
705 .LVL42:
230:Core/Src/main.c **** HAL_DAC_Stop_DMA(&hdac1, DAC_CHANNEL_1);
706 .loc 1 230 0
707 001e 2146 mov r1, r4
708 0020 2846 mov r0, r5
231:Core/Src/main.c **** }
709 .loc 1 231 0
710 0022 BDE83840 pop {r3, r4, r5, lr}
711 .LCFI18:
712 .cfi_restore 14
713 .cfi_restore 5
714 .cfi_restore 4
715 .cfi_restore 3
716 .cfi_def_cfa_offset 0
230:Core/Src/main.c **** HAL_DAC_Stop_DMA(&hdac1, DAC_CHANNEL_1);
717 .loc 1 230 0
718 0026 FFF7FEBF b HAL_DAC_Stop_DMA
719 .LVL43:
720 .L57:
721 002a 00BF .align 2
722 .L56:
723 002c 00000000 .word receive
724 0030 00000000 .word hdac1
725 0034 00000000 .word hadc1
726 0038 00000000 .word htim6
727 .cfi_endproc
728 .LFE389:
730 .section .text.SystemClock_Config,"ax",%progbits
731 .align 1
732 .p2align 2,,3
733 .global SystemClock_Config
734 .syntax unified
735 .thumb
ARM GAS /tmp/ccKbyuxk.s page 18
736 .thumb_func
737 .fpu fpv4-sp-d16
739 SystemClock_Config:
740 .LFB391:
232:Core/Src/main.c ****
233:Core/Src/main.c ****
234:Core/Src/main.c **** /* USER CODE END 0 */
235:Core/Src/main.c ****
236:Core/Src/main.c **** /**
237:Core/Src/main.c **** * @brief The application entry point.
238:Core/Src/main.c **** * @retval int
239:Core/Src/main.c **** */
240:Core/Src/main.c **** int main(void)
241:Core/Src/main.c **** {
242:Core/Src/main.c **** /* USER CODE BEGIN 1 */
243:Core/Src/main.c **** state_changed = 0;
244:Core/Src/main.c **** display_init();
245:Core/Src/main.c **** state_set_default();
246:Core/Src/main.c **** interface_set_default();
247:Core/Src/main.c **** display_update_mode();
248:Core/Src/main.c **** display_update_state();
249:Core/Src/main.c **** /* USER CODE END 1 */
250:Core/Src/main.c ****
251:Core/Src/main.c **** /* MCU Configuration--------------------------------------------------------*/
252:Core/Src/main.c ****
253:Core/Src/main.c **** /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
254:Core/Src/main.c **** HAL_Init();
255:Core/Src/main.c ****
256:Core/Src/main.c **** /* USER CODE BEGIN Init */
257:Core/Src/main.c ****
258:Core/Src/main.c **** /* USER CODE END Init */
259:Core/Src/main.c ****
260:Core/Src/main.c **** /* Configure the system clock */
261:Core/Src/main.c **** SystemClock_Config();
262:Core/Src/main.c ****
263:Core/Src/main.c **** /* USER CODE BEGIN SysInit */
264:Core/Src/main.c ****
265:Core/Src/main.c **** /* USER CODE END SysInit */
266:Core/Src/main.c ****
267:Core/Src/main.c **** /* Initialize all configured peripherals */
268:Core/Src/main.c **** MX_GPIO_Init();
269:Core/Src/main.c **** MX_DMA_Init();
270:Core/Src/main.c **** MX_DAC1_Init();
271:Core/Src/main.c **** MX_ADC1_Init();
272:Core/Src/main.c **** MX_TIM7_Init();
273:Core/Src/main.c **** MX_TIM6_Init();
274:Core/Src/main.c **** MX_CORDIC_Init();
275:Core/Src/main.c **** MX_USART1_UART_Init();
276:Core/Src/main.c **** MX_TIM8_Init();
277:Core/Src/main.c **** MX_OPAMP1_Init();
278:Core/Src/main.c **** /* USER CODE BEGIN 2 */
279:Core/Src/main.c **** st2_filter_init();
280:Core/Src/main.c **** audio_filter_init();
281:Core/Src/main.c **** // diag();
282:Core/Src/main.c ****
283:Core/Src/main.c **** HAL_TIM_Base_Start_IT(&htim7);
284:Core/Src/main.c **** HAL_UART_Receive_IT(&huart1, uart_rx_buf, 1);
ARM GAS /tmp/ccKbyuxk.s page 19
285:Core/Src/main.c **** // HAL_UART_Receive_IT(&huart2, uart_rx_buf, 1);
286:Core/Src/main.c ****
287:Core/Src/main.c **** start_receive();
288:Core/Src/main.c **** /* USER CODE END 2 */
289:Core/Src/main.c ****
290:Core/Src/main.c **** /* Infinite loop */
291:Core/Src/main.c **** /* USER CODE BEGIN WHILE */
292:Core/Src/main.c **** while (1){
293:Core/Src/main.c **** /* USER CODE END WHILE */
294:Core/Src/main.c ****
295:Core/Src/main.c **** /* USER CODE BEGIN 3 */
296:Core/Src/main.c **** if(receive){
297:Core/Src/main.c **** if(rx_adc_buffer_ready){
298:Core/Src/main.c **** HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, SET);
299:Core/Src/main.c **** rx_mixer(adc_buffer, ADC_BUFFER_SIZE, if_I, if_Q, nco1_increment);
300:Core/Src/main.c **** HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, RESET);
301:Core/Src/main.c **** rx_adc_buffer_ready = 0;
302:Core/Src/main.c **** }
303:Core/Src/main.c **** if(half_rx_dac_buffer_empty){
304:Core/Src/main.c **** if (modulation == MOD_DC) dc_demodulator(if_I, LF_BUFFER_SIZE, prefilter_lf_buffer);
305:Core/Src/main.c **** else if(modulation == MOD_LSB || modulation == MOD_USB) ssb_demodulator(if_I, if_Q, LF_BUFFER_SI
306:Core/Src/main.c **** else if (modulation == MOD_AM) am_demodulator(if_I, if_Q, LF_BUFFER_SIZE, prefilter_lf_buffer);
307:Core/Src/main.c **** arm_fir_q31(&audio_filter_struct, prefilter_lf_buffer, lf_buffer[lf_buffer_toggle], AUDIO_FILTER
308:Core/Src/main.c **** half_rx_dac_buffer_empty = 0;
309:Core/Src/main.c **** }
310:Core/Src/main.c **** }
311:Core/Src/main.c **** if (transmit){
312:Core/Src/main.c **** if(half_tx_dac_buffer_empty){
313:Core/Src/main.c **** // HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, SET);
314:Core/Src/main.c **** tx_mixer(tx_dac_buffer[tx_dac_buffer_toggle], TX_DAC_BUFFER_SIZE, if_I, if_Q, nco1_increment);
315:Core/Src/main.c **** half_tx_dac_buffer_empty = 0;
316:Core/Src/main.c **** // HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, RESET);
317:Core/Src/main.c **** }
318:Core/Src/main.c **** if(tx_adc_buffer_ready){
319:Core/Src/main.c **** if (modulation == MOD_DC) dc_modulator(if_I, LF_BUFFER_SIZE, prefilter_lf_buffer);
320:Core/Src/main.c **** else if(modulation == MOD_LSB || modulation == MOD_USB) ssb_modulator(if_I,
321:Core/Src/main.c **** else if (modulation == MOD_AM) am_modulator(if_I, if_Q, LF_BUFFER_SIZE, pre
322:Core/Src/main.c **** }
323:Core/Src/main.c **** }
324:Core/Src/main.c **** if(tick){
325:Core/Src/main.c **** if(receive){
326:Core/Src/main.c **** // TODO
327:Core/Src/main.c **** rx_measure_signal(if_I, LF_BUFFER_SIZE);
328:Core/Src/main.c **** }
329:Core/Src/main.c **** // HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
330:Core/Src/main.c **** while(rx_cmd_rb_in_idx != rx_cmd_rb_out_idx) dequeue_cmd();
331:Core/Src/main.c **** if(state_changed) display_update_state();
332:Core/Src/main.c **** if(uart_tx_buf_in_idx){
333:Core/Src/main.c **** display_write(uart_tx_buf, uart_tx_buf_in_idx);
334:Core/Src/main.c **** uart_tx_buf_in_idx = 0;
335:Core/Src/main.c **** }
336:Core/Src/main.c ****
337:Core/Src/main.c **** tick = 0;
338:Core/Src/main.c **** }
339:Core/Src/main.c **** }
340:Core/Src/main.c **** /* USER CODE END 3 */
341:Core/Src/main.c **** }
ARM GAS /tmp/ccKbyuxk.s page 20
342:Core/Src/main.c ****
343:Core/Src/main.c **** /**
344:Core/Src/main.c **** * @brief System Clock Configuration
345:Core/Src/main.c **** * @retval None
346:Core/Src/main.c **** */
347:Core/Src/main.c **** void SystemClock_Config(void)
348:Core/Src/main.c **** {
741 .loc 1 348 0
742 .cfi_startproc
743 @ args = 0, pretend = 0, frame = 144
744 @ frame_needed = 0, uses_anonymous_args = 0
745 0000 30B5 push {r4, r5, lr}
746 .LCFI19:
747 .cfi_def_cfa_offset 12
748 .cfi_offset 4, -12
749 .cfi_offset 5, -8
750 .cfi_offset 14, -4
349:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
751 .loc 1 349 0
752 0002 0021 movs r1, #0
348:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
753 .loc 1 348 0
754 0004 A5B0 sub sp, sp, #148
755 .LCFI20:
756 .cfi_def_cfa_offset 160
350:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
757 .loc 1 350 0
758 0006 0C46 mov r4, r1
349:Core/Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
759 .loc 1 349 0
760 0008 3822 movs r2, #56
761 000a 05A8 add r0, sp, #20
762 000c FFF7FEFF bl memset
763 .LVL44:
351:Core/Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
764 .loc 1 351 0
765 0010 2146 mov r1, r4
766 0012 4422 movs r2, #68
767 0014 13A8 add r0, sp, #76
350:Core/Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
768 .loc 1 350 0
769 0016 CDE90044 strd r4, r4, [sp]
770 001a CDE90244 strd r4, r4, [sp, #8]
771 001e 0494 str r4, [sp, #16]
772 .loc 1 351 0
773 0020 FFF7FEFF bl memset
774 .LVL45:
352:Core/Src/main.c ****
353:Core/Src/main.c **** /** Configure the main internal regulator output voltage
354:Core/Src/main.c **** */
355:Core/Src/main.c **** HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1_BOOST);
775 .loc 1 355 0
776 0024 2046 mov r0, r4
777 0026 FFF7FEFF bl HAL_PWREx_ControlVoltageScaling
778 .LVL46:
356:Core/Src/main.c **** /** Initializes the RCC Oscillators according to the specified parameters
357:Core/Src/main.c **** * in the RCC_OscInitTypeDef structure.
ARM GAS /tmp/ccKbyuxk.s page 21
358:Core/Src/main.c **** */
359:Core/Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
360:Core/Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON;
361:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
362:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
779 .loc 1 362 0
780 002a 0324 movs r4, #3
361:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
781 .loc 1 361 0
782 002c 0223 movs r3, #2
359:Core/Src/main.c **** RCC_OscInitStruct.HSEState = RCC_HSE_ON;
783 .loc 1 359 0
784 002e 0125 movs r5, #1
360:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
785 .loc 1 360 0
786 0030 4FF48031 mov r1, #65536
363:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV2;
364:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 28;
787 .loc 1 364 0
788 0034 1C22 movs r2, #28
365:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
366:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
367:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
368:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
789 .loc 1 368 0
790 0036 05A8 add r0, sp, #20
360:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
791 .loc 1 360 0
792 0038 CDE90551 strd r5, r1, [sp, #20]
361:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
793 .loc 1 361 0
794 003c 0C93 str r3, [sp, #48]
363:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLN = 28;
795 .loc 1 363 0
796 003e 0E93 str r3, [sp, #56]
366:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
797 .loc 1 366 0
798 0040 CDE91033 strd r3, r3, [sp, #64]
367:Core/Src/main.c **** if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
799 .loc 1 367 0
800 0044 1293 str r3, [sp, #72]
362:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV2;
801 .loc 1 362 0
802 0046 0D94 str r4, [sp, #52]
364:Core/Src/main.c **** RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
803 .loc 1 364 0
804 0048 0F92 str r2, [sp, #60]
805 .loc 1 368 0
806 004a FFF7FEFF bl HAL_RCC_OscConfig
807 .LVL47:
808 004e 08B1 cbz r0, .L59
809 .LBB98:
810 .LBB99:
811 .LBB100:
812 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h"
1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
ARM GAS /tmp/ccKbyuxk.s page 22
3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.2.0
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 08. May 2019
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2019 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
24:Drivers/CMSIS/Include/cmsis_gcc.h ****
25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
27:Drivers/CMSIS/Include/cmsis_gcc.h ****
28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
33:Drivers/CMSIS/Include/cmsis_gcc.h ****
34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
38:Drivers/CMSIS/Include/cmsis_gcc.h ****
39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
ARM GAS /tmp/ccKbyuxk.s page 23
60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
116:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __COMPILER_BARRIER
ARM GAS /tmp/ccKbyuxk.s page 24
117:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __COMPILER_BARRIER() __ASM volatile("":::"memory")
118:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
119:Drivers/CMSIS/Include/cmsis_gcc.h ****
120:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ######################### Startup and Lowlevel Init ######################## */
121:Drivers/CMSIS/Include/cmsis_gcc.h ****
122:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PROGRAM_START
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Initializes data and bss sections
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details This default implementations initialized all data and additional bss
127:Drivers/CMSIS/Include/cmsis_gcc.h **** sections relying on .copy.table and .zero.table specified properly
128:Drivers/CMSIS/Include/cmsis_gcc.h **** in the used linker script.
129:Drivers/CMSIS/Include/cmsis_gcc.h ****
130:Drivers/CMSIS/Include/cmsis_gcc.h **** */
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void)
132:Drivers/CMSIS/Include/cmsis_gcc.h **** {
133:Drivers/CMSIS/Include/cmsis_gcc.h **** extern void _start(void) __NO_RETURN;
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
135:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct {
136:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t const* src;
137:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest;
138:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen;
139:Drivers/CMSIS/Include/cmsis_gcc.h **** } __copy_table_t;
140:Drivers/CMSIS/Include/cmsis_gcc.h ****
141:Drivers/CMSIS/Include/cmsis_gcc.h **** typedef struct {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t* dest;
143:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t wlen;
144:Drivers/CMSIS/Include/cmsis_gcc.h **** } __zero_table_t;
145:Drivers/CMSIS/Include/cmsis_gcc.h ****
146:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_start__;
147:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __copy_table_t __copy_table_end__;
148:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_start__;
149:Drivers/CMSIS/Include/cmsis_gcc.h **** extern const __zero_table_t __zero_table_end__;
150:Drivers/CMSIS/Include/cmsis_gcc.h ****
151:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable
152:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; i<pTable->wlen; ++i) {
153:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = pTable->src[i];
154:Drivers/CMSIS/Include/cmsis_gcc.h **** }
155:Drivers/CMSIS/Include/cmsis_gcc.h **** }
156:Drivers/CMSIS/Include/cmsis_gcc.h ****
157:Drivers/CMSIS/Include/cmsis_gcc.h **** for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable
158:Drivers/CMSIS/Include/cmsis_gcc.h **** for(uint32_t i=0u; i<pTable->wlen; ++i) {
159:Drivers/CMSIS/Include/cmsis_gcc.h **** pTable->dest[i] = 0u;
160:Drivers/CMSIS/Include/cmsis_gcc.h **** }
161:Drivers/CMSIS/Include/cmsis_gcc.h **** }
162:Drivers/CMSIS/Include/cmsis_gcc.h ****
163:Drivers/CMSIS/Include/cmsis_gcc.h **** _start();
164:Drivers/CMSIS/Include/cmsis_gcc.h **** }
165:Drivers/CMSIS/Include/cmsis_gcc.h ****
166:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PROGRAM_START __cmsis_start
167:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
168:Drivers/CMSIS/Include/cmsis_gcc.h ****
169:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INITIAL_SP
170:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INITIAL_SP __StackTop
171:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
172:Drivers/CMSIS/Include/cmsis_gcc.h ****
173:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STACK_LIMIT
ARM GAS /tmp/ccKbyuxk.s page 25
174:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STACK_LIMIT __StackLimit
175:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
176:Drivers/CMSIS/Include/cmsis_gcc.h ****
177:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE
178:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE __Vectors
179:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
180:Drivers/CMSIS/Include/cmsis_gcc.h ****
181:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __VECTOR_TABLE_ATTRIBUTE
182:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section(".vectors")))
183:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
184:Drivers/CMSIS/Include/cmsis_gcc.h ****
185:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
186:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
187:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
188:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
189:Drivers/CMSIS/Include/cmsis_gcc.h **** */
190:Drivers/CMSIS/Include/cmsis_gcc.h ****
191:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
192:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
193:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
194:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
195:Drivers/CMSIS/Include/cmsis_gcc.h **** */
196:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
197:Drivers/CMSIS/Include/cmsis_gcc.h **** {
198:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
199:Drivers/CMSIS/Include/cmsis_gcc.h **** }
200:Drivers/CMSIS/Include/cmsis_gcc.h ****
201:Drivers/CMSIS/Include/cmsis_gcc.h ****
202:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
203:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
204:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
205:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
206:Drivers/CMSIS/Include/cmsis_gcc.h **** */
207:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
208:Drivers/CMSIS/Include/cmsis_gcc.h **** {
209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
813 .loc 2 209 0
814 .syntax unified
815 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
816 0050 72B6 cpsid i
817 @ 0 "" 2
818 .thumb
819 .syntax unified
820 .L60:
821 0052 FEE7 b .L60
822 .L59:
823 0054 0346 mov r3, r0
824 .LBE100:
825 .LBE99:
826 .LBE98:
369:Core/Src/main.c **** {
370:Core/Src/main.c **** Error_Handler();
371:Core/Src/main.c **** }
372:Core/Src/main.c **** /** Initializes the CPU, AHB and APB buses clocks
373:Core/Src/main.c **** */
374:Core/Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
827 .loc 1 374 0
ARM GAS /tmp/ccKbyuxk.s page 26
828 0056 0F22 movs r2, #15
375:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
376:Core/Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
377:Core/Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
378:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
379:Core/Src/main.c **** RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
380:Core/Src/main.c ****
381:Core/Src/main.c **** if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
829 .loc 1 381 0
830 0058 6846 mov r0, sp
831 005a 0421 movs r1, #4
377:Core/Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
832 .loc 1 377 0
833 005c CDE90143 strd r4, r3, [sp, #4]
379:Core/Src/main.c ****
834 .loc 1 379 0
835 0060 CDE90333 strd r3, r3, [sp, #12]
374:Core/Src/main.c **** |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
836 .loc 1 374 0
837 0064 0092 str r2, [sp]
838 .loc 1 381 0
839 0066 FFF7FEFF bl HAL_RCC_ClockConfig
840 .LVL48:
841 006a 0346 mov r3, r0
842 006c 08B1 cbz r0, .L61
843 .LBB101:
844 .LBB102:
845 .LBB103:
846 .loc 2 209 0
847 .syntax unified
848 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
849 006e 72B6 cpsid i
850 @ 0 "" 2
851 .thumb
852 .syntax unified
853 .L62:
854 0070 FEE7 b .L62
855 .L61:
856 .LBE103:
857 .LBE102:
858 .LBE101:
382:Core/Src/main.c **** {
383:Core/Src/main.c **** Error_Handler();
384:Core/Src/main.c **** }
385:Core/Src/main.c **** /** Initializes the peripherals clocks
386:Core/Src/main.c **** */
387:Core/Src/main.c **** PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_ADC12;
859 .loc 1 387 0
860 0072 48F20101 movw r1, #32769
388:Core/Src/main.c **** PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
389:Core/Src/main.c **** PeriphClkInit.Adc12ClockSelection = RCC_ADC12CLKSOURCE_SYSCLK;
861 .loc 1 389 0
862 0076 4FF00052 mov r2, #536870912
390:Core/Src/main.c **** if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
863 .loc 1 390 0
864 007a 13A8 add r0, sp, #76
387:Core/Src/main.c **** PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
ARM GAS /tmp/ccKbyuxk.s page 27
865 .loc 1 387 0
866 007c CDE91313 strd r1, r3, [sp, #76]
389:Core/Src/main.c **** if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
867 .loc 1 389 0
868 0080 2292 str r2, [sp, #136]
869 .loc 1 390 0
870 0082 FFF7FEFF bl HAL_RCCEx_PeriphCLKConfig
871 .LVL49:
872 0086 08B1 cbz r0, .L58
873 .LBB104:
874 .LBB105:
875 .LBB106:
876 .loc 2 209 0
877 .syntax unified
878 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
879 0088 72B6 cpsid i
880 @ 0 "" 2
881 .thumb
882 .syntax unified
883 .L64:
884 008a FEE7 b .L64
885 .L58:
886 .LBE106:
887 .LBE105:
888 .LBE104:
391:Core/Src/main.c **** {
392:Core/Src/main.c **** Error_Handler();
393:Core/Src/main.c **** }
394:Core/Src/main.c **** }
889 .loc 1 394 0
890 008c 25B0 add sp, sp, #148
891 .LCFI21:
892 .cfi_def_cfa_offset 12
893 @ sp needed
894 008e 30BD pop {r4, r5, pc}
895 .cfi_endproc
896 .LFE391:
898 .section .text.startup.main,"ax",%progbits
899 .align 1
900 .p2align 2,,3
901 .global main
902 .syntax unified
903 .thumb
904 .thumb_func
905 .fpu fpv4-sp-d16
907 main:
908 .LFB390:
241:Core/Src/main.c **** /* USER CODE BEGIN 1 */
909 .loc 1 241 0
910 .cfi_startproc
911 @ Volatile: function does not return.
912 @ args = 0, pretend = 0, frame = 80
913 @ frame_needed = 0, uses_anonymous_args = 0
914 0000 2DE98048 push {r7, fp, lr}
915 .LCFI22:
916 .cfi_def_cfa_offset 12
917 .cfi_offset 7, -12
ARM GAS /tmp/ccKbyuxk.s page 28
918 .cfi_offset 11, -8
919 .cfi_offset 14, -4
243:Core/Src/main.c **** display_init();
920 .loc 1 243 0
921 0004 DFF8F4A2 ldr r10, .L154+52
922 .LBB193:
923 .LBB194:
924 .LBB195:
395:Core/Src/main.c ****
396:Core/Src/main.c **** /**
397:Core/Src/main.c **** * @brief ADC1 Initialization Function
398:Core/Src/main.c **** * @param None
399:Core/Src/main.c **** * @retval None
400:Core/Src/main.c **** */
401:Core/Src/main.c **** static void MX_ADC1_Init(void)
402:Core/Src/main.c **** {
403:Core/Src/main.c ****
404:Core/Src/main.c **** /* USER CODE BEGIN ADC1_Init 0 */
405:Core/Src/main.c ****
406:Core/Src/main.c **** /* USER CODE END ADC1_Init 0 */
407:Core/Src/main.c ****
408:Core/Src/main.c **** ADC_MultiModeTypeDef multimode = {0};
409:Core/Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0};
410:Core/Src/main.c ****
411:Core/Src/main.c **** /* USER CODE BEGIN ADC1_Init 1 */
412:Core/Src/main.c ****
413:Core/Src/main.c **** /* USER CODE END ADC1_Init 1 */
414:Core/Src/main.c **** /** Common config
415:Core/Src/main.c **** */
416:Core/Src/main.c **** hadc1.Instance = ADC1;
417:Core/Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
418:Core/Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B;
419:Core/Src/main.c **** hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
420:Core/Src/main.c **** hadc1.Init.GainCompensation = 0;
421:Core/Src/main.c **** hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
422:Core/Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
423:Core/Src/main.c **** hadc1.Init.LowPowerAutoWait = DISABLE;
424:Core/Src/main.c **** hadc1.Init.ContinuousConvMode = ENABLE;
425:Core/Src/main.c **** hadc1.Init.NbrOfConversion = 1;
426:Core/Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE;
427:Core/Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
428:Core/Src/main.c **** hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
429:Core/Src/main.c **** hadc1.Init.DMAContinuousRequests = ENABLE;
430:Core/Src/main.c **** hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
431:Core/Src/main.c **** hadc1.Init.OversamplingMode = ENABLE;
432:Core/Src/main.c **** hadc1.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_2;
433:Core/Src/main.c **** hadc1.Init.Oversampling.RightBitShift = ADC_RIGHTBITSHIFT_NONE;
434:Core/Src/main.c **** hadc1.Init.Oversampling.TriggeredMode = ADC_TRIGGEREDMODE_SINGLE_TRIGGER;
435:Core/Src/main.c **** hadc1.Init.Oversampling.OversamplingStopReset = ADC_REGOVERSAMPLING_CONTINUED_MODE;
436:Core/Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK)
437:Core/Src/main.c **** {
438:Core/Src/main.c **** Error_Handler();
439:Core/Src/main.c **** }
440:Core/Src/main.c **** /** Configure the ADC multi-mode
441:Core/Src/main.c **** */
442:Core/Src/main.c **** multimode.Mode = ADC_MODE_INDEPENDENT;
443:Core/Src/main.c **** if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK)
ARM GAS /tmp/ccKbyuxk.s page 29
444:Core/Src/main.c **** {
445:Core/Src/main.c **** Error_Handler();
446:Core/Src/main.c **** }
447:Core/Src/main.c **** /** Configure Regular Channel
448:Core/Src/main.c **** */
449:Core/Src/main.c **** sConfig.Channel = ADC_CHANNEL_VOPAMP1;
450:Core/Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1;
451:Core/Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_47CYCLES_5;
452:Core/Src/main.c **** sConfig.SingleDiff = ADC_SINGLE_ENDED;
453:Core/Src/main.c **** sConfig.OffsetNumber = ADC_OFFSET_NONE;
454:Core/Src/main.c **** sConfig.Offset = 0;
455:Core/Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
456:Core/Src/main.c **** {
457:Core/Src/main.c **** Error_Handler();
458:Core/Src/main.c **** }
459:Core/Src/main.c **** /* USER CODE BEGIN ADC1_Init 2 */
460:Core/Src/main.c ****
461:Core/Src/main.c **** /* USER CODE END ADC1_Init 2 */
462:Core/Src/main.c ****
463:Core/Src/main.c **** }
464:Core/Src/main.c ****
465:Core/Src/main.c **** /**
466:Core/Src/main.c **** * @brief CORDIC Initialization Function
467:Core/Src/main.c **** * @param None
468:Core/Src/main.c **** * @retval None
469:Core/Src/main.c **** */
470:Core/Src/main.c **** static void MX_CORDIC_Init(void)
471:Core/Src/main.c **** {
472:Core/Src/main.c ****
473:Core/Src/main.c **** /* USER CODE BEGIN CORDIC_Init 0 */
474:Core/Src/main.c **** // CORDIC_HandleTypeDef hcordic = {0};
475:Core/Src/main.c **** CORDIC_ConfigTypeDef sConfig = {0};
476:Core/Src/main.c **** sConfig.Function = CORDIC_FUNCTION_SINE;
477:Core/Src/main.c **** sConfig.Precision = CORDIC_PRECISION_4CYCLES;
478:Core/Src/main.c **** sConfig.Scale = CORDIC_SCALE_0;
479:Core/Src/main.c **** sConfig.NbWrite = CORDIC_NBWRITE_1;
480:Core/Src/main.c **** sConfig.NbRead = CORDIC_NBREAD_1;
481:Core/Src/main.c **** sConfig.InSize = CORDIC_INSIZE_32BITS;
482:Core/Src/main.c **** sConfig.OutSize = CORDIC_OUTSIZE_16BITS;
483:Core/Src/main.c **** /* USER CODE END CORDIC_Init 0 */
484:Core/Src/main.c ****
485:Core/Src/main.c **** /* USER CODE BEGIN CORDIC_Init 1 */
486:Core/Src/main.c **** /* USER CODE END CORDIC_Init 1 */
487:Core/Src/main.c **** hcordic.Instance = CORDIC;
488:Core/Src/main.c **** if (HAL_CORDIC_Init(&hcordic) != HAL_OK)
489:Core/Src/main.c **** {
490:Core/Src/main.c **** Error_Handler();
491:Core/Src/main.c **** }
492:Core/Src/main.c **** /* USER CODE BEGIN CORDIC_Init 2 */
493:Core/Src/main.c **** HAL_CORDIC_Configure(&hcordic, &sConfig);
494:Core/Src/main.c **** /* USER CODE END CORDIC_Init 2 */
495:Core/Src/main.c ****
496:Core/Src/main.c **** }
497:Core/Src/main.c ****
498:Core/Src/main.c **** /**
499:Core/Src/main.c **** * @brief DAC1 Initialization Function
500:Core/Src/main.c **** * @param None
ARM GAS /tmp/ccKbyuxk.s page 30
501:Core/Src/main.c **** * @retval None
502:Core/Src/main.c **** */
503:Core/Src/main.c **** static void MX_DAC1_Init(void)
504:Core/Src/main.c **** {
505:Core/Src/main.c ****
506:Core/Src/main.c **** /* USER CODE BEGIN DAC1_Init 0 */
507:Core/Src/main.c ****
508:Core/Src/main.c **** /* USER CODE END DAC1_Init 0 */
509:Core/Src/main.c ****
510:Core/Src/main.c **** DAC_ChannelConfTypeDef sConfig = {0};
511:Core/Src/main.c ****
512:Core/Src/main.c **** /* USER CODE BEGIN DAC1_Init 1 */
513:Core/Src/main.c ****
514:Core/Src/main.c **** /* USER CODE END DAC1_Init 1 */
515:Core/Src/main.c **** /** DAC Initialization
516:Core/Src/main.c **** */
517:Core/Src/main.c **** hdac1.Instance = DAC1;
518:Core/Src/main.c **** if (HAL_DAC_Init(&hdac1) != HAL_OK)
519:Core/Src/main.c **** {
520:Core/Src/main.c **** Error_Handler();
521:Core/Src/main.c **** }
522:Core/Src/main.c **** /** DAC channel OUT1 config
523:Core/Src/main.c **** */
524:Core/Src/main.c **** sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC;
525:Core/Src/main.c **** sConfig.DAC_DMADoubleDataMode = DISABLE;
526:Core/Src/main.c **** sConfig.DAC_SignedFormat = ENABLE;
527:Core/Src/main.c **** sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
528:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_T6_TRGO;
529:Core/Src/main.c **** sConfig.DAC_Trigger2 = DAC_TRIGGER_NONE;
530:Core/Src/main.c **** sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
531:Core/Src/main.c **** sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_EXTERNAL;
532:Core/Src/main.c **** sConfig.DAC_UserTrimming = DAC_TRIMMING_FACTORY;
533:Core/Src/main.c **** if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_1) != HAL_OK)
534:Core/Src/main.c **** {
535:Core/Src/main.c **** Error_Handler();
536:Core/Src/main.c **** }
537:Core/Src/main.c **** /** DAC channel OUT2 config
538:Core/Src/main.c **** */
539:Core/Src/main.c **** sConfig.DAC_SignedFormat = DISABLE;
540:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
541:Core/Src/main.c **** if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_2) != HAL_OK)
542:Core/Src/main.c **** {
543:Core/Src/main.c **** Error_Handler();
544:Core/Src/main.c **** }
545:Core/Src/main.c **** /* USER CODE BEGIN DAC1_Init 2 */
546:Core/Src/main.c ****
547:Core/Src/main.c **** /* USER CODE END DAC1_Init 2 */
548:Core/Src/main.c ****
549:Core/Src/main.c **** }
550:Core/Src/main.c ****
551:Core/Src/main.c **** /**
552:Core/Src/main.c **** * @brief OPAMP1 Initialization Function
553:Core/Src/main.c **** * @param None
554:Core/Src/main.c **** * @retval None
555:Core/Src/main.c **** */
556:Core/Src/main.c **** static void MX_OPAMP1_Init(void)
557:Core/Src/main.c **** {
ARM GAS /tmp/ccKbyuxk.s page 31
558:Core/Src/main.c ****
559:Core/Src/main.c **** /* USER CODE BEGIN OPAMP1_Init 0 */
560:Core/Src/main.c ****
561:Core/Src/main.c **** /* USER CODE END OPAMP1_Init 0 */
562:Core/Src/main.c ****
563:Core/Src/main.c **** /* USER CODE BEGIN OPAMP1_Init 1 */
564:Core/Src/main.c ****
565:Core/Src/main.c **** /* USER CODE END OPAMP1_Init 1 */
566:Core/Src/main.c **** hopamp1.Instance = OPAMP1;
567:Core/Src/main.c **** hopamp1.Init.PowerMode = OPAMP_POWERMODE_HIGHSPEED;
568:Core/Src/main.c **** hopamp1.Init.Mode = OPAMP_PGA_MODE;
569:Core/Src/main.c **** hopamp1.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO0;
570:Core/Src/main.c **** hopamp1.Init.InternalOutput = ENABLE;
571:Core/Src/main.c **** hopamp1.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
572:Core/Src/main.c **** hopamp1.Init.PgaConnect = OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0_BIAS;
573:Core/Src/main.c **** hopamp1.Init.PgaGain = OPAMP_PGA_GAIN_8_OR_MINUS_7;
574:Core/Src/main.c **** hopamp1.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
575:Core/Src/main.c **** if (HAL_OPAMP_Init(&hopamp1) != HAL_OK)
576:Core/Src/main.c **** {
577:Core/Src/main.c **** Error_Handler();
578:Core/Src/main.c **** }
579:Core/Src/main.c **** /* USER CODE BEGIN OPAMP1_Init 2 */
580:Core/Src/main.c ****
581:Core/Src/main.c **** /* USER CODE END OPAMP1_Init 2 */
582:Core/Src/main.c ****
583:Core/Src/main.c **** }
584:Core/Src/main.c ****
585:Core/Src/main.c **** /**
586:Core/Src/main.c **** * @brief TIM6 Initialization Function
587:Core/Src/main.c **** * @param None
588:Core/Src/main.c **** * @retval None
589:Core/Src/main.c **** */
590:Core/Src/main.c **** static void MX_TIM6_Init(void)
591:Core/Src/main.c **** {
592:Core/Src/main.c ****
593:Core/Src/main.c **** /* USER CODE BEGIN TIM6_Init 0 */
594:Core/Src/main.c ****
595:Core/Src/main.c **** /* USER CODE END TIM6_Init 0 */
596:Core/Src/main.c ****
597:Core/Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0};
598:Core/Src/main.c ****
599:Core/Src/main.c **** /* USER CODE BEGIN TIM6_Init 1 */
600:Core/Src/main.c ****
601:Core/Src/main.c **** /* USER CODE END TIM6_Init 1 */
602:Core/Src/main.c **** htim6.Instance = TIM6;
603:Core/Src/main.c **** htim6.Init.Prescaler = 0;
604:Core/Src/main.c **** htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
605:Core/Src/main.c **** htim6.Init.Period = 7679;
606:Core/Src/main.c **** htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
607:Core/Src/main.c **** if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
608:Core/Src/main.c **** {
609:Core/Src/main.c **** Error_Handler();
610:Core/Src/main.c **** }
611:Core/Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
612:Core/Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
613:Core/Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
614:Core/Src/main.c **** {
ARM GAS /tmp/ccKbyuxk.s page 32
615:Core/Src/main.c **** Error_Handler();
616:Core/Src/main.c **** }
617:Core/Src/main.c **** /* USER CODE BEGIN TIM6_Init 2 */
618:Core/Src/main.c ****
619:Core/Src/main.c **** /* USER CODE END TIM6_Init 2 */
620:Core/Src/main.c ****
621:Core/Src/main.c **** }
622:Core/Src/main.c ****
623:Core/Src/main.c **** /**
624:Core/Src/main.c **** * @brief TIM7 Initialization Function
625:Core/Src/main.c **** * @param None
626:Core/Src/main.c **** * @retval None
627:Core/Src/main.c **** */
628:Core/Src/main.c **** static void MX_TIM7_Init(void)
629:Core/Src/main.c **** {
630:Core/Src/main.c ****
631:Core/Src/main.c **** /* USER CODE BEGIN TIM7_Init 0 */
632:Core/Src/main.c ****
633:Core/Src/main.c **** /* USER CODE END TIM7_Init 0 */
634:Core/Src/main.c ****
635:Core/Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0};
636:Core/Src/main.c ****
637:Core/Src/main.c **** /* USER CODE BEGIN TIM7_Init 1 */
638:Core/Src/main.c ****
639:Core/Src/main.c **** /* USER CODE END TIM7_Init 1 */
640:Core/Src/main.c **** htim7.Instance = TIM7;
641:Core/Src/main.c **** htim7.Init.Prescaler = 1679;
642:Core/Src/main.c **** htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
643:Core/Src/main.c **** htim7.Init.Period = 999;
644:Core/Src/main.c **** htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
645:Core/Src/main.c **** if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
646:Core/Src/main.c **** {
647:Core/Src/main.c **** Error_Handler();
648:Core/Src/main.c **** }
649:Core/Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
650:Core/Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
651:Core/Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
652:Core/Src/main.c **** {
653:Core/Src/main.c **** Error_Handler();
654:Core/Src/main.c **** }
655:Core/Src/main.c **** /* USER CODE BEGIN TIM7_Init 2 */
656:Core/Src/main.c ****
657:Core/Src/main.c **** /* USER CODE END TIM7_Init 2 */
658:Core/Src/main.c ****
659:Core/Src/main.c **** }
660:Core/Src/main.c ****
661:Core/Src/main.c **** /**
662:Core/Src/main.c **** * @brief TIM8 Initialization Function
663:Core/Src/main.c **** * @param None
664:Core/Src/main.c **** * @retval None
665:Core/Src/main.c **** */
666:Core/Src/main.c **** static void MX_TIM8_Init(void)
667:Core/Src/main.c **** {
668:Core/Src/main.c ****
669:Core/Src/main.c **** /* USER CODE BEGIN TIM8_Init 0 */
670:Core/Src/main.c ****
671:Core/Src/main.c **** /* USER CODE END TIM8_Init 0 */
ARM GAS /tmp/ccKbyuxk.s page 33
672:Core/Src/main.c ****
673:Core/Src/main.c **** TIM_ClockConfigTypeDef sClockSourceConfig = {0};
674:Core/Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0};
675:Core/Src/main.c ****
676:Core/Src/main.c **** /* USER CODE BEGIN TIM8_Init 1 */
677:Core/Src/main.c ****
678:Core/Src/main.c **** /* USER CODE END TIM8_Init 1 */
679:Core/Src/main.c **** htim8.Instance = TIM8;
680:Core/Src/main.c **** htim8.Init.Prescaler = 0;
681:Core/Src/main.c **** htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
682:Core/Src/main.c **** htim8.Init.Period = 239;
683:Core/Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
684:Core/Src/main.c **** htim8.Init.RepetitionCounter = 0;
685:Core/Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
686:Core/Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK)
687:Core/Src/main.c **** {
688:Core/Src/main.c **** Error_Handler();
689:Core/Src/main.c **** }
690:Core/Src/main.c **** sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
691:Core/Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK)
692:Core/Src/main.c **** {
693:Core/Src/main.c **** Error_Handler();
694:Core/Src/main.c **** }
695:Core/Src/main.c **** sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE;
696:Core/Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
697:Core/Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
698:Core/Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
699:Core/Src/main.c **** {
700:Core/Src/main.c **** Error_Handler();
701:Core/Src/main.c **** }
702:Core/Src/main.c **** /* USER CODE BEGIN TIM8_Init 2 */
703:Core/Src/main.c ****
704:Core/Src/main.c **** /* USER CODE END TIM8_Init 2 */
705:Core/Src/main.c ****
706:Core/Src/main.c **** }
707:Core/Src/main.c ****
708:Core/Src/main.c **** /**
709:Core/Src/main.c **** * @brief USART1 Initialization Function
710:Core/Src/main.c **** * @param None
711:Core/Src/main.c **** * @retval None
712:Core/Src/main.c **** */
713:Core/Src/main.c **** static void MX_USART1_UART_Init(void)
714:Core/Src/main.c **** {
715:Core/Src/main.c ****
716:Core/Src/main.c **** /* USER CODE BEGIN USART1_Init 0 */
717:Core/Src/main.c ****
718:Core/Src/main.c **** /* USER CODE END USART1_Init 0 */
719:Core/Src/main.c ****
720:Core/Src/main.c **** /* USER CODE BEGIN USART1_Init 1 */
721:Core/Src/main.c ****
722:Core/Src/main.c **** /* USER CODE END USART1_Init 1 */
723:Core/Src/main.c **** huart1.Instance = USART1;
724:Core/Src/main.c **** huart1.Init.BaudRate = 115200;
725:Core/Src/main.c **** huart1.Init.WordLength = UART_WORDLENGTH_8B;
726:Core/Src/main.c **** huart1.Init.StopBits = UART_STOPBITS_1;
727:Core/Src/main.c **** huart1.Init.Parity = UART_PARITY_NONE;
728:Core/Src/main.c **** huart1.Init.Mode = UART_MODE_TX_RX;
ARM GAS /tmp/ccKbyuxk.s page 34
729:Core/Src/main.c **** huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
730:Core/Src/main.c **** huart1.Init.OverSampling = UART_OVERSAMPLING_16;
731:Core/Src/main.c **** huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
732:Core/Src/main.c **** huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
733:Core/Src/main.c **** huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
734:Core/Src/main.c **** if (HAL_UART_Init(&huart1) != HAL_OK)
735:Core/Src/main.c **** {
736:Core/Src/main.c **** Error_Handler();
737:Core/Src/main.c **** }
738:Core/Src/main.c **** if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
739:Core/Src/main.c **** {
740:Core/Src/main.c **** Error_Handler();
741:Core/Src/main.c **** }
742:Core/Src/main.c **** if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
743:Core/Src/main.c **** {
744:Core/Src/main.c **** Error_Handler();
745:Core/Src/main.c **** }
746:Core/Src/main.c **** if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK)
747:Core/Src/main.c **** {
748:Core/Src/main.c **** Error_Handler();
749:Core/Src/main.c **** }
750:Core/Src/main.c **** /* USER CODE BEGIN USART1_Init 2 */
751:Core/Src/main.c ****
752:Core/Src/main.c **** /* USER CODE END USART1_Init 2 */
753:Core/Src/main.c ****
754:Core/Src/main.c **** }
755:Core/Src/main.c ****
756:Core/Src/main.c **** /**
757:Core/Src/main.c **** * Enable DMA controller clock
758:Core/Src/main.c **** */
759:Core/Src/main.c **** static void MX_DMA_Init(void)
760:Core/Src/main.c **** {
761:Core/Src/main.c ****
762:Core/Src/main.c **** /* DMA controller clock enable */
763:Core/Src/main.c **** __HAL_RCC_DMAMUX1_CLK_ENABLE();
764:Core/Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
765:Core/Src/main.c ****
766:Core/Src/main.c **** /* DMA interrupt init */
767:Core/Src/main.c **** /* DMA1_Channel1_IRQn interrupt configuration */
768:Core/Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
769:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
770:Core/Src/main.c **** /* DMA1_Channel2_IRQn interrupt configuration */
771:Core/Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel2_IRQn, 0, 0);
772:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel2_IRQn);
773:Core/Src/main.c **** /* DMA1_Channel4_IRQn interrupt configuration */
774:Core/Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
775:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
776:Core/Src/main.c **** /* DMA1_Channel5_IRQn interrupt configuration */
777:Core/Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
778:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
779:Core/Src/main.c ****
780:Core/Src/main.c **** }
781:Core/Src/main.c ****
782:Core/Src/main.c **** /**
783:Core/Src/main.c **** * @brief GPIO Initialization Function
784:Core/Src/main.c **** * @param None
785:Core/Src/main.c **** * @retval None
ARM GAS /tmp/ccKbyuxk.s page 35
786:Core/Src/main.c **** */
787:Core/Src/main.c **** static void MX_GPIO_Init(void)
788:Core/Src/main.c **** {
789:Core/Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
790:Core/Src/main.c ****
791:Core/Src/main.c **** /* GPIO Ports Clock Enable */
792:Core/Src/main.c **** __HAL_RCC_GPIOF_CLK_ENABLE();
925 .loc 1 792 0
926 0008 AF4D ldr r5, .L154
927 .LBE195:
928 .LBE194:
929 .LBE193:
930 .LBB202:
931 .LBB203:
517:Core/Src/main.c **** if (HAL_DAC_Init(&hdac1) != HAL_OK)
932 .loc 1 517 0
933 000a DFF8F482 ldr r8, .L154+56
934 .LBE203:
935 .LBE202:
241:Core/Src/main.c **** /* USER CODE BEGIN 1 */
936 .loc 1 241 0
937 000e 97B0 sub sp, sp, #92
938 .LCFI23:
939 .cfi_def_cfa_offset 104
243:Core/Src/main.c **** display_init();
940 .loc 1 243 0
941 0010 0024 movs r4, #0
942 0012 AAF80040 strh r4, [r10] @ movhi
244:Core/Src/main.c **** state_set_default();
943 .loc 1 244 0
944 0016 FFF7FEFF bl display_init
945 .LVL50:
245:Core/Src/main.c **** interface_set_default();
946 .loc 1 245 0
947 001a FFF7FEFF bl state_set_default
948 .LVL51:
246:Core/Src/main.c **** display_update_mode();
949 .loc 1 246 0
950 001e FFF7FEFF bl interface_set_default
951 .LVL52:
247:Core/Src/main.c **** display_update_state();
952 .loc 1 247 0
953 0022 FFF7FEFF bl display_update_mode
954 .LVL53:
248:Core/Src/main.c **** /* USER CODE END 1 */
955 .loc 1 248 0
956 0026 FFF7FEFF bl display_update_state
957 .LVL54:
254:Core/Src/main.c ****
958 .loc 1 254 0
959 002a FFF7FEFF bl HAL_Init
960 .LVL55:
261:Core/Src/main.c ****
961 .loc 1 261 0
962 002e FFF7FEFF bl SystemClock_Config
963 .LVL56:
964 .LBB214:
ARM GAS /tmp/ccKbyuxk.s page 36
965 .LBB201:
789:Core/Src/main.c ****
966 .loc 1 789 0
967 0032 CDE90A44 strd r4, r4, [sp, #40]
968 0036 CDE90C44 strd r4, r4, [sp, #48]
969 003a 0E94 str r4, [sp, #56]
970 .LBB196:
971 .loc 1 792 0
972 003c EB6C ldr r3, [r5, #76]
973 .LBE196:
793:Core/Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
794:Core/Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE();
795:Core/Src/main.c ****
796:Core/Src/main.c **** /*Configure GPIO pin Output Level */
797:Core/Src/main.c **** HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, GPIO_PIN_RESET);
974 .loc 1 797 0
975 003e A348 ldr r0, .L154+4
976 .LBB197:
792:Core/Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
977 .loc 1 792 0
978 0040 43F02003 orr r3, r3, #32
979 0044 EB64 str r3, [r5, #76]
980 0046 EB6C ldr r3, [r5, #76]
981 0048 03F02003 and r3, r3, #32
982 004c 0493 str r3, [sp, #16]
983 004e 049B ldr r3, [sp, #16]
984 .LBE197:
985 .LBB198:
793:Core/Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
986 .loc 1 793 0
987 0050 EB6C ldr r3, [r5, #76]
988 0052 43F00103 orr r3, r3, #1
989 0056 EB64 str r3, [r5, #76]
990 0058 EB6C ldr r3, [r5, #76]
991 005a 03F00103 and r3, r3, #1
992 005e 0593 str r3, [sp, #20]
993 0060 059B ldr r3, [sp, #20]
994 .LBE198:
995 .LBB199:
794:Core/Src/main.c ****
996 .loc 1 794 0
997 0062 EB6C ldr r3, [r5, #76]
998 0064 43F00203 orr r3, r3, #2
999 0068 EB64 str r3, [r5, #76]
1000 006a EB6C ldr r3, [r5, #76]
1001 006c 03F00203 and r3, r3, #2
1002 .LBE199:
1003 .loc 1 797 0
1004 0070 2246 mov r2, r4
1005 0072 2021 movs r1, #32
1006 .LBB200:
794:Core/Src/main.c ****
1007 .loc 1 794 0
1008 0074 0693 str r3, [sp, #24]
1009 0076 069B ldr r3, [sp, #24]
1010 .LBE200:
798:Core/Src/main.c ****
ARM GAS /tmp/ccKbyuxk.s page 37
799:Core/Src/main.c **** /*Configure GPIO pin : OUT_Pin */
800:Core/Src/main.c **** GPIO_InitStruct.Pin = OUT_Pin;
1011 .loc 1 800 0
1012 0078 0E46 mov r6, r1
801:Core/Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
1013 .loc 1 801 0
1014 007a 0127 movs r7, #1
797:Core/Src/main.c ****
1015 .loc 1 797 0
1016 007c FFF7FEFF bl HAL_GPIO_WritePin
1017 .LVL57:
802:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
803:Core/Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
804:Core/Src/main.c **** HAL_GPIO_Init(OUT_GPIO_Port, &GPIO_InitStruct);
1018 .loc 1 804 0
1019 0080 0AA9 add r1, sp, #40
1020 0082 9248 ldr r0, .L154+4
803:Core/Src/main.c **** HAL_GPIO_Init(OUT_GPIO_Port, &GPIO_InitStruct);
1021 .loc 1 803 0
1022 0084 CDE90C44 strd r4, r4, [sp, #48]
801:Core/Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
1023 .loc 1 801 0
1024 0088 CDE90A67 strd r6, r7, [sp, #40]
1025 .loc 1 804 0
1026 008c FFF7FEFF bl HAL_GPIO_Init
1027 .LVL58:
1028 .LBE201:
1029 .LBE214:
1030 .LBB215:
1031 .LBB216:
1032 .LBB217:
763:Core/Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
1033 .loc 1 763 0
1034 0090 AB6C ldr r3, [r5, #72]
1035 0092 43F00403 orr r3, r3, #4
1036 0096 AB64 str r3, [r5, #72]
1037 0098 AB6C ldr r3, [r5, #72]
1038 009a 03F00403 and r3, r3, #4
1039 009e 0293 str r3, [sp, #8]
1040 00a0 029B ldr r3, [sp, #8]
1041 .LBE217:
1042 .LBB218:
764:Core/Src/main.c ****
1043 .loc 1 764 0
1044 00a2 AB6C ldr r3, [r5, #72]
1045 00a4 3B43 orrs r3, r3, r7
1046 00a6 AB64 str r3, [r5, #72]
1047 00a8 AB6C ldr r3, [r5, #72]
1048 00aa 3B40 ands r3, r3, r7
1049 .LBE218:
768:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
1050 .loc 1 768 0
1051 00ac 2246 mov r2, r4
1052 00ae 2146 mov r1, r4
1053 .LBB219:
764:Core/Src/main.c ****
1054 .loc 1 764 0
ARM GAS /tmp/ccKbyuxk.s page 38
1055 00b0 0393 str r3, [sp, #12]
1056 .LBE219:
768:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
1057 .loc 1 768 0
1058 00b2 0B20 movs r0, #11
1059 .LBB220:
764:Core/Src/main.c ****
1060 .loc 1 764 0
1061 00b4 039B ldr r3, [sp, #12]
1062 .LBE220:
768:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
1063 .loc 1 768 0
1064 00b6 FFF7FEFF bl HAL_NVIC_SetPriority
1065 .LVL59:
769:Core/Src/main.c **** /* DMA1_Channel2_IRQn interrupt configuration */
1066 .loc 1 769 0
1067 00ba 0B20 movs r0, #11
1068 00bc FFF7FEFF bl HAL_NVIC_EnableIRQ
1069 .LVL60:
771:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel2_IRQn);
1070 .loc 1 771 0
1071 00c0 2246 mov r2, r4
1072 00c2 2146 mov r1, r4
1073 00c4 0C20 movs r0, #12
1074 00c6 FFF7FEFF bl HAL_NVIC_SetPriority
1075 .LVL61:
772:Core/Src/main.c **** /* DMA1_Channel4_IRQn interrupt configuration */
1076 .loc 1 772 0
1077 00ca 0C20 movs r0, #12
1078 00cc FFF7FEFF bl HAL_NVIC_EnableIRQ
1079 .LVL62:
774:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
1080 .loc 1 774 0
1081 00d0 2246 mov r2, r4
1082 00d2 2146 mov r1, r4
1083 00d4 0E20 movs r0, #14
1084 00d6 FFF7FEFF bl HAL_NVIC_SetPriority
1085 .LVL63:
775:Core/Src/main.c **** /* DMA1_Channel5_IRQn interrupt configuration */
1086 .loc 1 775 0
1087 00da 0E20 movs r0, #14
1088 00dc FFF7FEFF bl HAL_NVIC_EnableIRQ
1089 .LVL64:
777:Core/Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
1090 .loc 1 777 0
1091 00e0 2246 mov r2, r4
1092 00e2 2146 mov r1, r4
1093 00e4 0F20 movs r0, #15
1094 00e6 FFF7FEFF bl HAL_NVIC_SetPriority
1095 .LVL65:
778:Core/Src/main.c ****
1096 .loc 1 778 0
1097 00ea 0F20 movs r0, #15
1098 00ec FFF7FEFF bl HAL_NVIC_EnableIRQ
1099 .LVL66:
1100 .LBE216:
1101 .LBE215:
ARM GAS /tmp/ccKbyuxk.s page 39
1102 .LBB221:
1103 .LBB213:
510:Core/Src/main.c ****
1104 .loc 1 510 0
1105 00f0 2146 mov r1, r4
1106 00f2 0AA8 add r0, sp, #40
1107 00f4 3022 movs r2, #48
1108 00f6 FFF7FEFF bl memset
1109 .LVL67:
517:Core/Src/main.c **** if (HAL_DAC_Init(&hdac1) != HAL_OK)
1110 .loc 1 517 0
1111 00fa 754B ldr r3, .L154+8
1112 00fc C8F80030 str r3, [r8]
518:Core/Src/main.c **** {
1113 .loc 1 518 0
1114 0100 4046 mov r0, r8
1115 0102 FFF7FEFF bl HAL_DAC_Init
1116 .LVL68:
1117 0106 08B1 cbz r0, .L67
1118 .LBB204:
1119 .LBB205:
1120 .LBB206:
1121 .loc 2 209 0
1122 .syntax unified
1123 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1124 0108 72B6 cpsid i
1125 @ 0 "" 2
1126 .thumb
1127 .syntax unified
1128 .L68:
1129 010a FEE7 b .L68
1130 .L67:
1131 .LBE206:
1132 .LBE205:
1133 .LBE204:
527:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_T6_TRGO;
1134 .loc 1 527 0
1135 010c 0024 movs r4, #0
1136 010e 1E25 movs r5, #30
1137 0110 CDE90C45 strd r4, [sp, #48]
1138 0114 0024 movs r4, #0
1139 0116 0025 movs r5, #0
524:Core/Src/main.c **** sConfig.DAC_DMADoubleDataMode = DISABLE;
1140 .loc 1 524 0
1141 0118 0223 movs r3, #2
527:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_T6_TRGO;
1142 .loc 1 527 0
1143 011a CDE90E45 strd r4, [sp, #56]
533:Core/Src/main.c **** {
1144 .loc 1 533 0
1145 011e 0246 mov r2, r0
525:Core/Src/main.c **** sConfig.DAC_SignedFormat = ENABLE;
1146 .loc 1 525 0
1147 0120 8DF82C00 strb r0, [sp, #44]
533:Core/Src/main.c **** {
1148 .loc 1 533 0
1149 0124 0AA9 add r1, sp, #40
ARM GAS /tmp/ccKbyuxk.s page 40
527:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_T6_TRGO;
1150 .loc 1 527 0
1151 0126 0124 movs r4, #1
1152 0128 0025 movs r5, #0
533:Core/Src/main.c **** {
1153 .loc 1 533 0
1154 012a 4046 mov r0, r8
524:Core/Src/main.c **** sConfig.DAC_DMADoubleDataMode = DISABLE;
1155 .loc 1 524 0
1156 012c 0A93 str r3, [sp, #40]
526:Core/Src/main.c **** sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
1157 .loc 1 526 0
1158 012e 8DF82D70 strb r7, [sp, #45]
527:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_T6_TRGO;
1159 .loc 1 527 0
1160 0132 CDE91045 strd r4, [sp, #64]
533:Core/Src/main.c **** {
1161 .loc 1 533 0
1162 0136 FFF7FEFF bl HAL_DAC_ConfigChannel
1163 .LVL69:
1164 013a 0346 mov r3, r0
1165 013c 08B1 cbz r0, .L69
1166 .LBB207:
1167 .LBB208:
1168 .LBB209:
1169 .loc 2 209 0
1170 .syntax unified
1171 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1172 013e 72B6 cpsid i
1173 @ 0 "" 2
1174 .thumb
1175 .syntax unified
1176 .L70:
1177 0140 FEE7 b .L70
1178 .L69:
1179 .LBE209:
1180 .LBE208:
1181 .LBE207:
541:Core/Src/main.c **** {
1182 .loc 1 541 0
1183 0142 4046 mov r0, r8
1184 0144 1022 movs r2, #16
1185 0146 0AA9 add r1, sp, #40
539:Core/Src/main.c **** sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
1186 .loc 1 539 0
1187 0148 8DF82D30 strb r3, [sp, #45]
540:Core/Src/main.c **** if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_2) != HAL_OK)
1188 .loc 1 540 0
1189 014c 0D93 str r3, [sp, #52]
541:Core/Src/main.c **** {
1190 .loc 1 541 0
1191 014e FFF7FEFF bl HAL_DAC_ConfigChannel
1192 .LVL70:
1193 0152 0546 mov r5, r0
1194 0154 08B1 cbz r0, .L71
1195 .LBB210:
1196 .LBB211:
ARM GAS /tmp/ccKbyuxk.s page 41
1197 .LBB212:
1198 .loc 2 209 0
1199 .syntax unified
1200 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1201 0156 72B6 cpsid i
1202 @ 0 "" 2
1203 .thumb
1204 .syntax unified
1205 .L72:
1206 0158 FEE7 b .L72
1207 .L71:
1208 .LBE212:
1209 .LBE211:
1210 .LBE210:
1211 .LBE213:
1212 .LBE221:
1213 .LBB222:
1214 .LBB223:
416:Core/Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
1215 .loc 1 416 0
1216 015a 5E4C ldr r4, .L154+12
408:Core/Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0};
1217 .loc 1 408 0
1218 015c 0790 str r0, [sp, #28]
409:Core/Src/main.c ****
1219 .loc 1 409 0
1220 015e 0146 mov r1, r0
1221 0160 3246 mov r2, r6
1222 0162 0AA8 add r0, sp, #40
408:Core/Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0};
1223 .loc 1 408 0
1224 0164 CDE90855 strd r5, r5, [sp, #32]
422:Core/Src/main.c **** hadc1.Init.LowPowerAutoWait = DISABLE;
1225 .loc 1 422 0
1226 0168 4FF00408 mov r8, #4
409:Core/Src/main.c ****
1227 .loc 1 409 0
1228 016c FFF7FEFF bl memset
1229 .LVL71:
417:Core/Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B;
1230 .loc 1 417 0
1231 0170 4FF44033 mov r3, #196608
416:Core/Src/main.c **** hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
1232 .loc 1 416 0
1233 0174 4FF0A042 mov r2, #1342177280
436:Core/Src/main.c **** {
1234 .loc 1 436 0
1235 0178 2046 mov r0, r4
417:Core/Src/main.c **** hadc1.Init.Resolution = ADC_RESOLUTION_12B;
1236 .loc 1 417 0
1237 017a C4E90023 strd r2, r3, [r4]
419:Core/Src/main.c **** hadc1.Init.GainCompensation = 0;
1238 .loc 1 419 0
1239 017e C4E90255 strd r5, r5, [r4, #8]
421:Core/Src/main.c **** hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
1240 .loc 1 421 0
1241 0182 C4E90455 strd r5, r5, [r4, #16]
ARM GAS /tmp/ccKbyuxk.s page 42
423:Core/Src/main.c **** hadc1.Init.ContinuousConvMode = ENABLE;
1242 .loc 1 423 0
1243 0186 2577 strb r5, [r4, #28]
424:Core/Src/main.c **** hadc1.Init.NbrOfConversion = 1;
1244 .loc 1 424 0
1245 0188 6777 strb r7, [r4, #29]
425:Core/Src/main.c **** hadc1.Init.DiscontinuousConvMode = DISABLE;
1246 .loc 1 425 0
1247 018a 2762 str r7, [r4, #32]
426:Core/Src/main.c **** hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
1248 .loc 1 426 0
1249 018c 84F82450 strb r5, [r4, #36]
428:Core/Src/main.c **** hadc1.Init.DMAContinuousRequests = ENABLE;
1250 .loc 1 428 0
1251 0190 C4E90B55 strd r5, r5, [r4, #44]
429:Core/Src/main.c **** hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
1252 .loc 1 429 0
1253 0194 84F83870 strb r7, [r4, #56]
430:Core/Src/main.c **** hadc1.Init.OversamplingMode = ENABLE;
1254 .loc 1 430 0
1255 0198 E563 str r5, [r4, #60]
431:Core/Src/main.c **** hadc1.Init.Oversampling.Ratio = ADC_OVERSAMPLING_RATIO_2;
1256 .loc 1 431 0
1257 019a 84F84070 strb r7, [r4, #64]
433:Core/Src/main.c **** hadc1.Init.Oversampling.TriggeredMode = ADC_TRIGGEREDMODE_SINGLE_TRIGGER;
1258 .loc 1 433 0
1259 019e C4E91155 strd r5, r5, [r4, #68]
434:Core/Src/main.c **** hadc1.Init.Oversampling.OversamplingStopReset = ADC_REGOVERSAMPLING_CONTINUED_MODE;
1260 .loc 1 434 0
1261 01a2 E564 str r5, [r4, #76]
435:Core/Src/main.c **** if (HAL_ADC_Init(&hadc1) != HAL_OK)
1262 .loc 1 435 0
1263 01a4 2765 str r7, [r4, #80]
422:Core/Src/main.c **** hadc1.Init.LowPowerAutoWait = DISABLE;
1264 .loc 1 422 0
1265 01a6 C4F81880 str r8, [r4, #24]
436:Core/Src/main.c **** {
1266 .loc 1 436 0
1267 01aa FFF7FEFF bl HAL_ADC_Init
1268 .LVL72:
1269 01ae 0346 mov r3, r0
1270 01b0 08B1 cbz r0, .L73
1271 .LBB224:
1272 .LBB225:
1273 .LBB226:
1274 .loc 2 209 0
1275 .syntax unified
1276 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1277 01b2 72B6 cpsid i
1278 @ 0 "" 2
1279 .thumb
1280 .syntax unified
1281 .L74:
1282 01b4 FEE7 b .L74
1283 .L73:
1284 .LBE226:
1285 .LBE225:
ARM GAS /tmp/ccKbyuxk.s page 43
1286 .LBE224:
443:Core/Src/main.c **** {
1287 .loc 1 443 0
1288 01b6 07A9 add r1, sp, #28
1289 01b8 2046 mov r0, r4
442:Core/Src/main.c **** if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK)
1290 .loc 1 442 0
1291 01ba 0793 str r3, [sp, #28]
443:Core/Src/main.c **** {
1292 .loc 1 443 0
1293 01bc FFF7FEFF bl HAL_ADCEx_MultiModeConfigChannel
1294 .LVL73:
1295 01c0 0346 mov r3, r0
1296 01c2 08B1 cbz r0, .L75
1297 .LBB227:
1298 .LBB228:
1299 .LBB229:
1300 .loc 2 209 0
1301 .syntax unified
1302 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1303 01c4 72B6 cpsid i
1304 @ 0 "" 2
1305 .thumb
1306 .syntax unified
1307 .L76:
1308 01c6 FEE7 b .L76
1309 .L75:
1310 .LBE229:
1311 .LBE228:
1312 .LBE227:
449:Core/Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1;
1313 .loc 1 449 0
1314 01c8 4349 ldr r1, .L154+16
454:Core/Src/main.c **** if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
1315 .loc 1 454 0
1316 01ca 0F93 str r3, [sp, #60]
450:Core/Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_47CYCLES_5;
1317 .loc 1 450 0
1318 01cc 0622 movs r2, #6
452:Core/Src/main.c **** sConfig.OffsetNumber = ADC_OFFSET_NONE;
1319 .loc 1 452 0
1320 01ce 7F23 movs r3, #127
449:Core/Src/main.c **** sConfig.Rank = ADC_REGULAR_RANK_1;
1321 .loc 1 449 0
1322 01d0 0A91 str r1, [sp, #40]
455:Core/Src/main.c **** {
1323 .loc 1 455 0
1324 01d2 2046 mov r0, r4
1325 01d4 0AA9 add r1, sp, #40
451:Core/Src/main.c **** sConfig.SingleDiff = ADC_SINGLE_ENDED;
1326 .loc 1 451 0
1327 01d6 CDF83080 str r8, [sp, #48]
453:Core/Src/main.c **** sConfig.Offset = 0;
1328 .loc 1 453 0
1329 01da CDF83880 str r8, [sp, #56]
450:Core/Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_47CYCLES_5;
1330 .loc 1 450 0
ARM GAS /tmp/ccKbyuxk.s page 44
1331 01de 0B92 str r2, [sp, #44]
452:Core/Src/main.c **** sConfig.OffsetNumber = ADC_OFFSET_NONE;
1332 .loc 1 452 0
1333 01e0 0D93 str r3, [sp, #52]
455:Core/Src/main.c **** {
1334 .loc 1 455 0
1335 01e2 FFF7FEFF bl HAL_ADC_ConfigChannel
1336 .LVL74:
1337 01e6 08B1 cbz r0, .L77
1338 .LBB230:
1339 .LBB231:
1340 .LBB232:
1341 .loc 2 209 0
1342 .syntax unified
1343 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1344 01e8 72B6 cpsid i
1345 @ 0 "" 2
1346 .thumb
1347 .syntax unified
1348 .L78:
1349 01ea FEE7 b .L78
1350 .L77:
1351 .LBE232:
1352 .LBE231:
1353 .LBE230:
1354 .LBE223:
1355 .LBE222:
1356 .LBB233:
1357 .LBB234:
640:Core/Src/main.c **** htim7.Init.Prescaler = 1679;
1358 .loc 1 640 0
1359 01ec 3B4C ldr r4, .L154+20
1360 01ee 3C49 ldr r1, .L154+24
635:Core/Src/main.c ****
1361 .loc 1 635 0
1362 01f0 0A90 str r0, [sp, #40]
643:Core/Src/main.c **** htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
1363 .loc 1 643 0
1364 01f2 40F2E733 movw r3, #999
641:Core/Src/main.c **** htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
1365 .loc 1 641 0
1366 01f6 40F28F62 movw r2, #1679
635:Core/Src/main.c ****
1367 .loc 1 635 0
1368 01fa CDE90B00 strd r0, r0, [sp, #44]
642:Core/Src/main.c **** htim7.Init.Period = 999;
1369 .loc 1 642 0
1370 01fe A060 str r0, [r4, #8]
644:Core/Src/main.c **** if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
1371 .loc 1 644 0
1372 0200 A061 str r0, [r4, #24]
645:Core/Src/main.c **** {
1373 .loc 1 645 0
1374 0202 2046 mov r0, r4
643:Core/Src/main.c **** htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
1375 .loc 1 643 0
1376 0204 E360 str r3, [r4, #12]
ARM GAS /tmp/ccKbyuxk.s page 45
640:Core/Src/main.c **** htim7.Init.Prescaler = 1679;
1377 .loc 1 640 0
1378 0206 2160 str r1, [r4]
641:Core/Src/main.c **** htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
1379 .loc 1 641 0
1380 0208 6260 str r2, [r4, #4]
645:Core/Src/main.c **** {
1381 .loc 1 645 0
1382 020a FFF7FEFF bl HAL_TIM_Base_Init
1383 .LVL75:
1384 020e 0346 mov r3, r0
1385 0210 08B1 cbz r0, .L79
1386 .LBB235:
1387 .LBB236:
1388 .LBB237:
1389 .loc 2 209 0
1390 .syntax unified
1391 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1392 0212 72B6 cpsid i
1393 @ 0 "" 2
1394 .thumb
1395 .syntax unified
1396 .L80:
1397 0214 FEE7 b .L80
1398 .L79:
1399 .LBE237:
1400 .LBE236:
1401 .LBE235:
651:Core/Src/main.c **** {
1402 .loc 1 651 0
1403 0216 2046 mov r0, r4
1404 0218 0AA9 add r1, sp, #40
649:Core/Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
1405 .loc 1 649 0
1406 021a 0A93 str r3, [sp, #40]
650:Core/Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
1407 .loc 1 650 0
1408 021c 0C93 str r3, [sp, #48]
651:Core/Src/main.c **** {
1409 .loc 1 651 0
1410 021e FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization
1411 .LVL76:
1412 0222 08B1 cbz r0, .L81
1413 .LBB238:
1414 .LBB239:
1415 .LBB240:
1416 .loc 2 209 0
1417 .syntax unified
1418 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1419 0224 72B6 cpsid i
1420 @ 0 "" 2
1421 .thumb
1422 .syntax unified
1423 .L82:
1424 0226 FEE7 b .L82
1425 .L81:
1426 .LBE240:
ARM GAS /tmp/ccKbyuxk.s page 46
1427 .LBE239:
1428 .LBE238:
1429 .LBE234:
1430 .LBE233:
1431 .LBB241:
1432 .LBB242:
602:Core/Src/main.c **** htim6.Init.Prescaler = 0;
1433 .loc 1 602 0
1434 0228 2E4C ldr r4, .L154+28
1435 022a 2F4A ldr r2, .L154+32
597:Core/Src/main.c ****
1436 .loc 1 597 0
1437 022c 0A90 str r0, [sp, #40]
605:Core/Src/main.c **** htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
1438 .loc 1 605 0
1439 022e 41F6FF53 movw r3, #7679
597:Core/Src/main.c ****
1440 .loc 1 597 0
1441 0232 CDE90B00 strd r0, r0, [sp, #44]
604:Core/Src/main.c **** htim6.Init.Period = 7679;
1442 .loc 1 604 0
1443 0236 C4E90100 strd r0, r0, [r4, #4]
606:Core/Src/main.c **** if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
1444 .loc 1 606 0
1445 023a A061 str r0, [r4, #24]
607:Core/Src/main.c **** {
1446 .loc 1 607 0
1447 023c 2046 mov r0, r4
605:Core/Src/main.c **** htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
1448 .loc 1 605 0
1449 023e E360 str r3, [r4, #12]
602:Core/Src/main.c **** htim6.Init.Prescaler = 0;
1450 .loc 1 602 0
1451 0240 2260 str r2, [r4]
607:Core/Src/main.c **** {
1452 .loc 1 607 0
1453 0242 FFF7FEFF bl HAL_TIM_Base_Init
1454 .LVL77:
1455 0246 0346 mov r3, r0
1456 0248 08B1 cbz r0, .L83
1457 .LBB243:
1458 .LBB244:
1459 .LBB245:
1460 .loc 2 209 0
1461 .syntax unified
1462 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1463 024a 72B6 cpsid i
1464 @ 0 "" 2
1465 .thumb
1466 .syntax unified
1467 .L84:
1468 024c FEE7 b .L84
1469 .L83:
1470 .LBE245:
1471 .LBE244:
1472 .LBE243:
613:Core/Src/main.c **** {
ARM GAS /tmp/ccKbyuxk.s page 47
1473 .loc 1 613 0
1474 024e 2046 mov r0, r4
1475 0250 0AA9 add r1, sp, #40
611:Core/Src/main.c **** sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
1476 .loc 1 611 0
1477 0252 0A96 str r6, [sp, #40]
612:Core/Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
1478 .loc 1 612 0
1479 0254 0C93 str r3, [sp, #48]
613:Core/Src/main.c **** {
1480 .loc 1 613 0
1481 0256 FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization
1482 .LVL78:
1483 025a 08B1 cbz r0, .L85
1484 .LBB246:
1485 .LBB247:
1486 .LBB248:
1487 .loc 2 209 0
1488 .syntax unified
1489 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1490 025c 72B6 cpsid i
1491 @ 0 "" 2
1492 .thumb
1493 .syntax unified
1494 .L86:
1495 025e FEE7 b .L86
1496 .L85:
1497 .LBE248:
1498 .LBE247:
1499 .LBE246:
1500 .LBE242:
1501 .LBE241:
1502 .LBB249:
1503 .LBB250:
487:Core/Src/main.c **** if (HAL_CORDIC_Init(&hcordic) != HAL_OK)
1504 .loc 1 487 0
1505 0260 224F ldr r7, .L154+36
1506 0262 234B ldr r3, .L154+40
1507 0264 3B60 str r3, [r7]
475:Core/Src/main.c **** sConfig.Function = CORDIC_FUNCTION_SINE;
1508 .loc 1 475 0
1509 0266 0023 movs r3, #0
1510 0268 CDE90B33 strd r3, r3, [sp, #44]
1511 026c CDE90E33 strd r3, r3, [sp, #56]
488:Core/Src/main.c **** {
1512 .loc 1 488 0
1513 0270 3846 mov r0, r7
482:Core/Src/main.c **** /* USER CODE END CORDIC_Init 0 */
1514 .loc 1 482 0
1515 0272 4FF40013 mov r3, #2097152
476:Core/Src/main.c **** sConfig.Precision = CORDIC_PRECISION_4CYCLES;
1516 .loc 1 476 0
1517 0276 4FF0010B mov fp, #1
477:Core/Src/main.c **** sConfig.Scale = CORDIC_SCALE_0;
1518 .loc 1 477 0
1519 027a 4026 movs r6, #64
476:Core/Src/main.c **** sConfig.Precision = CORDIC_PRECISION_4CYCLES;
ARM GAS /tmp/ccKbyuxk.s page 48
1520 .loc 1 476 0
1521 027c CDF828B0 str fp, [sp, #40]
477:Core/Src/main.c **** sConfig.Scale = CORDIC_SCALE_0;
1522 .loc 1 477 0
1523 0280 1096 str r6, [sp, #64]
482:Core/Src/main.c **** /* USER CODE END CORDIC_Init 0 */
1524 .loc 1 482 0
1525 0282 0D93 str r3, [sp, #52]
488:Core/Src/main.c **** {
1526 .loc 1 488 0
1527 0284 FFF7FEFF bl HAL_CORDIC_Init
1528 .LVL79:
1529 0288 0546 mov r5, r0
1530 028a 08B1 cbz r0, .L87
1531 .LBB251:
1532 .LBB252:
1533 .LBB253:
1534 .loc 2 209 0
1535 .syntax unified
1536 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1537 028c 72B6 cpsid i
1538 @ 0 "" 2
1539 .thumb
1540 .syntax unified
1541 .L88:
1542 028e FEE7 b .L88
1543 .L87:
1544 .LBE253:
1545 .LBE252:
1546 .LBE251:
1547 .LBE250:
1548 .LBE249:
1549 .LBB255:
1550 .LBB256:
723:Core/Src/main.c **** huart1.Init.BaudRate = 115200;
1551 .loc 1 723 0
1552 0290 184C ldr r4, .L154+44
1553 .LBE256:
1554 .LBE255:
1555 .LBB270:
1556 .LBB254:
493:Core/Src/main.c **** /* USER CODE END CORDIC_Init 2 */
1557 .loc 1 493 0
1558 0292 0AA9 add r1, sp, #40
1559 0294 3846 mov r0, r7
1560 0296 FFF7FEFF bl HAL_CORDIC_Configure
1561 .LVL80:
1562 .LBE254:
1563 .LBE270:
1564 .LBB271:
1565 .LBB269:
723:Core/Src/main.c **** huart1.Init.BaudRate = 115200;
1566 .loc 1 723 0
1567 029a 1749 ldr r1, .L154+48
1568 029c 2160 str r1, [r4]
724:Core/Src/main.c **** huart1.Init.WordLength = UART_WORDLENGTH_8B;
1569 .loc 1 724 0
ARM GAS /tmp/ccKbyuxk.s page 49
1570 029e 4FF4E132 mov r2, #115200
728:Core/Src/main.c **** huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
1571 .loc 1 728 0
1572 02a2 0C23 movs r3, #12
734:Core/Src/main.c **** {
1573 .loc 1 734 0
1574 02a4 2046 mov r0, r4
725:Core/Src/main.c **** huart1.Init.StopBits = UART_STOPBITS_1;
1575 .loc 1 725 0
1576 02a6 A560 str r5, [r4, #8]
727:Core/Src/main.c **** huart1.Init.Mode = UART_MODE_TX_RX;
1577 .loc 1 727 0
1578 02a8 C4E90355 strd r5, r5, [r4, #12]
730:Core/Src/main.c **** huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
1579 .loc 1 730 0
1580 02ac C4E90655 strd r5, r5, [r4, #24]
732:Core/Src/main.c **** huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
1581 .loc 1 732 0
1582 02b0 C4E90855 strd r5, r5, [r4, #32]
733:Core/Src/main.c **** if (HAL_UART_Init(&huart1) != HAL_OK)
1583 .loc 1 733 0
1584 02b4 A562 str r5, [r4, #40]
724:Core/Src/main.c **** huart1.Init.WordLength = UART_WORDLENGTH_8B;
1585 .loc 1 724 0
1586 02b6 6260 str r2, [r4, #4]
728:Core/Src/main.c **** huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
1587 .loc 1 728 0
1588 02b8 6361 str r3, [r4, #20]
734:Core/Src/main.c **** {
1589 .loc 1 734 0
1590 02ba FFF7FEFF bl HAL_UART_Init
1591 .LVL81:
1592 02be 0146 mov r1, r0
1593 02c0 00B3 cbz r0, .L89
1594 .LBB257:
1595 .LBB258:
1596 .LBB259:
1597 .loc 2 209 0
1598 .syntax unified
1599 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1600 02c2 72B6 cpsid i
1601 @ 0 "" 2
1602 .thumb
1603 .syntax unified
1604 .L90:
1605 02c4 FEE7 b .L90
1606 .L155:
1607 02c6 00BF .align 2
1608 .L154:
1609 02c8 00100240 .word 1073876992
1610 02cc 00040048 .word 1207960576
1611 02d0 00080050 .word 1342179328
1612 02d4 00000000 .word hadc1
1613 02d8 002090B6 .word -1232068608
1614 02dc 00000000 .word htim7
1615 02e0 00140040 .word 1073746944
1616 02e4 00000000 .word htim6
ARM GAS /tmp/ccKbyuxk.s page 50
1617 02e8 00100040 .word 1073745920
1618 02ec 00000000 .word hcordic
1619 02f0 000C0240 .word 1073875968
1620 02f4 00000000 .word huart1
1621 02f8 00380140 .word 1073821696
1622 02fc 00000000 .word state_changed
1623 0300 00000000 .word hdac1
1624 .L89:
1625 .LBE259:
1626 .LBE258:
1627 .LBE257:
738:Core/Src/main.c **** {
1628 .loc 1 738 0
1629 0304 2046 mov r0, r4
1630 0306 FFF7FEFF bl HAL_UARTEx_SetTxFifoThreshold
1631 .LVL82:
1632 030a 0146 mov r1, r0
1633 030c 08B1 cbz r0, .L91
1634 .LBB260:
1635 .LBB261:
1636 .LBB262:
1637 .loc 2 209 0
1638 .syntax unified
1639 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1640 030e 72B6 cpsid i
1641 @ 0 "" 2
1642 .thumb
1643 .syntax unified
1644 .L92:
1645 0310 FEE7 b .L92
1646 .L91:
1647 .LBE262:
1648 .LBE261:
1649 .LBE260:
742:Core/Src/main.c **** {
1650 .loc 1 742 0
1651 0312 2046 mov r0, r4
1652 0314 FFF7FEFF bl HAL_UARTEx_SetRxFifoThreshold
1653 .LVL83:
1654 0318 08B1 cbz r0, .L93
1655 .LBB263:
1656 .LBB264:
1657 .LBB265:
1658 .loc 2 209 0
1659 .syntax unified
1660 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1661 031a 72B6 cpsid i
1662 @ 0 "" 2
1663 .thumb
1664 .syntax unified
1665 .L94:
1666 031c FEE7 b .L94
1667 .L93:
1668 .LBE265:
1669 .LBE264:
1670 .LBE263:
746:Core/Src/main.c **** {
ARM GAS /tmp/ccKbyuxk.s page 51
1671 .loc 1 746 0
1672 031e 2046 mov r0, r4
1673 0320 FFF7FEFF bl HAL_UARTEx_DisableFifoMode
1674 .LVL84:
1675 0324 08B1 cbz r0, .L95
1676 .LBB266:
1677 .LBB267:
1678 .LBB268:
1679 .loc 2 209 0
1680 .syntax unified
1681 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1682 0326 72B6 cpsid i
1683 @ 0 "" 2
1684 .thumb
1685 .syntax unified
1686 .L96:
1687 0328 FEE7 b .L96
1688 .L95:
1689 .LBE268:
1690 .LBE267:
1691 .LBE266:
1692 .LBE269:
1693 .LBE271:
1694 .LBB272:
1695 .LBB273:
679:Core/Src/main.c **** htim8.Init.Prescaler = 0;
1696 .loc 1 679 0
1697 032a 804D ldr r5, .L156
1698 032c 804A ldr r2, .L156+4
674:Core/Src/main.c ****
1699 .loc 1 674 0
1700 032e 0990 str r0, [sp, #36]
673:Core/Src/main.c **** TIM_MasterConfigTypeDef sMasterConfig = {0};
1701 .loc 1 673 0
1702 0330 CDE90A00 strd r0, r0, [sp, #40]
1703 0334 CDE90C00 strd r0, r0, [sp, #48]
674:Core/Src/main.c ****
1704 .loc 1 674 0
1705 0338 CDE90700 strd r0, r0, [sp, #28]
681:Core/Src/main.c **** htim8.Init.Period = 239;
1706 .loc 1 681 0
1707 033c C5E90100 strd r0, r0, [r5, #4]
684:Core/Src/main.c **** htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
1708 .loc 1 684 0
1709 0340 C5E90400 strd r0, r0, [r5, #16]
685:Core/Src/main.c **** if (HAL_TIM_Base_Init(&htim8) != HAL_OK)
1710 .loc 1 685 0
1711 0344 A861 str r0, [r5, #24]
682:Core/Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
1712 .loc 1 682 0
1713 0346 EF23 movs r3, #239
686:Core/Src/main.c **** {
1714 .loc 1 686 0
1715 0348 2846 mov r0, r5
679:Core/Src/main.c **** htim8.Init.Prescaler = 0;
1716 .loc 1 679 0
1717 034a 2A60 str r2, [r5]
ARM GAS /tmp/ccKbyuxk.s page 52
682:Core/Src/main.c **** htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
1718 .loc 1 682 0
1719 034c EB60 str r3, [r5, #12]
686:Core/Src/main.c **** {
1720 .loc 1 686 0
1721 034e FFF7FEFF bl HAL_TIM_Base_Init
1722 .LVL85:
1723 0352 08B1 cbz r0, .L97
1724 .LBB274:
1725 .LBB275:
1726 .LBB276:
1727 .loc 2 209 0
1728 .syntax unified
1729 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1730 0354 72B6 cpsid i
1731 @ 0 "" 2
1732 .thumb
1733 .syntax unified
1734 .L98:
1735 0356 FEE7 b .L98
1736 .L97:
1737 .LBE276:
1738 .LBE275:
1739 .LBE274:
690:Core/Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK)
1740 .loc 1 690 0
1741 0358 4FF48053 mov r3, #4096
691:Core/Src/main.c **** {
1742 .loc 1 691 0
1743 035c 0AA9 add r1, sp, #40
1744 035e 2846 mov r0, r5
690:Core/Src/main.c **** if (HAL_TIM_ConfigClockSource(&htim8, &sClockSourceConfig) != HAL_OK)
1745 .loc 1 690 0
1746 0360 0A93 str r3, [sp, #40]
691:Core/Src/main.c **** {
1747 .loc 1 691 0
1748 0362 FFF7FEFF bl HAL_TIM_ConfigClockSource
1749 .LVL86:
1750 0366 0346 mov r3, r0
1751 0368 08B1 cbz r0, .L99
1752 .LBB277:
1753 .LBB278:
1754 .LBB279:
1755 .loc 2 209 0
1756 .syntax unified
1757 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1758 036a 72B6 cpsid i
1759 @ 0 "" 2
1760 .thumb
1761 .syntax unified
1762 .L100:
1763 036c FEE7 b .L100
1764 .L99:
1765 .LBE279:
1766 .LBE278:
1767 .LBE277:
695:Core/Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
ARM GAS /tmp/ccKbyuxk.s page 53
1768 .loc 1 695 0
1769 036e 2022 movs r2, #32
698:Core/Src/main.c **** {
1770 .loc 1 698 0
1771 0370 07A9 add r1, sp, #28
1772 0372 2846 mov r0, r5
697:Core/Src/main.c **** if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
1773 .loc 1 697 0
1774 0374 CDE90833 strd r3, r3, [sp, #32]
695:Core/Src/main.c **** sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
1775 .loc 1 695 0
1776 0378 0792 str r2, [sp, #28]
698:Core/Src/main.c **** {
1777 .loc 1 698 0
1778 037a FFF7FEFF bl HAL_TIMEx_MasterConfigSynchronization
1779 .LVL87:
1780 037e 08B1 cbz r0, .L101
1781 .LBB280:
1782 .LBB281:
1783 .LBB282:
1784 .loc 2 209 0
1785 .syntax unified
1786 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1787 0380 72B6 cpsid i
1788 @ 0 "" 2
1789 .thumb
1790 .syntax unified
1791 .L102:
1792 0382 FEE7 b .L102
1793 .L101:
1794 .LBE282:
1795 .LBE281:
1796 .LBE280:
1797 .LBE273:
1798 .LBE272:
1799 .LBB283:
1800 .LBB284:
566:Core/Src/main.c **** hopamp1.Init.PowerMode = OPAMP_POWERMODE_HIGHSPEED;
1801 .loc 1 566 0
1802 0384 6B4B ldr r3, .L156+8
1803 0386 6C4A ldr r2, .L156+12
569:Core/Src/main.c **** hopamp1.Init.InternalOutput = ENABLE;
1804 .loc 1 569 0
1805 0388 1861 str r0, [r3, #16]
567:Core/Src/main.c **** hopamp1.Init.Mode = OPAMP_PGA_MODE;
1806 .loc 1 567 0
1807 038a 8025 movs r5, #128
571:Core/Src/main.c **** hopamp1.Init.PgaConnect = OPAMP_PGA_CONNECT_INVERTINGINPUT_IO0_BIAS;
1808 .loc 1 571 0
1809 038c 9861 str r0, [r3, #24]
574:Core/Src/main.c **** if (HAL_OPAMP_Init(&hopamp1) != HAL_OK)
1810 .loc 1 574 0
1811 038e D862 str r0, [r3, #44]
572:Core/Src/main.c **** hopamp1.Init.PgaGain = OPAMP_PGA_GAIN_8_OR_MINUS_7;
1812 .loc 1 572 0
1813 0390 4FF40031 mov r1, #131072
566:Core/Src/main.c **** hopamp1.Init.PowerMode = OPAMP_POWERMODE_HIGHSPEED;
ARM GAS /tmp/ccKbyuxk.s page 54
1814 .loc 1 566 0
1815 0394 1A60 str r2, [r3]
575:Core/Src/main.c **** {
1816 .loc 1 575 0
1817 0396 1846 mov r0, r3
573:Core/Src/main.c **** hopamp1.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
1818 .loc 1 573 0
1819 0398 4FF40042 mov r2, #32768
568:Core/Src/main.c **** hopamp1.Init.NonInvertingInput = OPAMP_NONINVERTINGINPUT_IO0;
1820 .loc 1 568 0
1821 039c 9E60 str r6, [r3, #8]
570:Core/Src/main.c **** hopamp1.Init.TimerControlledMuxmode = OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE;
1822 .loc 1 570 0
1823 039e 83F814B0 strb fp, [r3, #20]
567:Core/Src/main.c **** hopamp1.Init.Mode = OPAMP_PGA_MODE;
1824 .loc 1 567 0
1825 03a2 5D60 str r5, [r3, #4]
573:Core/Src/main.c **** hopamp1.Init.UserTrimming = OPAMP_TRIMMING_FACTORY;
1826 .loc 1 573 0
1827 03a4 C3E90912 strd r1, r2, [r3, #36]
575:Core/Src/main.c **** {
1828 .loc 1 575 0
1829 03a8 FFF7FEFF bl HAL_OPAMP_Init
1830 .LVL88:
1831 03ac 08B1 cbz r0, .L103
1832 .LBB285:
1833 .LBB286:
1834 .LBB287:
1835 .loc 2 209 0
1836 .syntax unified
1837 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
1838 03ae 72B6 cpsid i
1839 @ 0 "" 2
1840 .thumb
1841 .syntax unified
1842 .L104:
1843 03b0 FEE7 b .L104
1844 .L103:
1845 .LBE287:
1846 .LBE286:
1847 .LBE285:
1848 .LBE284:
1849 .LBE283:
279:Core/Src/main.c **** audio_filter_init();
1850 .loc 1 279 0
1851 03b2 FFF7FEFF bl st2_filter_init
1852 .LVL89:
280:Core/Src/main.c **** // diag();
1853 .loc 1 280 0
1854 03b6 FFF7FEFF bl audio_filter_init
1855 .LVL90:
283:Core/Src/main.c **** HAL_UART_Receive_IT(&huart1, uart_rx_buf, 1);
1856 .loc 1 283 0
1857 03ba 6048 ldr r0, .L156+16
1858 03bc DFF8DC91 ldr r9, .L156+112
1859 03c0 DFF8DC81 ldr r8, .L156+116
1860 03c4 5E4F ldr r7, .L156+20
ARM GAS /tmp/ccKbyuxk.s page 55
1861 03c6 5F4E ldr r6, .L156+24
1862 03c8 5F4D ldr r5, .L156+28
1863 03ca FFF7FEFF bl HAL_TIM_Base_Start_IT
1864 .LVL91:
284:Core/Src/main.c **** // HAL_UART_Receive_IT(&huart2, uart_rx_buf, 1);
1865 .loc 1 284 0
1866 03ce 5A46 mov r2, fp
1867 03d0 2046 mov r0, r4
1868 03d2 5E49 ldr r1, .L156+32
307:Core/Src/main.c **** half_rx_dac_buffer_empty = 0;
1869 .loc 1 307 0
1870 03d4 5E4C ldr r4, .L156+36
305:Core/Src/main.c **** else if (modulation == MOD_AM) am_demodulator(if_I, if_Q, LF_BUFFER_SIZE, prefilter_lf_buffer);
1871 .loc 1 305 0
1872 03d6 DFF8CCB1 ldr fp, .L156+120
284:Core/Src/main.c **** // HAL_UART_Receive_IT(&huart2, uart_rx_buf, 1);
1873 .loc 1 284 0
1874 03da FFF7FEFF bl HAL_UART_Receive_IT
1875 .LVL92:
287:Core/Src/main.c **** /* USER CODE END 2 */
1876 .loc 1 287 0
1877 03de FFF7FEFF bl start_receive
1878 .LVL93:
1879 .L118:
296:Core/Src/main.c **** if(rx_adc_buffer_ready){
1880 .loc 1 296 0
1881 03e2 99F80030 ldrb r3, [r9] @ zero_extendqisi2
1882 03e6 002B cmp r3, #0
1883 03e8 34D0 beq .L106
297:Core/Src/main.c **** HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, SET);
1884 .loc 1 297 0
1885 03ea 98F80030 ldrb r3, [r8] @ zero_extendqisi2
1886 03ee ABB1 cbz r3, .L107
298:Core/Src/main.c **** rx_mixer(adc_buffer, ADC_BUFFER_SIZE, if_I, if_Q, nco1_increment);
1887 .loc 1 298 0
1888 03f0 0122 movs r2, #1
1889 03f2 2021 movs r1, #32
1890 03f4 5748 ldr r0, .L156+40
1891 03f6 FFF7FEFF bl HAL_GPIO_WritePin
1892 .LVL94:
299:Core/Src/main.c **** HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, RESET);
1893 .loc 1 299 0
1894 03fa 3B68 ldr r3, [r7]
1895 03fc 0093 str r3, [sp]
1896 03fe 564A ldr r2, .L156+44
1897 0400 564B ldr r3, .L156+48
1898 0402 5748 ldr r0, .L156+52
1899 0404 4FF48061 mov r1, #1024
1900 0408 FFF7FEFF bl rx_mixer
1901 .LVL95:
300:Core/Src/main.c **** rx_adc_buffer_ready = 0;
1902 .loc 1 300 0
1903 040c 0022 movs r2, #0
1904 040e 2021 movs r1, #32
1905 0410 5048 ldr r0, .L156+40
1906 0412 FFF7FEFF bl HAL_GPIO_WritePin
1907 .LVL96:
ARM GAS /tmp/ccKbyuxk.s page 56
301:Core/Src/main.c **** }
1908 .loc 1 301 0
1909 0416 0023 movs r3, #0
1910 0418 88F80030 strb r3, [r8]
1911 .L107:
303:Core/Src/main.c **** if (modulation == MOD_DC) dc_demodulator(if_I, LF_BUFFER_SIZE, prefilter_lf_buffer);
1912 .loc 1 303 0
1913 041c 3378 ldrb r3, [r6] @ zero_extendqisi2
1914 041e CBB1 cbz r3, .L106
304:Core/Src/main.c **** else if(modulation == MOD_LSB || modulation == MOD_USB) ssb_demodulator(if_I, if_Q, LF_BUFFER_SI
1915 .loc 1 304 0
1916 0420 2B68 ldr r3, [r5]
1917 0422 002B cmp r3, #0
1918 0424 72D0 beq .L149
305:Core/Src/main.c **** else if (modulation == MOD_AM) am_demodulator(if_I, if_Q, LF_BUFFER_SIZE, prefilter_lf_buffer);
1919 .loc 1 305 0
1920 0426 5A1E subs r2, r3, #1
1921 0428 012A cmp r2, #1
1922 042a 75D9 bls .L150
306:Core/Src/main.c **** arm_fir_q31(&audio_filter_struct, prefilter_lf_buffer, lf_buffer[lf_buffer_toggle], AUDIO_FILTER
1923 .loc 1 306 0
1924 042c 032B cmp r3, #3
1925 042e 05D1 bne .L110
306:Core/Src/main.c **** arm_fir_q31(&audio_filter_struct, prefilter_lf_buffer, lf_buffer[lf_buffer_toggle], AUDIO_FILTER
1926 .loc 1 306 0 is_stmt 0 discriminator 1
1927 0430 2346 mov r3, r4
1928 0432 4022 movs r2, #64
1929 0434 4949 ldr r1, .L156+48
1930 0436 4848 ldr r0, .L156+44
1931 0438 FFF7FEFF bl am_demodulator
1932 .LVL97:
1933 .L110:
307:Core/Src/main.c **** half_rx_dac_buffer_empty = 0;
1934 .loc 1 307 0 is_stmt 1
1935 043c 494B ldr r3, .L156+56
1936 043e 4A49 ldr r1, .L156+60
1937 0440 1A78 ldrb r2, [r3] @ zero_extendqisi2
1938 0442 4A48 ldr r0, .L156+64
1939 0444 4023 movs r3, #64
1940 0446 01EB0222 add r2, r1, r2, lsl #8
1941 044a 2146 mov r1, r4
1942 044c FFF7FEFF bl arm_fir_q31
1943 .LVL98:
308:Core/Src/main.c **** }
1944 .loc 1 308 0
1945 0450 0023 movs r3, #0
1946 0452 3370 strb r3, [r6]
1947 .L106:
311:Core/Src/main.c **** if(half_tx_dac_buffer_empty){
1948 .loc 1 311 0
1949 0454 464B ldr r3, .L156+68
1950 0456 1B78 ldrb r3, [r3] @ zero_extendqisi2
1951 0458 13B3 cbz r3, .L113
312:Core/Src/main.c **** // HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, SET);
1952 .loc 1 312 0
1953 045a 464B ldr r3, .L156+72
1954 045c 1B78 ldrb r3, [r3] @ zero_extendqisi2
ARM GAS /tmp/ccKbyuxk.s page 57
1955 045e 7BB1 cbz r3, .L114
1956 .LBB288:
314:Core/Src/main.c **** half_tx_dac_buffer_empty = 0;
1957 .loc 1 314 0
1958 0460 454B ldr r3, .L156+76
1959 0462 3D4A ldr r2, .L156+44
1960 0464 1878 ldrb r0, [r3] @ zero_extendqisi2
1961 0466 3B68 ldr r3, [r7]
1962 0468 0093 str r3, [sp]
1963 046a 444B ldr r3, .L156+80
1964 046c 4FF48061 mov r1, #1024
1965 0470 03EB0030 add r0, r3, r0, lsl #12
1966 0474 394B ldr r3, .L156+48
1967 0476 FFF7FEFF bl tx_mixer
1968 .LVL99:
315:Core/Src/main.c **** // HAL_GPIO_WritePin(OUT_GPIO_Port, OUT_Pin, RESET);
1969 .loc 1 315 0
1970 047a 3E4A ldr r2, .L156+72
1971 047c 0023 movs r3, #0
1972 047e 1370 strb r3, [r2]
1973 .L114:
1974 .LBE288:
318:Core/Src/main.c **** if (modulation == MOD_DC) dc_modulator(if_I, LF_BUFFER_SIZE, prefilter_lf_buffer);
1975 .loc 1 318 0
1976 0480 3F4B ldr r3, .L156+84
1977 0482 1B78 ldrb r3, [r3] @ zero_extendqisi2
1978 0484 63B1 cbz r3, .L113
319:Core/Src/main.c **** else if(modulation == MOD_LSB || modulation == MOD_USB) ssb_modulator(if_I,
1979 .loc 1 319 0
1980 0486 2B68 ldr r3, [r5]
1981 0488 3BB3 cbz r3, .L151
320:Core/Src/main.c **** else if (modulation == MOD_AM) am_modulator(if_I, if_Q, LF_BUFFER_SIZE, pre
1982 .loc 1 320 0
1983 048a 5A1E subs r2, r3, #1
1984 048c 012A cmp r2, #1
1985 048e 1BD9 bls .L152
321:Core/Src/main.c **** }
1986 .loc 1 321 0
1987 0490 032B cmp r3, #3
1988 0492 05D1 bne .L113
321:Core/Src/main.c **** }
1989 .loc 1 321 0 is_stmt 0 discriminator 1
1990 0494 2346 mov r3, r4
1991 0496 4022 movs r2, #64
1992 0498 3049 ldr r1, .L156+48
1993 049a 2F48 ldr r0, .L156+44
1994 049c FFF7FEFF bl am_modulator
1995 .LVL100:
1996 .L113:
324:Core/Src/main.c **** if(receive){
1997 .loc 1 324 0 is_stmt 1
1998 04a0 384B ldr r3, .L156+88
1999 04a2 1B78 ldrb r3, [r3] @ zero_extendqisi2
2000 04a4 002B cmp r3, #0
2001 04a6 9CD0 beq .L118
325:Core/Src/main.c **** // TODO
2002 .loc 1 325 0
ARM GAS /tmp/ccKbyuxk.s page 58
2003 04a8 99F80030 ldrb r3, [r9] @ zero_extendqisi2
2004 04ac 1BB1 cbz r3, .L120
327:Core/Src/main.c **** }
2005 .loc 1 327 0
2006 04ae 4021 movs r1, #64
2007 04b0 2948 ldr r0, .L156+44
2008 04b2 FFF7FEFF bl rx_measure_signal
2009 .LVL101:
2010 .L120:
330:Core/Src/main.c **** if(state_changed) display_update_state();
2011 .loc 1 330 0 discriminator 1
2012 04b6 344B ldr r3, .L156+92
2013 04b8 1A78 ldrb r2, [r3] @ zero_extendqisi2
2014 04ba 344B ldr r3, .L156+96
2015 04bc 1B78 ldrb r3, [r3] @ zero_extendqisi2
2016 04be 9A42 cmp r2, r3
2017 04c0 11D0 beq .L153
2018 .LBB289:
330:Core/Src/main.c **** if(state_changed) display_update_state();
2019 .loc 1 330 0 is_stmt 0 discriminator 2
2020 04c2 FFF7FEFF bl dequeue_cmd
2021 .LVL102:
2022 04c6 F6E7 b .L120
2023 .L152:
2024 .LBE289:
320:Core/Src/main.c **** else if (modulation == MOD_AM) am_modulator(if_I, if_Q, LF_BUFFER_SIZE, pre
2025 .loc 1 320 0 is_stmt 1 discriminator 1
2026 04c8 CDF800B0 str fp, [sp]
2027 04cc 2346 mov r3, r4
2028 04ce 4022 movs r2, #64
2029 04d0 2249 ldr r1, .L156+48
2030 04d2 2148 ldr r0, .L156+44
2031 04d4 FFF7FEFF bl ssb_modulator
2032 .LVL103:
2033 04d8 E2E7 b .L113
2034 .L151:
319:Core/Src/main.c **** else if(modulation == MOD_LSB || modulation == MOD_USB) ssb_modulator(if_I,
2035 .loc 1 319 0 discriminator 1
2036 04da 2246 mov r2, r4
2037 04dc 4021 movs r1, #64
2038 04de 1E48 ldr r0, .L156+44
2039 04e0 FFF7FEFF bl dc_modulator
2040 .LVL104:
2041 04e4 DCE7 b .L113
2042 .L153:
331:Core/Src/main.c **** if(uart_tx_buf_in_idx){
2043 .loc 1 331 0
2044 04e6 BAF80030 ldrh r3, [r10]
2045 04ea 0BB1 cbz r3, .L122
331:Core/Src/main.c **** if(uart_tx_buf_in_idx){
2046 .loc 1 331 0 is_stmt 0 discriminator 1
2047 04ec FFF7FEFF bl display_update_state
2048 .LVL105:
2049 .L122:
332:Core/Src/main.c **** display_write(uart_tx_buf, uart_tx_buf_in_idx);
2050 .loc 1 332 0 is_stmt 1
2051 04f0 274B ldr r3, .L156+100
ARM GAS /tmp/ccKbyuxk.s page 59
2052 04f2 1A88 ldrh r2, [r3]
2053 04f4 32B1 cbz r2, .L123
2054 .LVL106:
2055 .LBB290:
2056 .LBB291:
184:Core/Src/main.c **** // HAL_UART_Transmit_DMA(&huart2, ptr, len);
2057 .loc 1 184 0
2058 04f6 2749 ldr r1, .L156+104
2059 04f8 2748 ldr r0, .L156+108
2060 04fa FFF7FEFF bl HAL_UART_Transmit_DMA
2061 .LVL107:
2062 .LBE291:
2063 .LBE290:
334:Core/Src/main.c **** }
2064 .loc 1 334 0
2065 04fe 244A ldr r2, .L156+100
2066 0500 0023 movs r3, #0
2067 0502 1380 strh r3, [r2] @ movhi
2068 .L123:
337:Core/Src/main.c **** }
2069 .loc 1 337 0
2070 0504 1F4A ldr r2, .L156+88
2071 0506 0023 movs r3, #0
2072 0508 1370 strb r3, [r2]
2073 050a 6AE7 b .L118
2074 .L149:
304:Core/Src/main.c **** else if(modulation == MOD_LSB || modulation == MOD_USB) ssb_demodulator(if_I, if_Q, LF_BUFFER_SI
2075 .loc 1 304 0 discriminator 1
2076 050c 2246 mov r2, r4
2077 050e 4021 movs r1, #64
2078 0510 1148 ldr r0, .L156+44
2079 0512 FFF7FEFF bl dc_demodulator
2080 .LVL108:
2081 0516 91E7 b .L110
2082 .L150:
305:Core/Src/main.c **** else if (modulation == MOD_AM) am_demodulator(if_I, if_Q, LF_BUFFER_SIZE, prefilter_lf_buffer);
2083 .loc 1 305 0 discriminator 1
2084 0518 CDF800B0 str fp, [sp]
2085 051c 2346 mov r3, r4
2086 051e 4022 movs r2, #64
2087 0520 0E49 ldr r1, .L156+48
2088 0522 0D48 ldr r0, .L156+44
2089 0524 FFF7FEFF bl ssb_demodulator
2090 .LVL109:
2091 0528 88E7 b .L110
2092 .L157:
2093 052a 00BF .align 2
2094 .L156:
2095 052c 00000000 .word htim8
2096 0530 00340140 .word 1073820672
2097 0534 00000000 .word hopamp1
2098 0538 00030140 .word 1073808128
2099 053c 00000000 .word htim7
2100 0540 00000000 .word nco1_increment
2101 0544 00000000 .word half_rx_dac_buffer_empty
2102 0548 00000000 .word modulation
2103 054c 00000000 .word uart_rx_buf
ARM GAS /tmp/ccKbyuxk.s page 60
2104 0550 00000000 .word prefilter_lf_buffer
2105 0554 00040048 .word 1207960576
2106 0558 00000000 .word if_I
2107 055c 00000000 .word if_Q
2108 0560 00000000 .word adc_buffer
2109 0564 00000000 .word lf_buffer_toggle
2110 0568 00000000 .word lf_buffer
2111 056c 00000000 .word audio_filter_struct
2112 0570 00000000 .word transmit
2113 0574 00000000 .word half_tx_dac_buffer_empty
2114 0578 00000000 .word tx_dac_buffer_toggle
2115 057c 00000000 .word tx_dac_buffer
2116 0580 00000000 .word tx_adc_buffer_ready
2117 0584 00000000 .word tick
2118 0588 00000000 .word rx_cmd_rb_in_idx
2119 058c 00000000 .word rx_cmd_rb_out_idx
2120 0590 00000000 .word uart_tx_buf_in_idx
2121 0594 00000000 .word uart_tx_buf
2122 0598 00000000 .word huart1
2123 059c 00000000 .word receive
2124 05a0 00000000 .word rx_adc_buffer_ready
2125 05a4 47E17A14 .word 343597383
2126 .cfi_endproc
2127 .LFE390:
2129 .section .text.Error_Handler,"ax",%progbits
2130 .align 1
2131 .p2align 2,,3
2132 .global Error_Handler
2133 .syntax unified
2134 .thumb
2135 .thumb_func
2136 .fpu fpv4-sp-d16
2138 Error_Handler:
2139 .LFB402:
805:Core/Src/main.c ****
806:Core/Src/main.c **** }
807:Core/Src/main.c ****
808:Core/Src/main.c **** /* USER CODE BEGIN 4 */
809:Core/Src/main.c ****
810:Core/Src/main.c **** /* USER CODE END 4 */
811:Core/Src/main.c ****
812:Core/Src/main.c **** /**
813:Core/Src/main.c **** * @brief This function is executed in case of error occurrence.
814:Core/Src/main.c **** * @retval None
815:Core/Src/main.c **** */
816:Core/Src/main.c **** void Error_Handler(void)
817:Core/Src/main.c **** {
2140 .loc 1 817 0
2141 .cfi_startproc
2142 @ Volatile: function does not return.
2143 @ args = 0, pretend = 0, frame = 0
2144 @ frame_needed = 0, uses_anonymous_args = 0
2145 @ link register save eliminated.
2146 .LBB292:
2147 .LBB293:
2148 .loc 2 209 0
2149 .syntax unified
ARM GAS /tmp/ccKbyuxk.s page 61
2150 @ 209 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
2151 0000 72B6 cpsid i
2152 @ 0 "" 2
2153 .thumb
2154 .syntax unified
2155 .L159:
2156 0002 FEE7 b .L159
2157 .LBE293:
2158 .LBE292:
2159 .cfi_endproc
2160 .LFE402:
2162 .comm half_rx_dac_buffer_empty,1,1
2163 .comm rx_adc_buffer_ready,1,1
2164 .comm tick,1,1
2165 .comm hdma_usart1_tx,96,4
2166 .comm huart1,144,4
2167 .comm htim8,76,4
2168 .comm htim7,76,4
2169 .comm htim6,76,4
2170 .comm hopamp1,60,4
2171 .comm hdma_dac1_ch2,96,4
2172 .comm hdma_dac1_ch1,96,4
2173 .comm hdac1,20,4
2174 .comm hcordic,40,4
2175 .comm hdma_adc1,96,4
2176 .comm hadc1,108,4
2177 .text
2178 .Letext0:
2179 .file 3 "/usr/include/newlib/machine/_default_types.h"
2180 .file 4 "/usr/include/newlib/sys/_stdint.h"
2181 .file 5 "Drivers/CMSIS/Include/core_cm4.h"
2182 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
2183 .file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
2184 .file 8 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
2185 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
2186 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"
2187 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h"
2188 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"
2189 .file 13 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
2190 .file 14 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc.h"
2191 .file 15 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_adc_ex.h"
2192 .file 16 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cordic.h"
2193 .file 17 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dac.h"
2194 .file 18 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
2195 .file 19 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h"
2196 .file 20 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim.h"
2197 .file 21 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
2198 .file 22 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
2199 .file 23 "/usr/include/newlib/sys/lock.h"
2200 .file 24 "/usr/include/newlib/sys/_types.h"
2201 .file 25 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
2202 .file 26 "/usr/include/newlib/sys/reent.h"
2203 .file 27 "/usr/include/newlib/math.h"
2204 .file 28 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Include/arm_math.h"
2205 .file 29 "Core/Inc/rx.h"
2206 .file 30 "Core/Inc/tx.h"
2207 .file 31 "Core/Inc/bassofono.h"
ARM GAS /tmp/ccKbyuxk.s page 62
2208 .file 32 "Core/Inc/interface.h"
2209 .file 33 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_pwr_ex.h"
2210 .file 34 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h"
2211 .file 35 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_tim_ex.h"
2212 .file 36 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart_ex.h"
2213 .file 37 "<built-in>"
ARM GAS /tmp/ccKbyuxk.s page 63
DEFINED SYMBOLS
*ABS*:0000000000000000 main.c
/tmp/ccKbyuxk.s:16 .text.HAL_ADC_ConvCpltCallback:0000000000000000 $t
/tmp/ccKbyuxk.s:24 .text.HAL_ADC_ConvCpltCallback:0000000000000000 HAL_ADC_ConvCpltCallback
/tmp/ccKbyuxk.s:47 .text.HAL_ADC_ConvCpltCallback:0000000000000010 $d
*COM*:0000000000000001 rx_adc_buffer_ready
/tmp/ccKbyuxk.s:52 .text.HAL_DAC_ConvHalfCpltCallbackCh1:0000000000000000 $t
/tmp/ccKbyuxk.s:60 .text.HAL_DAC_ConvHalfCpltCallbackCh1:0000000000000000 HAL_DAC_ConvHalfCpltCallbackCh1
/tmp/ccKbyuxk.s:86 .text.HAL_DAC_ConvHalfCpltCallbackCh1:0000000000000010 $d
*COM*:0000000000000001 half_rx_dac_buffer_empty
/tmp/ccKbyuxk.s:92 .text.HAL_DAC_ConvCpltCallbackCh1:0000000000000000 $t
/tmp/ccKbyuxk.s:100 .text.HAL_DAC_ConvCpltCallbackCh1:0000000000000000 HAL_DAC_ConvCpltCallbackCh1
/tmp/ccKbyuxk.s:122 .text.HAL_DAC_ConvCpltCallbackCh1:000000000000000c $d
/tmp/ccKbyuxk.s:128 .text.HAL_DACEx_ConvHalfCpltCallbackCh2:0000000000000000 $t
/tmp/ccKbyuxk.s:136 .text.HAL_DACEx_ConvHalfCpltCallbackCh2:0000000000000000 HAL_DACEx_ConvHalfCpltCallbackCh2
/tmp/ccKbyuxk.s:171 .text.HAL_DACEx_ConvHalfCpltCallbackCh2:0000000000000018 $d
/tmp/ccKbyuxk.s:178 .text.HAL_DACEx_ConvCpltCallbackCh2:0000000000000000 $t
/tmp/ccKbyuxk.s:186 .text.HAL_DACEx_ConvCpltCallbackCh2:0000000000000000 HAL_DACEx_ConvCpltCallbackCh2
/tmp/ccKbyuxk.s:218 .text.HAL_DACEx_ConvCpltCallbackCh2:0000000000000018 $d
/tmp/ccKbyuxk.s:225 .text.HAL_TIM_PeriodElapsedCallback:0000000000000000 $t
/tmp/ccKbyuxk.s:233 .text.HAL_TIM_PeriodElapsedCallback:0000000000000000 HAL_TIM_PeriodElapsedCallback
/tmp/ccKbyuxk.s:256 .text.HAL_TIM_PeriodElapsedCallback:0000000000000010 $d
*COM*:0000000000000001 tick
/tmp/ccKbyuxk.s:262 .text.HAL_UART_RxCpltCallback:0000000000000000 $t
/tmp/ccKbyuxk.s:270 .text.HAL_UART_RxCpltCallback:0000000000000000 HAL_UART_RxCpltCallback
/tmp/ccKbyuxk.s:320 .text.HAL_UART_RxCpltCallback:0000000000000024 $d
*COM*:0000000000000090 huart1
/tmp/ccKbyuxk.s:327 .text.__io_putchar:0000000000000000 $t
/tmp/ccKbyuxk.s:335 .text.__io_putchar:0000000000000000 __io_putchar
/tmp/ccKbyuxk.s:374 .text.__io_putchar:000000000000001c $d
/tmp/ccKbyuxk.s:379 .text._write:0000000000000000 $t
/tmp/ccKbyuxk.s:387 .text._write:0000000000000000 _write
/tmp/ccKbyuxk.s:416 .text._write:0000000000000010 $d
/tmp/ccKbyuxk.s:421 .text.display_write:0000000000000000 $t
/tmp/ccKbyuxk.s:429 .text.display_write:0000000000000000 display_write
/tmp/ccKbyuxk.s:459 .text.display_write:0000000000000014 $d
/tmp/ccKbyuxk.s:464 .text.start_transmit:0000000000000000 $t
/tmp/ccKbyuxk.s:472 .text.start_transmit:0000000000000000 start_transmit
/tmp/ccKbyuxk.s:522 .text.start_transmit:0000000000000030 $d
*COM*:0000000000000014 hdac1
*COM*:000000000000004c htim8
/tmp/ccKbyuxk.s:530 .text.stop_transmit:0000000000000000 $t
/tmp/ccKbyuxk.s:538 .text.stop_transmit:0000000000000000 stop_transmit
/tmp/ccKbyuxk.s:581 .text.stop_transmit:0000000000000024 $d
/tmp/ccKbyuxk.s:588 .text.start_receive:0000000000000000 $t
/tmp/ccKbyuxk.s:596 .text.start_receive:0000000000000000 start_receive
/tmp/ccKbyuxk.s:654 .text.start_receive:0000000000000038 $d
*COM*:000000000000006c hadc1
*COM*:000000000000004c htim6
/tmp/ccKbyuxk.s:664 .text.stop_receive:0000000000000000 $t
/tmp/ccKbyuxk.s:672 .text.stop_receive:0000000000000000 stop_receive
/tmp/ccKbyuxk.s:723 .text.stop_receive:000000000000002c $d
/tmp/ccKbyuxk.s:731 .text.SystemClock_Config:0000000000000000 $t
/tmp/ccKbyuxk.s:739 .text.SystemClock_Config:0000000000000000 SystemClock_Config
/tmp/ccKbyuxk.s:899 .text.startup.main:0000000000000000 $t
/tmp/ccKbyuxk.s:907 .text.startup.main:0000000000000000 main
/tmp/ccKbyuxk.s:1609 .text.startup.main:00000000000002c8 $d
ARM GAS /tmp/ccKbyuxk.s page 64
*COM*:000000000000004c htim7
*COM*:0000000000000028 hcordic
/tmp/ccKbyuxk.s:1629 .text.startup.main:0000000000000304 $t
/tmp/ccKbyuxk.s:2095 .text.startup.main:000000000000052c $d
*COM*:000000000000003c hopamp1
/tmp/ccKbyuxk.s:2130 .text.Error_Handler:0000000000000000 $t
/tmp/ccKbyuxk.s:2138 .text.Error_Handler:0000000000000000 Error_Handler
*COM*:0000000000000060 hdma_usart1_tx
*COM*:0000000000000060 hdma_dac1_ch2
*COM*:0000000000000060 hdma_dac1_ch1
*COM*:0000000000000060 hdma_adc1
UNDEFINED SYMBOLS
lf_buffer_toggle
HAL_GPIO_TogglePin
tx_dac_buffer_toggle
half_tx_dac_buffer_empty
enqueue_cmd
HAL_UART_Receive_IT
uart_rx_buf
HAL_UART_Transmit
HAL_UART_Transmit_DMA
HAL_TIM_Base_Start
HAL_DAC_Start
HAL_DAC_Start_DMA
transmit
tx_dac_buffer
HAL_TIM_Base_Stop
HAL_DAC_Stop
HAL_DAC_Stop_DMA
HAL_ADC_Start_DMA
receive
adc_buffer
lf_buffer
HAL_ADC_Stop_DMA
memset
HAL_PWREx_ControlVoltageScaling
HAL_RCC_OscConfig
HAL_RCC_ClockConfig
HAL_RCCEx_PeriphCLKConfig
display_init
state_set_default
interface_set_default
display_update_mode
display_update_state
HAL_Init
HAL_GPIO_WritePin
HAL_GPIO_Init
HAL_NVIC_SetPriority
HAL_NVIC_EnableIRQ
HAL_DAC_Init
HAL_DAC_ConfigChannel
HAL_ADC_Init
HAL_ADCEx_MultiModeConfigChannel
HAL_ADC_ConfigChannel
HAL_TIM_Base_Init
HAL_TIMEx_MasterConfigSynchronization
ARM GAS /tmp/ccKbyuxk.s page 65
HAL_CORDIC_Init
HAL_CORDIC_Configure
HAL_UART_Init
state_changed
HAL_UARTEx_SetTxFifoThreshold
HAL_UARTEx_SetRxFifoThreshold
HAL_UARTEx_DisableFifoMode
HAL_TIM_ConfigClockSource
HAL_OPAMP_Init
st2_filter_init
audio_filter_init
HAL_TIM_Base_Start_IT
rx_mixer
am_demodulator
arm_fir_q31
tx_mixer
am_modulator
rx_measure_signal
dequeue_cmd
ssb_modulator
dc_modulator
dc_demodulator
ssb_demodulator
nco1_increment
modulation
prefilter_lf_buffer
if_I
if_Q
audio_filter_struct
tx_adc_buffer_ready
rx_cmd_rb_in_idx
rx_cmd_rb_out_idx
uart_tx_buf_in_idx
uart_tx_buf