Files
squeow/squeow_sw/build/squeow.lst
nzasch b9232f66b0 v1.2
2025-01-28 19:01:22 +01:00

1382 lines
55 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.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/ccxqDFkN.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "squeow.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Src/squeow.c"
20 .section .rodata.squeow_init.str1.4,"aMS",%progbits,1
21 .align 2
22 .LC0:
23 0000 73717565 .ascii "squeow init\000"
23 6F772069
23 6E697400
24 .section .text.squeow_init,"ax",%progbits
25 .align 1
26 .global squeow_init
27 .syntax unified
28 .thumb
29 .thumb_func
31 squeow_init:
32 .LFB332:
1:Src/squeow.c **** #include <main.h>
2:Src/squeow.c **** #include <math.h>
3:Src/squeow.c **** #include <stdio.h>
4:Src/squeow.c **** #include <stm32g4xx_hal_conf.h>
5:Src/squeow.c ****
6:Src/squeow.c **** #include "si5351.h"
7:Src/squeow.c **** #include "squeow.h"
8:Src/squeow.c **** #include "squeow_ui.h"
9:Src/squeow.c ****
10:Src/squeow.c **** /* SQUEOW
11:Src/squeow.c ****
12:Src/squeow.c **** TIM3 eventi 98304000/(49152×200) 10hz
13:Src/squeow.c **** TIM2 PWM 98304000/2048 48khz
14:Src/squeow.c ****
15:Src/squeow.c **** risoluzione PWM 4*2048 -> 8192 (13bit)
16:Src/squeow.c ****
17:Src/squeow.c **** */
18:Src/squeow.c ****
19:Src/squeow.c **** // SYS
20:Src/squeow.c **** uint8_t sys_tick, sys_tick_prescale, pwm_tick;
21:Src/squeow.c ****
22:Src/squeow.c **** // UART
23:Src/squeow.c **** uint8_t UART_RX_buf[UART_RX_BUF_SIZE];
24:Src/squeow.c ****
ARM GAS /tmp/ccxqDFkN.s page 2
25:Src/squeow.c **** // SYNTH
26:Src/squeow.c **** uint32_t freq;
27:Src/squeow.c ****
28:Src/squeow.c **** // ADC1
29:Src/squeow.c **** uint16_t adc1_valore;
30:Src/squeow.c ****
31:Src/squeow.c **** // ADC2
32:Src/squeow.c **** uint16_t adc2_valori[4];
33:Src/squeow.c **** uint8_t adc2_done, adc_blocco, adc_allarmi[4];
34:Src/squeow.c ****
35:Src/squeow.c **** // audio
36:Src/squeow.c **** uint16_t sample_value;
37:Src/squeow.c **** uint8_t stato_audio;
38:Src/squeow.c **** double sine_increment;
39:Src/squeow.c **** uint16_t samples_ringbuf[SAMPLES_BUFFER_SIZE]; ///< buffer ad anello dei dati RX
40:Src/squeow.c **** uint32_t samples_ringbuf_input_index, samples_ringbuf_output_index;
41:Src/squeow.c **** uint8_t usb_audio_tick;
42:Src/squeow.c ****
43:Src/squeow.c **** // VU
44:Src/squeow.c **** uint8_t analog_wd_status;
45:Src/squeow.c ****
46:Src/squeow.c **** // MOD
47:Src/squeow.c **** uint16_t pwm_value1, pwm_value2, pwm_value3, pwm_value4;
48:Src/squeow.c **** uint8_t rails_number;
49:Src/squeow.c ****
50:Src/squeow.c **** // ###################################
51:Src/squeow.c ****
52:Src/squeow.c **** void squeow_init(void) {
33 .loc 1 52 24 view -0
34 .cfi_startproc
35 @ args = 0, pretend = 0, frame = 0
36 @ frame_needed = 0, uses_anonymous_args = 0
37 0000 08B5 push {r3, lr}
38 .LCFI0:
39 .cfi_def_cfa_offset 8
40 .cfi_offset 3, -8
41 .cfi_offset 14, -4
53:Src/squeow.c **** seriow_log(2, "squeow init");
42 .loc 1 53 5 view .LVU1
43 0002 1149 ldr r1, .L3+8
44 0004 0220 movs r0, #2
45 0006 FFF7FEFF bl seriow_log
46 .LVL0:
54:Src/squeow.c **** sine_increment = 0.4;
47 .loc 1 54 5 view .LVU2
48 .loc 1 54 20 is_stmt 0 view .LVU3
49 000a 104B ldr r3, .L3+12
50 000c 0CA1 adr r1, .L3
51 000e D1E90001 ldrd r0, [r1]
52 0012 C3E90001 strd r0, [r3]
55:Src/squeow.c **** samples_ringbuf_input_index = 0;
53 .loc 1 55 5 is_stmt 1 view .LVU4
54 .loc 1 55 33 is_stmt 0 view .LVU5
55 0016 0023 movs r3, #0
56 0018 0D4A ldr r2, .L3+16
57 001a 1360 str r3, [r2]
56:Src/squeow.c **** samples_ringbuf_output_index = 0;
ARM GAS /tmp/ccxqDFkN.s page 3
58 .loc 1 56 5 is_stmt 1 view .LVU6
59 .loc 1 56 34 is_stmt 0 view .LVU7
60 001c 0D4A ldr r2, .L3+20
61 001e 1360 str r3, [r2]
57:Src/squeow.c **** freq = DEFAULT_SYNTH_FREQUENCY;
62 .loc 1 57 5 is_stmt 1 view .LVU8
63 .loc 1 57 10 is_stmt 0 view .LVU9
64 0020 0D4B ldr r3, .L3+24
65 0022 0E4A ldr r2, .L3+28
66 0024 1A60 str r2, [r3]
58:Src/squeow.c **** adc2_valori[0] = 10;
67 .loc 1 58 5 is_stmt 1 view .LVU10
68 .loc 1 58 20 is_stmt 0 view .LVU11
69 0026 0E4B ldr r3, .L3+32
70 0028 0A22 movs r2, #10
71 002a 1A80 strh r2, [r3] @ movhi
59:Src/squeow.c **** adc2_valori[1] = 20;
72 .loc 1 59 5 is_stmt 1 view .LVU12
73 .loc 1 59 20 is_stmt 0 view .LVU13
74 002c 1422 movs r2, #20
75 002e 5A80 strh r2, [r3, #2] @ movhi
60:Src/squeow.c **** adc2_valori[2] = 30;
76 .loc 1 60 5 is_stmt 1 view .LVU14
77 .loc 1 60 20 is_stmt 0 view .LVU15
78 0030 1E22 movs r2, #30
79 0032 9A80 strh r2, [r3, #4] @ movhi
61:Src/squeow.c **** adc2_valori[3] = 40;
80 .loc 1 61 5 is_stmt 1 view .LVU16
81 .loc 1 61 20 is_stmt 0 view .LVU17
82 0034 2822 movs r2, #40
83 0036 DA80 strh r2, [r3, #6] @ movhi
62:Src/squeow.c **** }
84 .loc 1 62 1 view .LVU18
85 0038 08BD pop {r3, pc}
86 .L4:
87 003a 00BFAFF3 .align 3
87 0080
88 .L3:
89 0040 9A999999 .word -1717986918
90 0044 9999D93F .word 1071225241
91 0048 00000000 .word .LC0
92 004c 00000000 .word sine_increment
93 0050 00000000 .word samples_ringbuf_input_index
94 0054 00000000 .word samples_ringbuf_output_index
95 0058 00000000 .word freq
96 005c 98BC1400 .word 1359000
97 0060 00000000 .word adc2_valori
98 .cfi_endproc
99 .LFE332:
101 .section .text.sat_sub,"ax",%progbits
102 .align 1
103 .global sat_sub
104 .syntax unified
105 .thumb
106 .thumb_func
108 sat_sub:
109 .LVL1:
ARM GAS /tmp/ccxqDFkN.s page 4
110 .LFB333:
63:Src/squeow.c ****
64:Src/squeow.c **** uint32_t sat_sub(uint16_t x, uint16_t y) {
111 .loc 1 64 42 is_stmt 1 view -0
112 .cfi_startproc
113 @ args = 0, pretend = 0, frame = 0
114 @ frame_needed = 0, uses_anonymous_args = 0
115 @ link register save eliminated.
65:Src/squeow.c **** uint16_t res = x - y;
116 .loc 1 65 5 view .LVU20
117 .loc 1 65 14 is_stmt 0 view .LVU21
118 0000 411A subs r1, r0, r1
119 .LVL2:
120 .loc 1 65 14 view .LVU22
121 0002 89B2 uxth r1, r1
122 .LVL3:
66:Src/squeow.c **** res &= -(res <= x);
123 .loc 1 66 5 is_stmt 1 view .LVU23
124 .loc 1 66 18 is_stmt 0 view .LVU24
125 0004 8842 cmp r0, r1
126 0006 34BF ite cc
127 0008 0020 movcc r0, #0
128 .LVL4:
129 .loc 1 66 18 view .LVU25
130 000a 0120 movcs r0, #1
131 .loc 1 66 9 view .LVU26
132 000c 10FB01F0 smulbb r0, r0, r1
133 .LVL5:
67:Src/squeow.c **** return res;
134 .loc 1 67 5 is_stmt 1 view .LVU27
68:Src/squeow.c **** }
135 .loc 1 68 1 is_stmt 0 view .LVU28
136 0010 80B2 uxth r0, r0
137 .loc 1 68 1 view .LVU29
138 0012 7047 bx lr
139 .cfi_endproc
140 .LFE333:
142 .global __aeabi_dadd
143 .global __aeabi_dcmpge
144 .global __aeabi_dmul
145 .global __aeabi_d2uiz
146 .section .text.u12_sine,"ax",%progbits
147 .align 1
148 .global u12_sine
149 .syntax unified
150 .thumb
151 .thumb_func
153 u12_sine:
154 .LFB334:
69:Src/squeow.c ****
70:Src/squeow.c **** uint16_t u12_sine(void) {
155 .loc 1 70 25 is_stmt 1 view -0
156 .cfi_startproc
157 @ args = 0, pretend = 0, frame = 0
158 @ frame_needed = 0, uses_anonymous_args = 0
159 0000 10B5 push {r4, lr}
160 .LCFI1:
ARM GAS /tmp/ccxqDFkN.s page 5
161 .cfi_def_cfa_offset 8
162 .cfi_offset 4, -8
163 .cfi_offset 14, -4
71:Src/squeow.c **** static double angle;
164 .loc 1 71 5 view .LVU31
72:Src/squeow.c **** angle += sine_increment;
165 .loc 1 72 5 view .LVU32
166 .loc 1 72 11 is_stmt 0 view .LVU33
167 0002 194C ldr r4, .L11+16
168 0004 194B ldr r3, .L11+20
169 0006 D3E90023 ldrd r2, [r3]
170 000a D4E90001 ldrd r0, [r4]
171 000e FFF7FEFF bl __aeabi_dadd
172 .LVL6:
173 0012 0246 mov r2, r0
174 0014 0B46 mov r3, r1
175 0016 C4E90023 strd r2, [r4]
73:Src/squeow.c **** if (angle >= 6.28)
176 .loc 1 73 5 is_stmt 1 view .LVU34
177 .loc 1 73 8 is_stmt 0 view .LVU35
178 001a 0FA3 adr r3, .L11
179 001c D3E90023 ldrd r2, [r3]
180 0020 FFF7FEFF bl __aeabi_dcmpge
181 .LVL7:
182 0024 18B1 cbz r0, .L7
74:Src/squeow.c **** angle = 0;
183 .loc 1 74 9 is_stmt 1 view .LVU36
184 .loc 1 74 15 is_stmt 0 view .LVU37
185 0026 0020 movs r0, #0
186 0028 0021 movs r1, #0
187 002a C4E90001 strd r0, [r4]
188 .L7:
75:Src/squeow.c **** return (uint16_t)((sin(angle) * 0x7ff) + 0x7ff);
189 .loc 1 75 5 is_stmt 1 view .LVU38
190 .loc 1 75 24 is_stmt 0 view .LVU39
191 002e 0E4B ldr r3, .L11+16
192 0030 93ED000B vldr.64 d0, [r3]
193 0034 FFF7FEFF bl sin
194 .LVL8:
195 0038 51EC100B vmov r0, r1, d0
196 .loc 1 75 35 discriminator 1 view .LVU40
197 003c 08A3 adr r3, .L11+8
198 003e D3E90023 ldrd r2, [r3]
199 0042 FFF7FEFF bl __aeabi_dmul
200 .LVL9:
201 .loc 1 75 44 discriminator 1 view .LVU41
202 0046 06A3 adr r3, .L11+8
203 0048 D3E90023 ldrd r2, [r3]
204 004c FFF7FEFF bl __aeabi_dadd
205 .LVL10:
206 .loc 1 75 12 discriminator 1 view .LVU42
207 0050 FFF7FEFF bl __aeabi_d2uiz
208 .LVL11:
76:Src/squeow.c **** }
209 .loc 1 76 1 view .LVU43
210 0054 80B2 uxth r0, r0
211 0056 10BD pop {r4, pc}
ARM GAS /tmp/ccxqDFkN.s page 6
212 .L12:
213 .align 3
214 .L11:
215 0058 1F85EB51 .word 1374389535
216 005c B81E1940 .word 1075388088
217 0060 00000000 .word 0
218 0064 00FC9F40 .word 1084226560
219 0068 00000000 .word angle.0
220 006c 00000000 .word sine_increment
221 .cfi_endproc
222 .LFE334:
224 .section .text.ringbuf_increment,"ax",%progbits
225 .align 1
226 .global ringbuf_increment
227 .syntax unified
228 .thumb
229 .thumb_func
231 ringbuf_increment:
232 .LVL12:
233 .LFB338:
77:Src/squeow.c ****
78:Src/squeow.c **** /*
79:Src/squeow.c **** uint16_t get_adc_sample(void) {
80:Src/squeow.c **** uint16_t adc_sample_value;
81:Src/squeow.c **** // stato_audio == STATO_AUDIO_ADC;
82:Src/squeow.c **** HAL_ADC_Start(&hadc1);
83:Src/squeow.c **** if (HAL_ADC_PollForConversion(&hadc1, 10) == HAL_OK) {
84:Src/squeow.c **** // store_sample(HAL_ADC_GetValue(&hadc1) << 4);
85:Src/squeow.c **** adc_sample_value = HAL_ADC_GetValue(&hadc1);
86:Src/squeow.c **** }
87:Src/squeow.c **** HAL_ADC_Stop(&hadc1);
88:Src/squeow.c **** return adc_sample_value;
89:Src/squeow.c **** }
90:Src/squeow.c **** */
91:Src/squeow.c ****
92:Src/squeow.c **** void store_samples(uint16_t *data, uint32_t size) {
93:Src/squeow.c **** for (uint32_t i = 0; i < size; ++i) {
94:Src/squeow.c **** store_sample(data[i]);
95:Src/squeow.c **** }
96:Src/squeow.c **** }
97:Src/squeow.c ****
98:Src/squeow.c **** void store_sample(uint16_t sample) {
99:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = sample;
100:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_input_index, SAMPLES_BUFFER_SIZE_MASK);
101:Src/squeow.c **** }
102:Src/squeow.c ****
103:Src/squeow.c **** uint16_t get_sample(void) {
104:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_output_index, SAMPLES_BUFFER_SIZE_MASK);
105:Src/squeow.c **** return samples_ringbuf[samples_ringbuf_output_index];
106:Src/squeow.c **** }
107:Src/squeow.c ****
108:Src/squeow.c **** uint32_t ringbuf_increment(uint32_t *index, uint32_t buff_size_mask) {
234 .loc 1 108 70 is_stmt 1 view -0
235 .cfi_startproc
236 @ args = 0, pretend = 0, frame = 0
237 @ frame_needed = 0, uses_anonymous_args = 0
238 @ link register save eliminated.
ARM GAS /tmp/ccxqDFkN.s page 7
239 .loc 1 108 70 is_stmt 0 view .LVU45
240 0000 0246 mov r2, r0
109:Src/squeow.c **** (*index)++;
241 .loc 1 109 5 is_stmt 1 view .LVU46
242 .loc 1 109 6 is_stmt 0 view .LVU47
243 0002 0368 ldr r3, [r0]
244 .loc 1 109 13 view .LVU48
245 0004 0133 adds r3, r3, #1
246 0006 0360 str r3, [r0]
110:Src/squeow.c **** *index &= buff_size_mask;
247 .loc 1 110 5 is_stmt 1 view .LVU49
248 .loc 1 110 12 is_stmt 0 view .LVU50
249 0008 03EA0100 and r0, r3, r1
250 .LVL13:
251 .loc 1 110 12 view .LVU51
252 000c 1060 str r0, [r2]
111:Src/squeow.c **** return *index;
253 .loc 1 111 5 is_stmt 1 view .LVU52
112:Src/squeow.c **** }
254 .loc 1 112 1 is_stmt 0 view .LVU53
255 000e 7047 bx lr
256 .cfi_endproc
257 .LFE338:
259 .section .text.store_sample,"ax",%progbits
260 .align 1
261 .global store_sample
262 .syntax unified
263 .thumb
264 .thumb_func
266 store_sample:
267 .LVL14:
268 .LFB336:
98:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = sample;
269 .loc 1 98 36 is_stmt 1 view -0
270 .cfi_startproc
271 @ args = 0, pretend = 0, frame = 0
272 @ frame_needed = 0, uses_anonymous_args = 0
98:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = sample;
273 .loc 1 98 36 is_stmt 0 view .LVU55
274 0000 08B5 push {r3, lr}
275 .LCFI2:
276 .cfi_def_cfa_offset 8
277 .cfi_offset 3, -8
278 .cfi_offset 14, -4
99:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_input_index, SAMPLES_BUFFER_SIZE_MASK);
279 .loc 1 99 5 is_stmt 1 view .LVU56
99:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_input_index, SAMPLES_BUFFER_SIZE_MASK);
280 .loc 1 99 20 is_stmt 0 view .LVU57
281 0002 054B ldr r3, .L16
282 0004 1968 ldr r1, [r3]
99:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_input_index, SAMPLES_BUFFER_SIZE_MASK);
283 .loc 1 99 50 view .LVU58
284 0006 054A ldr r2, .L16+4
285 0008 22F81100 strh r0, [r2, r1, lsl #1] @ movhi
100:Src/squeow.c **** }
286 .loc 1 100 5 is_stmt 1 view .LVU59
287 000c 40F2FF31 movw r1, #1023
ARM GAS /tmp/ccxqDFkN.s page 8
288 0010 1846 mov r0, r3
289 .LVL15:
100:Src/squeow.c **** }
290 .loc 1 100 5 is_stmt 0 view .LVU60
291 0012 FFF7FEFF bl ringbuf_increment
292 .LVL16:
101:Src/squeow.c ****
293 .loc 1 101 1 view .LVU61
294 0016 08BD pop {r3, pc}
295 .L17:
296 .align 2
297 .L16:
298 0018 00000000 .word samples_ringbuf_input_index
299 001c 00000000 .word samples_ringbuf
300 .cfi_endproc
301 .LFE336:
303 .section .text.store_samples,"ax",%progbits
304 .align 1
305 .global store_samples
306 .syntax unified
307 .thumb
308 .thumb_func
310 store_samples:
311 .LVL17:
312 .LFB335:
92:Src/squeow.c **** for (uint32_t i = 0; i < size; ++i) {
313 .loc 1 92 51 is_stmt 1 view -0
314 .cfi_startproc
315 @ args = 0, pretend = 0, frame = 0
316 @ frame_needed = 0, uses_anonymous_args = 0
92:Src/squeow.c **** for (uint32_t i = 0; i < size; ++i) {
317 .loc 1 92 51 is_stmt 0 view .LVU63
318 0000 70B5 push {r4, r5, r6, lr}
319 .LCFI3:
320 .cfi_def_cfa_offset 16
321 .cfi_offset 4, -16
322 .cfi_offset 5, -12
323 .cfi_offset 6, -8
324 .cfi_offset 14, -4
325 0002 0646 mov r6, r0
326 0004 0D46 mov r5, r1
93:Src/squeow.c **** store_sample(data[i]);
327 .loc 1 93 5 is_stmt 1 view .LVU64
328 .LBB2:
93:Src/squeow.c **** store_sample(data[i]);
329 .loc 1 93 10 view .LVU65
330 .LVL18:
93:Src/squeow.c **** store_sample(data[i]);
331 .loc 1 93 19 is_stmt 0 view .LVU66
332 0006 0024 movs r4, #0
93:Src/squeow.c **** store_sample(data[i]);
333 .loc 1 93 5 view .LVU67
334 0008 04E0 b .L19
335 .LVL19:
336 .L20:
94:Src/squeow.c **** }
337 .loc 1 94 9 is_stmt 1 view .LVU68
ARM GAS /tmp/ccxqDFkN.s page 9
338 000a 36F81400 ldrh r0, [r6, r4, lsl #1]
339 000e FFF7FEFF bl store_sample
340 .LVL20:
93:Src/squeow.c **** store_sample(data[i]);
341 .loc 1 93 36 discriminator 3 view .LVU69
342 0012 0134 adds r4, r4, #1
343 .LVL21:
344 .L19:
93:Src/squeow.c **** store_sample(data[i]);
345 .loc 1 93 28 discriminator 1 view .LVU70
346 0014 AC42 cmp r4, r5
347 0016 F8D3 bcc .L20
348 .LBE2:
96:Src/squeow.c ****
349 .loc 1 96 1 is_stmt 0 view .LVU71
350 0018 70BD pop {r4, r5, r6, pc}
96:Src/squeow.c ****
351 .loc 1 96 1 view .LVU72
352 .cfi_endproc
353 .LFE335:
355 .section .text.get_sample,"ax",%progbits
356 .align 1
357 .global get_sample
358 .syntax unified
359 .thumb
360 .thumb_func
362 get_sample:
363 .LFB337:
103:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_output_index, SAMPLES_BUFFER_SIZE_MASK);
364 .loc 1 103 27 is_stmt 1 view -0
365 .cfi_startproc
366 @ args = 0, pretend = 0, frame = 0
367 @ frame_needed = 0, uses_anonymous_args = 0
368 0000 10B5 push {r4, lr}
369 .LCFI4:
370 .cfi_def_cfa_offset 8
371 .cfi_offset 4, -8
372 .cfi_offset 14, -4
104:Src/squeow.c **** return samples_ringbuf[samples_ringbuf_output_index];
373 .loc 1 104 5 view .LVU74
374 0002 054C ldr r4, .L24
375 0004 40F2FF31 movw r1, #1023
376 0008 2046 mov r0, r4
377 000a FFF7FEFF bl ringbuf_increment
378 .LVL22:
105:Src/squeow.c **** }
379 .loc 1 105 5 view .LVU75
105:Src/squeow.c **** }
380 .loc 1 105 27 is_stmt 0 view .LVU76
381 000e 2268 ldr r2, [r4]
106:Src/squeow.c ****
382 .loc 1 106 1 view .LVU77
383 0010 024B ldr r3, .L24+4
384 0012 33F81200 ldrh r0, [r3, r2, lsl #1]
385 0016 10BD pop {r4, pc}
386 .L25:
387 .align 2
ARM GAS /tmp/ccxqDFkN.s page 10
388 .L24:
389 0018 00000000 .word samples_ringbuf_output_index
390 001c 00000000 .word samples_ringbuf
391 .cfi_endproc
392 .LFE337:
394 .section .text.store_buffer,"ax",%progbits
395 .align 1
396 .global store_buffer
397 .syntax unified
398 .thumb
399 .thumb_func
401 store_buffer:
402 .LVL23:
403 .LFB339:
113:Src/squeow.c ****
114:Src/squeow.c **** void store_buffer(uint8_t *buf, uint32_t size) {
404 .loc 1 114 48 is_stmt 1 view -0
405 .cfi_startproc
406 @ args = 0, pretend = 0, frame = 0
407 @ frame_needed = 0, uses_anonymous_args = 0
408 .loc 1 114 48 is_stmt 0 view .LVU79
409 0000 70B5 push {r4, r5, r6, lr}
410 .LCFI5:
411 .cfi_def_cfa_offset 16
412 .cfi_offset 4, -16
413 .cfi_offset 5, -12
414 .cfi_offset 6, -8
415 .cfi_offset 14, -4
416 0002 0646 mov r6, r0
417 0004 0D46 mov r5, r1
115:Src/squeow.c **** for (uint32_t s = 0; s < size / 4; s++) {
418 .loc 1 115 5 is_stmt 1 view .LVU80
419 .LBB3:
420 .loc 1 115 10 view .LVU81
421 .LVL24:
422 .loc 1 115 19 is_stmt 0 view .LVU82
423 0006 0024 movs r4, #0
424 .loc 1 115 5 view .LVU83
425 0008 05E0 b .L27
426 .LVL25:
427 .L28:
428 .LBB4:
116:Src/squeow.c **** uint16_t LL = buf[s * 2];
429 .loc 1 116 9 is_stmt 1 view .LVU84
117:Src/squeow.c **** uint16_t RR = buf[(s * 2) + 1];
430 .loc 1 117 9 view .LVU85
431 .loc 1 117 26 is_stmt 0 view .LVU86
432 000a 06EB4403 add r3, r6, r4, lsl #1
433 .LVL26:
118:Src/squeow.c **** store_sample(RR);
434 .loc 1 118 9 is_stmt 1 view .LVU87
435 000e 5878 ldrb r0, [r3, #1] @ zero_extendqisi2
436 0010 FFF7FEFF bl store_sample
437 .LVL27:
438 .loc 1 118 9 is_stmt 0 view .LVU88
439 .LBE4:
115:Src/squeow.c **** uint16_t LL = buf[s * 2];
ARM GAS /tmp/ccxqDFkN.s page 11
440 .loc 1 115 41 is_stmt 1 discriminator 3 view .LVU89
441 0014 0134 adds r4, r4, #1
442 .LVL28:
443 .L27:
115:Src/squeow.c **** uint16_t LL = buf[s * 2];
444 .loc 1 115 28 discriminator 1 view .LVU90
445 0016 B4EB950F cmp r4, r5, lsr #2
446 001a F6D3 bcc .L28
447 .LBE3:
119:Src/squeow.c **** }
120:Src/squeow.c **** }
448 .loc 1 120 1 is_stmt 0 view .LVU91
449 001c 70BD pop {r4, r5, r6, pc}
450 .loc 1 120 1 view .LVU92
451 .cfi_endproc
452 .LFE339:
454 .section .text.vu_meter,"ax",%progbits
455 .align 1
456 .global vu_meter
457 .syntax unified
458 .thumb
459 .thumb_func
461 vu_meter:
462 .LVL29:
463 .LFB340:
121:Src/squeow.c ****
122:Src/squeow.c **** int vu_meter(uint16_t sample) {
464 .loc 1 122 31 is_stmt 1 view -0
465 .cfi_startproc
466 @ args = 0, pretend = 0, frame = 0
467 @ frame_needed = 0, uses_anonymous_args = 0
468 @ link register save eliminated.
123:Src/squeow.c **** #define ZEROD 2047
124:Src/squeow.c **** #define ZEROU 2048
125:Src/squeow.c **** uint16_t abs_sample;
469 .loc 1 125 5 view .LVU94
126:Src/squeow.c **** uint8_t scaled_abs_sample;
470 .loc 1 126 5 view .LVU95
127:Src/squeow.c **** abs_sample = (sample > ZEROD) ? sample - ZEROU : ZEROD - sample;
471 .loc 1 127 5 view .LVU96
472 .loc 1 127 16 is_stmt 0 view .LVU97
473 0000 B0F5006F cmp r0, #2048
474 0004 0AD3 bcc .L31
475 .loc 1 127 16 discriminator 1 view .LVU98
476 0006 A0F50063 sub r3, r0, #2048
477 000a 9BB2 uxth r3, r3
478 .L32:
479 .LVL30:
128:Src/squeow.c **** scaled_abs_sample = abs_sample >> 3;
480 .loc 1 128 5 is_stmt 1 view .LVU99
481 .loc 1 128 23 is_stmt 0 view .LVU100
482 000c C3F3C703 ubfx r3, r3, #3, #8
483 .LVL31:
129:Src/squeow.c ****
130:Src/squeow.c **** if (scaled_abs_sample >= vu_tmp_value)
484 .loc 1 130 5 is_stmt 1 view .LVU101
485 .loc 1 130 27 is_stmt 0 view .LVU102
ARM GAS /tmp/ccxqDFkN.s page 12
486 0010 054A ldr r2, .L35
487 0012 1078 ldrb r0, [r2] @ zero_extendqisi2
488 .LVL32:
489 .loc 1 130 8 view .LVU103
490 0014 9842 cmp r0, r3
491 0016 00D8 bhi .L30
131:Src/squeow.c **** return scaled_abs_sample;
492 .loc 1 131 9 is_stmt 1 view .LVU104
493 .loc 1 131 16 is_stmt 0 view .LVU105
494 0018 1846 mov r0, r3
495 .L30:
132:Src/squeow.c **** else {
133:Src/squeow.c **** return vu_tmp_value;
134:Src/squeow.c **** }
135:Src/squeow.c **** }
496 .loc 1 135 1 view .LVU106
497 001a 7047 bx lr
498 .LVL33:
499 .L31:
127:Src/squeow.c **** scaled_abs_sample = abs_sample >> 3;
500 .loc 1 127 16 discriminator 2 view .LVU107
501 001c C0F5FF63 rsb r3, r0, #2040
502 0020 0733 adds r3, r3, #7
503 0022 9BB2 uxth r3, r3
504 0024 F2E7 b .L32
505 .L36:
506 0026 00BF .align 2
507 .L35:
508 0028 00000000 .word vu_tmp_value
509 .cfi_endproc
510 .LFE340:
512 .section .rodata.adc_rileva_soglie.str1.4,"aMS",%progbits,1
513 .align 2
514 .LC1:
515 0000 41444330 .ascii "ADC0 threshold detect\000"
515 20746872
515 6573686F
515 6C642064
515 65746563
516 0016 0000 .align 2
517 .LC2:
518 0018 41444331 .ascii "ADC1 threshold detect\000"
518 20746872
518 6573686F
518 6C642064
518 65746563
519 002e 0000 .align 2
520 .LC3:
521 0030 41444333 .ascii "ADC3 threshold detect\000"
521 20746872
521 6573686F
521 6C642064
521 65746563
522 .section .text.adc_rileva_soglie,"ax",%progbits
523 .align 1
524 .global adc_rileva_soglie
525 .syntax unified
ARM GAS /tmp/ccxqDFkN.s page 13
526 .thumb
527 .thumb_func
529 adc_rileva_soglie:
530 .LVL34:
531 .LFB341:
136:Src/squeow.c ****
137:Src/squeow.c **** // adc
138:Src/squeow.c ****
139:Src/squeow.c **** void adc_rileva_soglie(uint16_t *adc_valori) {
532 .loc 1 139 46 is_stmt 1 view -0
533 .cfi_startproc
534 @ args = 0, pretend = 0, frame = 0
535 @ frame_needed = 0, uses_anonymous_args = 0
536 .loc 1 139 46 is_stmt 0 view .LVU109
537 0000 10B5 push {r4, lr}
538 .LCFI6:
539 .cfi_def_cfa_offset 8
540 .cfi_offset 4, -8
541 .cfi_offset 14, -4
542 0002 0446 mov r4, r0
140:Src/squeow.c **** if (adc_valori[0] > SOGLIA_TEMPERATURA) {
543 .loc 1 140 5 is_stmt 1 view .LVU110
544 .loc 1 140 19 is_stmt 0 view .LVU111
545 0004 0388 ldrh r3, [r0]
546 .loc 1 140 8 view .LVU112
547 0006 B3F5006F cmp r3, #2048
548 000a 08D8 bhi .L42
549 .LVL35:
550 .L38:
141:Src/squeow.c **** seriow_log(1, "ADC0 threshold detect");
142:Src/squeow.c **** HAL_GPIO_WritePin(TEMP_OL_GPIO_Port, TEMP_OL_Pin, 1);
143:Src/squeow.c **** adc_allarmi[0] = 1;
144:Src/squeow.c **** adc_blocco = 1;
145:Src/squeow.c **** }
146:Src/squeow.c **** if (adc_valori[1] > SOGLIA_CORRENTE) {
551 .loc 1 146 5 is_stmt 1 view .LVU113
552 .loc 1 146 19 is_stmt 0 view .LVU114
553 000c 6388 ldrh r3, [r4, #2]
554 .loc 1 146 8 view .LVU115
555 000e B3F5006F cmp r3, #2048
556 0012 13D8 bhi .L43
557 .L39:
147:Src/squeow.c **** seriow_log(1, "ADC1 threshold detect");
148:Src/squeow.c **** adc_allarmi[1] = 1;
149:Src/squeow.c **** adc_blocco = 1;
150:Src/squeow.c **** }
151:Src/squeow.c **** if (adc_valori[3] > SOGLIA_RIFLESSA) {
558 .loc 1 151 5 is_stmt 1 view .LVU116
559 .loc 1 151 19 is_stmt 0 view .LVU117
560 0014 E388 ldrh r3, [r4, #6]
561 .loc 1 151 8 view .LVU118
562 0016 B3F5006F cmp r3, #2048
563 001a 19D8 bhi .L44
564 .L37:
152:Src/squeow.c **** seriow_log(1, "ADC3 threshold detect");
153:Src/squeow.c **** HAL_GPIO_WritePin(REFL_OL_GPIO_Port, REFL_OL_Pin, 1);
154:Src/squeow.c **** adc_allarmi[3] = 1;
ARM GAS /tmp/ccxqDFkN.s page 14
155:Src/squeow.c **** adc_blocco = 1;
156:Src/squeow.c **** }
157:Src/squeow.c **** }
565 .loc 1 157 1 view .LVU119
566 001c 10BD pop {r4, pc}
567 .LVL36:
568 .L42:
141:Src/squeow.c **** HAL_GPIO_WritePin(TEMP_OL_GPIO_Port, TEMP_OL_Pin, 1);
569 .loc 1 141 9 is_stmt 1 view .LVU120
570 001e 1449 ldr r1, .L45
571 0020 0120 movs r0, #1
572 .LVL37:
141:Src/squeow.c **** HAL_GPIO_WritePin(TEMP_OL_GPIO_Port, TEMP_OL_Pin, 1);
573 .loc 1 141 9 is_stmt 0 view .LVU121
574 0022 FFF7FEFF bl seriow_log
575 .LVL38:
142:Src/squeow.c **** adc_allarmi[0] = 1;
576 .loc 1 142 9 is_stmt 1 view .LVU122
577 0026 0122 movs r2, #1
578 0028 2021 movs r1, #32
579 002a 1248 ldr r0, .L45+4
580 002c FFF7FEFF bl HAL_GPIO_WritePin
581 .LVL39:
143:Src/squeow.c **** adc_blocco = 1;
582 .loc 1 143 9 view .LVU123
143:Src/squeow.c **** adc_blocco = 1;
583 .loc 1 143 24 is_stmt 0 view .LVU124
584 0030 0123 movs r3, #1
585 0032 114A ldr r2, .L45+8
586 0034 1370 strb r3, [r2]
144:Src/squeow.c **** }
587 .loc 1 144 9 is_stmt 1 view .LVU125
144:Src/squeow.c **** }
588 .loc 1 144 20 is_stmt 0 view .LVU126
589 0036 114A ldr r2, .L45+12
590 0038 1370 strb r3, [r2]
591 003a E7E7 b .L38
592 .L43:
147:Src/squeow.c **** adc_allarmi[1] = 1;
593 .loc 1 147 9 is_stmt 1 view .LVU127
594 003c 1049 ldr r1, .L45+16
595 003e 0120 movs r0, #1
596 0040 FFF7FEFF bl seriow_log
597 .LVL40:
148:Src/squeow.c **** adc_blocco = 1;
598 .loc 1 148 9 view .LVU128
148:Src/squeow.c **** adc_blocco = 1;
599 .loc 1 148 24 is_stmt 0 view .LVU129
600 0044 0123 movs r3, #1
601 0046 0C4A ldr r2, .L45+8
602 0048 5370 strb r3, [r2, #1]
149:Src/squeow.c **** }
603 .loc 1 149 9 is_stmt 1 view .LVU130
149:Src/squeow.c **** }
604 .loc 1 149 20 is_stmt 0 view .LVU131
605 004a 0C4A ldr r2, .L45+12
606 004c 1370 strb r3, [r2]
ARM GAS /tmp/ccxqDFkN.s page 15
607 004e E1E7 b .L39
608 .L44:
152:Src/squeow.c **** HAL_GPIO_WritePin(REFL_OL_GPIO_Port, REFL_OL_Pin, 1);
609 .loc 1 152 9 is_stmt 1 view .LVU132
610 0050 0C49 ldr r1, .L45+20
611 0052 0120 movs r0, #1
612 0054 FFF7FEFF bl seriow_log
613 .LVL41:
153:Src/squeow.c **** adc_allarmi[3] = 1;
614 .loc 1 153 9 view .LVU133
615 0058 0122 movs r2, #1
616 005a 4021 movs r1, #64
617 005c 0548 ldr r0, .L45+4
618 005e FFF7FEFF bl HAL_GPIO_WritePin
619 .LVL42:
154:Src/squeow.c **** adc_blocco = 1;
620 .loc 1 154 9 view .LVU134
154:Src/squeow.c **** adc_blocco = 1;
621 .loc 1 154 24 is_stmt 0 view .LVU135
622 0062 0123 movs r3, #1
623 0064 044A ldr r2, .L45+8
624 0066 D370 strb r3, [r2, #3]
155:Src/squeow.c **** }
625 .loc 1 155 9 is_stmt 1 view .LVU136
155:Src/squeow.c **** }
626 .loc 1 155 20 is_stmt 0 view .LVU137
627 0068 044A ldr r2, .L45+12
628 006a 1370 strb r3, [r2]
629 .loc 1 157 1 view .LVU138
630 006c D6E7 b .L37
631 .L46:
632 006e 00BF .align 2
633 .L45:
634 0070 00000000 .word .LC1
635 0074 00040048 .word 1207960576
636 0078 00000000 .word adc_allarmi
637 007c 00000000 .word adc_blocco
638 0080 18000000 .word .LC2
639 0084 30000000 .word .LC3
640 .cfi_endproc
641 .LFE341:
643 .section .text.array_values_mean,"ax",%progbits
644 .align 1
645 .global array_values_mean
646 .syntax unified
647 .thumb
648 .thumb_func
650 array_values_mean:
651 .LVL43:
652 .LFB342:
158:Src/squeow.c ****
159:Src/squeow.c **** void array_values_mean(uint16_t *valori, uint16_t *medie, uint8_t dimensione){
653 .loc 1 159 78 is_stmt 1 view -0
654 .cfi_startproc
655 @ args = 0, pretend = 0, frame = 0
656 @ frame_needed = 0, uses_anonymous_args = 0
657 @ link register save eliminated.
ARM GAS /tmp/ccxqDFkN.s page 16
160:Src/squeow.c ****
161:Src/squeow.c **** }
658 .loc 1 161 1 view .LVU140
659 0000 7047 bx lr
660 .cfi_endproc
661 .LFE342:
663 .section .rodata.squeow_synth_init.str1.4,"aMS",%progbits,1
664 .align 2
665 .LC4:
666 0000 73796E74 .ascii "synth init\000"
666 6820696E
666 697400
667 .section .text.squeow_synth_init,"ax",%progbits
668 .align 1
669 .global squeow_synth_init
670 .syntax unified
671 .thumb
672 .thumb_func
674 squeow_synth_init:
675 .LFB343:
162:Src/squeow.c ****
163:Src/squeow.c **** // synth
164:Src/squeow.c ****
165:Src/squeow.c **** void squeow_synth_init(void) {
676 .loc 1 165 30 view -0
677 .cfi_startproc
678 @ args = 0, pretend = 0, frame = 0
679 @ frame_needed = 0, uses_anonymous_args = 0
680 0000 08B5 push {r3, lr}
681 .LCFI7:
682 .cfi_def_cfa_offset 8
683 .cfi_offset 3, -8
684 .cfi_offset 14, -4
166:Src/squeow.c **** // occhio che blocca!
167:Src/squeow.c **** seriow_log(2, "synth init");
685 .loc 1 167 5 view .LVU142
686 0002 0349 ldr r1, .L50
687 0004 0220 movs r0, #2
688 0006 FFF7FEFF bl seriow_log
689 .LVL44:
168:Src/squeow.c **** si5351_initialize();
690 .loc 1 168 5 view .LVU143
691 000a FFF7FEFF bl si5351_initialize
692 .LVL45:
169:Src/squeow.c **** }
693 .loc 1 169 1 is_stmt 0 view .LVU144
694 000e 08BD pop {r3, pc}
695 .L51:
696 .align 2
697 .L50:
698 0010 00000000 .word .LC4
699 .cfi_endproc
700 .LFE343:
702 .section .rodata.squeow_synth_set.str1.4,"aMS",%progbits,1
703 .align 2
704 .LC5:
705 0000 73796E74 .ascii "synth set freq\000"
ARM GAS /tmp/ccxqDFkN.s page 17
705 68207365
705 74206672
705 657100
706 .section .text.squeow_synth_set,"ax",%progbits
707 .align 1
708 .global squeow_synth_set
709 .syntax unified
710 .thumb
711 .thumb_func
713 squeow_synth_set:
714 .LVL46:
715 .LFB344:
170:Src/squeow.c ****
171:Src/squeow.c **** void squeow_synth_set(freq) {
716 .loc 1 171 29 is_stmt 1 view -0
717 .cfi_startproc
718 @ args = 0, pretend = 0, frame = 0
719 @ frame_needed = 0, uses_anonymous_args = 0
720 .loc 1 171 29 is_stmt 0 view .LVU146
721 0000 10B5 push {r4, lr}
722 .LCFI8:
723 .cfi_def_cfa_offset 8
724 .cfi_offset 4, -8
725 .cfi_offset 14, -4
726 0002 0446 mov r4, r0
172:Src/squeow.c **** seriow_log(2, "synth set freq");
727 .loc 1 172 5 is_stmt 1 view .LVU147
728 0004 0649 ldr r1, .L54
729 0006 0220 movs r0, #2
730 .LVL47:
731 .loc 1 172 5 is_stmt 0 view .LVU148
732 0008 FFF7FEFF bl seriow_log
733 .LVL48:
173:Src/squeow.c **** si5351_set_frequency(freq, 0);
734 .loc 1 173 5 is_stmt 1 view .LVU149
735 000c 0021 movs r1, #0
736 000e 2046 mov r0, r4
737 0010 FFF7FEFF bl si5351_set_frequency
738 .LVL49:
174:Src/squeow.c **** si5351_set_frequency(freq, 1);
739 .loc 1 174 5 view .LVU150
740 0014 0121 movs r1, #1
741 0016 2046 mov r0, r4
742 0018 FFF7FEFF bl si5351_set_frequency
743 .LVL50:
175:Src/squeow.c **** }
744 .loc 1 175 1 is_stmt 0 view .LVU151
745 001c 10BD pop {r4, pc}
746 .LVL51:
747 .L55:
748 .loc 1 175 1 view .LVU152
749 001e 00BF .align 2
750 .L54:
751 0020 00000000 .word .LC5
752 .cfi_endproc
753 .LFE344:
755 .section .rodata.squeow_synth_on.str1.4,"aMS",%progbits,1
ARM GAS /tmp/ccxqDFkN.s page 18
756 .align 2
757 .LC6:
758 0000 73796E74 .ascii "synth on\000"
758 68206F6E
758 00
759 .section .text.squeow_synth_on,"ax",%progbits
760 .align 1
761 .global squeow_synth_on
762 .syntax unified
763 .thumb
764 .thumb_func
766 squeow_synth_on:
767 .LFB345:
176:Src/squeow.c ****
177:Src/squeow.c **** void squeow_synth_on(void) {
768 .loc 1 177 28 is_stmt 1 view -0
769 .cfi_startproc
770 @ args = 0, pretend = 0, frame = 0
771 @ frame_needed = 0, uses_anonymous_args = 0
772 0000 08B5 push {r3, lr}
773 .LCFI9:
774 .cfi_def_cfa_offset 8
775 .cfi_offset 3, -8
776 .cfi_offset 14, -4
178:Src/squeow.c **** seriow_log(2, "synth on");
777 .loc 1 178 5 view .LVU154
778 0002 0549 ldr r1, .L58
779 0004 0220 movs r0, #2
780 0006 FFF7FEFF bl seriow_log
781 .LVL52:
179:Src/squeow.c **** si5351_on_clk(0);
782 .loc 1 179 5 view .LVU155
783 000a 0020 movs r0, #0
784 000c FFF7FEFF bl si5351_on_clk
785 .LVL53:
180:Src/squeow.c **** si5351_on_clk(1);
786 .loc 1 180 5 view .LVU156
787 0010 0120 movs r0, #1
788 0012 FFF7FEFF bl si5351_on_clk
789 .LVL54:
181:Src/squeow.c **** }
790 .loc 1 181 1 is_stmt 0 view .LVU157
791 0016 08BD pop {r3, pc}
792 .L59:
793 .align 2
794 .L58:
795 0018 00000000 .word .LC6
796 .cfi_endproc
797 .LFE345:
799 .section .rodata.squeow_synth_off.str1.4,"aMS",%progbits,1
800 .align 2
801 .LC7:
802 0000 73796E74 .ascii "synth off\000"
802 68206F66
802 6600
803 .section .text.squeow_synth_off,"ax",%progbits
804 .align 1
ARM GAS /tmp/ccxqDFkN.s page 19
805 .global squeow_synth_off
806 .syntax unified
807 .thumb
808 .thumb_func
810 squeow_synth_off:
811 .LFB346:
182:Src/squeow.c ****
183:Src/squeow.c **** void squeow_synth_off(void) {
812 .loc 1 183 29 is_stmt 1 view -0
813 .cfi_startproc
814 @ args = 0, pretend = 0, frame = 0
815 @ frame_needed = 0, uses_anonymous_args = 0
816 0000 08B5 push {r3, lr}
817 .LCFI10:
818 .cfi_def_cfa_offset 8
819 .cfi_offset 3, -8
820 .cfi_offset 14, -4
184:Src/squeow.c **** seriow_log(2, "synth off");
821 .loc 1 184 5 view .LVU159
822 0002 0549 ldr r1, .L62
823 0004 0220 movs r0, #2
824 0006 FFF7FEFF bl seriow_log
825 .LVL55:
185:Src/squeow.c **** si5351_off_clk(0);
826 .loc 1 185 5 view .LVU160
827 000a 0020 movs r0, #0
828 000c FFF7FEFF bl si5351_off_clk
829 .LVL56:
186:Src/squeow.c **** si5351_off_clk(1);
830 .loc 1 186 5 view .LVU161
831 0010 0120 movs r0, #1
832 0012 FFF7FEFF bl si5351_off_clk
833 .LVL57:
187:Src/squeow.c **** }
834 .loc 1 187 1 is_stmt 0 view .LVU162
835 0016 08BD pop {r3, pc}
836 .L63:
837 .align 2
838 .L62:
839 0018 00000000 .word .LC7
840 .cfi_endproc
841 .LFE346:
843 .section .bss.angle.0,"aw",%nobits
844 .align 3
847 angle.0:
848 0000 00000000 .space 8
848 00000000
849 .global rails_number
850 .section .bss.rails_number,"aw",%nobits
853 rails_number:
854 0000 00 .space 1
855 .global pwm_value4
856 .section .bss.pwm_value4,"aw",%nobits
857 .align 1
860 pwm_value4:
861 0000 0000 .space 2
862 .global pwm_value3
ARM GAS /tmp/ccxqDFkN.s page 20
863 .section .bss.pwm_value3,"aw",%nobits
864 .align 1
867 pwm_value3:
868 0000 0000 .space 2
869 .global pwm_value2
870 .section .bss.pwm_value2,"aw",%nobits
871 .align 1
874 pwm_value2:
875 0000 0000 .space 2
876 .global pwm_value1
877 .section .bss.pwm_value1,"aw",%nobits
878 .align 1
881 pwm_value1:
882 0000 0000 .space 2
883 .global analog_wd_status
884 .section .bss.analog_wd_status,"aw",%nobits
887 analog_wd_status:
888 0000 00 .space 1
889 .global usb_audio_tick
890 .section .bss.usb_audio_tick,"aw",%nobits
893 usb_audio_tick:
894 0000 00 .space 1
895 .global samples_ringbuf_output_index
896 .section .bss.samples_ringbuf_output_index,"aw",%nobits
897 .align 2
900 samples_ringbuf_output_index:
901 0000 00000000 .space 4
902 .global samples_ringbuf_input_index
903 .section .bss.samples_ringbuf_input_index,"aw",%nobits
904 .align 2
907 samples_ringbuf_input_index:
908 0000 00000000 .space 4
909 .global samples_ringbuf
910 .section .bss.samples_ringbuf,"aw",%nobits
911 .align 2
914 samples_ringbuf:
915 0000 00000000 .space 2048
915 00000000
915 00000000
915 00000000
915 00000000
916 .global sine_increment
917 .section .bss.sine_increment,"aw",%nobits
918 .align 3
921 sine_increment:
922 0000 00000000 .space 8
922 00000000
923 .global stato_audio
924 .section .bss.stato_audio,"aw",%nobits
927 stato_audio:
928 0000 00 .space 1
929 .global sample_value
930 .section .bss.sample_value,"aw",%nobits
931 .align 1
934 sample_value:
935 0000 0000 .space 2
936 .global adc_allarmi
ARM GAS /tmp/ccxqDFkN.s page 21
937 .section .bss.adc_allarmi,"aw",%nobits
938 .align 2
941 adc_allarmi:
942 0000 00000000 .space 4
943 .global adc_blocco
944 .section .bss.adc_blocco,"aw",%nobits
947 adc_blocco:
948 0000 00 .space 1
949 .global adc2_done
950 .section .bss.adc2_done,"aw",%nobits
953 adc2_done:
954 0000 00 .space 1
955 .global adc2_valori
956 .section .bss.adc2_valori,"aw",%nobits
957 .align 2
960 adc2_valori:
961 0000 00000000 .space 8
961 00000000
962 .global adc1_valore
963 .section .bss.adc1_valore,"aw",%nobits
964 .align 1
967 adc1_valore:
968 0000 0000 .space 2
969 .global freq
970 .section .bss.freq,"aw",%nobits
971 .align 2
974 freq:
975 0000 00000000 .space 4
976 .global UART_RX_buf
977 .section .bss.UART_RX_buf,"aw",%nobits
978 .align 2
981 UART_RX_buf:
982 0000 00000000 .space 64
982 00000000
982 00000000
982 00000000
982 00000000
983 .global pwm_tick
984 .section .bss.pwm_tick,"aw",%nobits
987 pwm_tick:
988 0000 00 .space 1
989 .global sys_tick_prescale
990 .section .bss.sys_tick_prescale,"aw",%nobits
993 sys_tick_prescale:
994 0000 00 .space 1
995 .global sys_tick
996 .section .bss.sys_tick,"aw",%nobits
999 sys_tick:
1000 0000 00 .space 1
1001 .text
1002 .Letext0:
1003 .file 2 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/mach
1004 .file 3 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/sys/
1005 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
1006 .file 5 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"
1007 .file 6 "Inc/squeow.h"
1008 .file 7 "Inc/squeow_ui.h"
ARM GAS /tmp/ccxqDFkN.s page 22
1009 .file 8 "Inc/si5351.h"
1010 .file 9 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/math
ARM GAS /tmp/ccxqDFkN.s page 23
DEFINED SYMBOLS
*ABS*:00000000 squeow.c
/tmp/ccxqDFkN.s:21 .rodata.squeow_init.str1.4:00000000 $d
/tmp/ccxqDFkN.s:25 .text.squeow_init:00000000 $t
/tmp/ccxqDFkN.s:31 .text.squeow_init:00000000 squeow_init
/tmp/ccxqDFkN.s:89 .text.squeow_init:00000040 $d
/tmp/ccxqDFkN.s:921 .bss.sine_increment:00000000 sine_increment
/tmp/ccxqDFkN.s:907 .bss.samples_ringbuf_input_index:00000000 samples_ringbuf_input_index
/tmp/ccxqDFkN.s:900 .bss.samples_ringbuf_output_index:00000000 samples_ringbuf_output_index
/tmp/ccxqDFkN.s:974 .bss.freq:00000000 freq
/tmp/ccxqDFkN.s:960 .bss.adc2_valori:00000000 adc2_valori
/tmp/ccxqDFkN.s:102 .text.sat_sub:00000000 $t
/tmp/ccxqDFkN.s:108 .text.sat_sub:00000000 sat_sub
/tmp/ccxqDFkN.s:147 .text.u12_sine:00000000 $t
/tmp/ccxqDFkN.s:153 .text.u12_sine:00000000 u12_sine
/tmp/ccxqDFkN.s:215 .text.u12_sine:00000058 $d
/tmp/ccxqDFkN.s:847 .bss.angle.0:00000000 angle.0
/tmp/ccxqDFkN.s:225 .text.ringbuf_increment:00000000 $t
/tmp/ccxqDFkN.s:231 .text.ringbuf_increment:00000000 ringbuf_increment
/tmp/ccxqDFkN.s:260 .text.store_sample:00000000 $t
/tmp/ccxqDFkN.s:266 .text.store_sample:00000000 store_sample
/tmp/ccxqDFkN.s:298 .text.store_sample:00000018 $d
/tmp/ccxqDFkN.s:914 .bss.samples_ringbuf:00000000 samples_ringbuf
/tmp/ccxqDFkN.s:304 .text.store_samples:00000000 $t
/tmp/ccxqDFkN.s:310 .text.store_samples:00000000 store_samples
/tmp/ccxqDFkN.s:356 .text.get_sample:00000000 $t
/tmp/ccxqDFkN.s:362 .text.get_sample:00000000 get_sample
/tmp/ccxqDFkN.s:389 .text.get_sample:00000018 $d
/tmp/ccxqDFkN.s:395 .text.store_buffer:00000000 $t
/tmp/ccxqDFkN.s:401 .text.store_buffer:00000000 store_buffer
/tmp/ccxqDFkN.s:455 .text.vu_meter:00000000 $t
/tmp/ccxqDFkN.s:461 .text.vu_meter:00000000 vu_meter
/tmp/ccxqDFkN.s:508 .text.vu_meter:00000028 $d
/tmp/ccxqDFkN.s:513 .rodata.adc_rileva_soglie.str1.4:00000000 $d
/tmp/ccxqDFkN.s:523 .text.adc_rileva_soglie:00000000 $t
/tmp/ccxqDFkN.s:529 .text.adc_rileva_soglie:00000000 adc_rileva_soglie
/tmp/ccxqDFkN.s:634 .text.adc_rileva_soglie:00000070 $d
/tmp/ccxqDFkN.s:941 .bss.adc_allarmi:00000000 adc_allarmi
/tmp/ccxqDFkN.s:947 .bss.adc_blocco:00000000 adc_blocco
/tmp/ccxqDFkN.s:644 .text.array_values_mean:00000000 $t
/tmp/ccxqDFkN.s:650 .text.array_values_mean:00000000 array_values_mean
/tmp/ccxqDFkN.s:664 .rodata.squeow_synth_init.str1.4:00000000 $d
/tmp/ccxqDFkN.s:668 .text.squeow_synth_init:00000000 $t
/tmp/ccxqDFkN.s:674 .text.squeow_synth_init:00000000 squeow_synth_init
/tmp/ccxqDFkN.s:698 .text.squeow_synth_init:00000010 $d
/tmp/ccxqDFkN.s:703 .rodata.squeow_synth_set.str1.4:00000000 $d
/tmp/ccxqDFkN.s:707 .text.squeow_synth_set:00000000 $t
/tmp/ccxqDFkN.s:713 .text.squeow_synth_set:00000000 squeow_synth_set
/tmp/ccxqDFkN.s:751 .text.squeow_synth_set:00000020 $d
/tmp/ccxqDFkN.s:756 .rodata.squeow_synth_on.str1.4:00000000 $d
/tmp/ccxqDFkN.s:760 .text.squeow_synth_on:00000000 $t
/tmp/ccxqDFkN.s:766 .text.squeow_synth_on:00000000 squeow_synth_on
/tmp/ccxqDFkN.s:795 .text.squeow_synth_on:00000018 $d
/tmp/ccxqDFkN.s:800 .rodata.squeow_synth_off.str1.4:00000000 $d
/tmp/ccxqDFkN.s:804 .text.squeow_synth_off:00000000 $t
/tmp/ccxqDFkN.s:810 .text.squeow_synth_off:00000000 squeow_synth_off
/tmp/ccxqDFkN.s:839 .text.squeow_synth_off:00000018 $d
ARM GAS /tmp/ccxqDFkN.s page 24
/tmp/ccxqDFkN.s:844 .bss.angle.0:00000000 $d
/tmp/ccxqDFkN.s:853 .bss.rails_number:00000000 rails_number
/tmp/ccxqDFkN.s:854 .bss.rails_number:00000000 $d
/tmp/ccxqDFkN.s:860 .bss.pwm_value4:00000000 pwm_value4
/tmp/ccxqDFkN.s:857 .bss.pwm_value4:00000000 $d
/tmp/ccxqDFkN.s:867 .bss.pwm_value3:00000000 pwm_value3
/tmp/ccxqDFkN.s:864 .bss.pwm_value3:00000000 $d
/tmp/ccxqDFkN.s:874 .bss.pwm_value2:00000000 pwm_value2
/tmp/ccxqDFkN.s:871 .bss.pwm_value2:00000000 $d
/tmp/ccxqDFkN.s:881 .bss.pwm_value1:00000000 pwm_value1
/tmp/ccxqDFkN.s:878 .bss.pwm_value1:00000000 $d
/tmp/ccxqDFkN.s:887 .bss.analog_wd_status:00000000 analog_wd_status
/tmp/ccxqDFkN.s:888 .bss.analog_wd_status:00000000 $d
/tmp/ccxqDFkN.s:893 .bss.usb_audio_tick:00000000 usb_audio_tick
/tmp/ccxqDFkN.s:894 .bss.usb_audio_tick:00000000 $d
/tmp/ccxqDFkN.s:897 .bss.samples_ringbuf_output_index:00000000 $d
/tmp/ccxqDFkN.s:904 .bss.samples_ringbuf_input_index:00000000 $d
/tmp/ccxqDFkN.s:911 .bss.samples_ringbuf:00000000 $d
/tmp/ccxqDFkN.s:918 .bss.sine_increment:00000000 $d
/tmp/ccxqDFkN.s:927 .bss.stato_audio:00000000 stato_audio
/tmp/ccxqDFkN.s:928 .bss.stato_audio:00000000 $d
/tmp/ccxqDFkN.s:934 .bss.sample_value:00000000 sample_value
/tmp/ccxqDFkN.s:931 .bss.sample_value:00000000 $d
/tmp/ccxqDFkN.s:938 .bss.adc_allarmi:00000000 $d
/tmp/ccxqDFkN.s:948 .bss.adc_blocco:00000000 $d
/tmp/ccxqDFkN.s:953 .bss.adc2_done:00000000 adc2_done
/tmp/ccxqDFkN.s:954 .bss.adc2_done:00000000 $d
/tmp/ccxqDFkN.s:957 .bss.adc2_valori:00000000 $d
/tmp/ccxqDFkN.s:967 .bss.adc1_valore:00000000 adc1_valore
/tmp/ccxqDFkN.s:964 .bss.adc1_valore:00000000 $d
/tmp/ccxqDFkN.s:971 .bss.freq:00000000 $d
/tmp/ccxqDFkN.s:981 .bss.UART_RX_buf:00000000 UART_RX_buf
/tmp/ccxqDFkN.s:978 .bss.UART_RX_buf:00000000 $d
/tmp/ccxqDFkN.s:987 .bss.pwm_tick:00000000 pwm_tick
/tmp/ccxqDFkN.s:988 .bss.pwm_tick:00000000 $d
/tmp/ccxqDFkN.s:993 .bss.sys_tick_prescale:00000000 sys_tick_prescale
/tmp/ccxqDFkN.s:994 .bss.sys_tick_prescale:00000000 $d
/tmp/ccxqDFkN.s:999 .bss.sys_tick:00000000 sys_tick
/tmp/ccxqDFkN.s:1000 .bss.sys_tick:00000000 $d
UNDEFINED SYMBOLS
seriow_log
__aeabi_dadd
__aeabi_dcmpge
__aeabi_dmul
__aeabi_d2uiz
sin
vu_tmp_value
HAL_GPIO_WritePin
si5351_initialize
si5351_set_frequency
si5351_on_clk
si5351_off_clk