primo commit

This commit is contained in:
nzasch
2023-07-02 17:09:41 +02:00
commit bfd044a2cb
338 changed files with 434202 additions and 0 deletions

623
squeow_sw/build/squeow.lst Normal file
View File

@@ -0,0 +1,623 @@
ARM GAS /tmp/ccGt6Pje.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 .text.audio_play,"ax",%progbits
21 .align 1
22 .global audio_play
23 .syntax unified
24 .thumb
25 .thumb_func
27 audio_play:
28 .LVL0:
29 .LFB332:
1:Src/squeow.c **** #include <main.h>
2:Src/squeow.c **** #include <stdio.h>
3:Src/squeow.c **** #include <stm32g4xx_hal_conf.h>
4:Src/squeow.c **** #include <math.h>
5:Src/squeow.c ****
6:Src/squeow.c **** #include "squeow.h"
7:Src/squeow.c ****
8:Src/squeow.c **** /* SQUEOW
9:Src/squeow.c ****
10:Src/squeow.c **** TIM3 eventi 98304000/(49152×200) 10hz
11:Src/squeow.c **** TIM2 PWM 98304000/2048 48khz
12:Src/squeow.c ****
13:Src/squeow.c **** risoluzione PWM 4*2048 -> 8192 (13bit)
14:Src/squeow.c ****
15:Src/squeow.c **** */
16:Src/squeow.c ****
17:Src/squeow.c **** uint8_t stato_audio;
18:Src/squeow.c **** uint16_t pwm_value, sample_value;
19:Src/squeow.c **** char display_buffer[16];
20:Src/squeow.c **** uint8_t rails_number;
21:Src/squeow.c **** uint16_t samples_ringbuf[SAMPLES_BUFFER_SIZE]; ///< buffer ad anello dei dati RX
22:Src/squeow.c **** uint16_t samples_ringbuf_input_index, samples_ringbuf_output_index;
23:Src/squeow.c ****
24:Src/squeow.c ****
25:Src/squeow.c **** void audio_play(uint16_t pbuf, uint8_t size){
30 .loc 1 25 45 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccGt6Pje.s page 2
34 @ link register save eliminated.
26:Src/squeow.c **** /*
27:Src/squeow.c **** char display_buffer[16];
28:Src/squeow.c **** uint16_t static indice;
29:Src/squeow.c **** indice++;
30:Src/squeow.c **** snprintf(display_buffer, 10, "n %d", indice);
31:Src/squeow.c **** ssd1306_SetCursor(0, 1);
32:Src/squeow.c **** ssd1306_WriteString(display_buffer, Font_11x18, White);
33:Src/squeow.c **** // ssd1306_UpdateScreen(&hi2c1);
34:Src/squeow.c **** */
35:Src/squeow.c **** for (uint8_t i=0; i<size; i++) {
35 .loc 1 35 2 view .LVU1
36 .LBB2:
37 .loc 1 35 7 view .LVU2
38 .loc 1 35 15 is_stmt 0 view .LVU3
39 0000 0023 movs r3, #0
40 .loc 1 35 2 view .LVU4
41 0002 01E0 b .L2
42 .LVL1:
43 .L3:
36:Src/squeow.c ****
37:Src/squeow.c **** }
44 .loc 1 37 2 is_stmt 1 discriminator 3 view .LVU5
35:Src/squeow.c ****
45 .loc 1 35 29 discriminator 3 view .LVU6
46 0004 0133 adds r3, r3, #1
47 .LVL2:
35:Src/squeow.c ****
48 .loc 1 35 29 is_stmt 0 discriminator 3 view .LVU7
49 0006 DBB2 uxtb r3, r3
50 .LVL3:
51 .L2:
35:Src/squeow.c ****
52 .loc 1 35 21 is_stmt 1 discriminator 1 view .LVU8
53 0008 8B42 cmp r3, r1
54 000a FBD3 bcc .L3
55 .LBE2:
38:Src/squeow.c ****
39:Src/squeow.c **** }
56 .loc 1 39 1 is_stmt 0 view .LVU9
57 000c 7047 bx lr
58 .cfi_endproc
59 .LFE332:
61 .section .text.sat_sub,"ax",%progbits
62 .align 1
63 .global sat_sub
64 .syntax unified
65 .thumb
66 .thumb_func
68 sat_sub:
69 .LVL4:
70 .LFB333:
40:Src/squeow.c ****
41:Src/squeow.c **** uint32_t sat_sub(uint16_t x, uint16_t y){
71 .loc 1 41 41 is_stmt 1 view -0
72 .cfi_startproc
73 @ args = 0, pretend = 0, frame = 0
ARM GAS /tmp/ccGt6Pje.s page 3
74 @ frame_needed = 0, uses_anonymous_args = 0
75 @ link register save eliminated.
42:Src/squeow.c **** uint16_t res = x - y;
76 .loc 1 42 5 view .LVU11
77 .loc 1 42 14 is_stmt 0 view .LVU12
78 0000 411A subs r1, r0, r1
79 .LVL5:
80 .loc 1 42 14 view .LVU13
81 0002 89B2 uxth r1, r1
82 .LVL6:
43:Src/squeow.c **** res &= -(res <= x);
83 .loc 1 43 5 is_stmt 1 view .LVU14
84 .loc 1 43 9 is_stmt 0 view .LVU15
85 0004 8842 cmp r0, r1
86 0006 4FF0FF30 mov r0, #-1
87 .LVL7:
88 .loc 1 43 9 view .LVU16
89 000a 38BF it cc
90 000c 0020 movcc r0, #0
91 .LVL8:
44:Src/squeow.c **** return res;
92 .loc 1 44 5 is_stmt 1 view .LVU17
45:Src/squeow.c **** }
93 .loc 1 45 1 is_stmt 0 view .LVU18
94 000e 0840 ands r0, r0, r1
95 .LVL9:
96 .loc 1 45 1 view .LVU19
97 0010 7047 bx lr
98 .cfi_endproc
99 .LFE333:
101 .global __aeabi_dadd
102 .global __aeabi_dcmpge
103 .global __aeabi_dmul
104 .global __aeabi_d2uiz
105 .section .text.u16_sine,"ax",%progbits
106 .align 1
107 .global u16_sine
108 .syntax unified
109 .thumb
110 .thumb_func
112 u16_sine:
113 .LFB334:
46:Src/squeow.c ****
47:Src/squeow.c **** uint16_t u16_sine(void){
114 .loc 1 47 24 is_stmt 1 view -0
115 .cfi_startproc
116 @ args = 0, pretend = 0, frame = 0
117 @ frame_needed = 0, uses_anonymous_args = 0
118 0000 10B5 push {r4, lr}
119 .LCFI0:
120 .cfi_def_cfa_offset 8
121 .cfi_offset 4, -8
122 .cfi_offset 14, -4
48:Src/squeow.c **** static double angle;
123 .loc 1 48 9 view .LVU21
49:Src/squeow.c **** angle += SINE_INCREMENT;
124 .loc 1 49 9 view .LVU22
ARM GAS /tmp/ccGt6Pje.s page 4
125 .loc 1 49 15 is_stmt 0 view .LVU23
126 0002 1B4C ldr r4, .L10+24
127 0004 14A3 adr r3, .L10
128 0006 D3E90023 ldrd r2, [r3]
129 000a D4E90001 ldrd r0, [r4]
130 000e FFF7FEFF bl __aeabi_dadd
131 .LVL10:
132 0012 0246 mov r2, r0
133 0014 0B46 mov r3, r1
134 0016 C4E90023 strd r2, [r4]
50:Src/squeow.c **** if(angle >= 6.28) angle = 0;
135 .loc 1 50 10 is_stmt 1 view .LVU24
136 .loc 1 50 12 is_stmt 0 view .LVU25
137 001a 11A3 adr r3, .L10+8
138 001c D3E90023 ldrd r2, [r3]
139 0020 FFF7FEFF bl __aeabi_dcmpge
140 .LVL11:
141 0024 18B1 cbz r0, .L6
142 .loc 1 50 28 is_stmt 1 discriminator 1 view .LVU26
143 .loc 1 50 34 is_stmt 0 discriminator 1 view .LVU27
144 0026 0020 movs r0, #0
145 0028 0021 movs r1, #0
146 002a C4E90001 strd r0, [r4]
147 .L6:
51:Src/squeow.c **** return (uint16_t)((sin(angle)*0x7fff)+0x7fff);
148 .loc 1 51 9 is_stmt 1 view .LVU28
149 .loc 1 51 28 is_stmt 0 view .LVU29
150 002e 104B ldr r3, .L10+24
151 0030 93ED000B vldr.64 d0, [r3]
152 0034 FFF7FEFF bl sin
153 .LVL12:
154 0038 51EC100B vmov r0, r1, d0
155 .loc 1 51 38 view .LVU30
156 003c 0AA3 adr r3, .L10+16
157 003e D3E90023 ldrd r2, [r3]
158 0042 FFF7FEFF bl __aeabi_dmul
159 .LVL13:
160 .loc 1 51 46 view .LVU31
161 0046 08A3 adr r3, .L10+16
162 0048 D3E90023 ldrd r2, [r3]
163 004c FFF7FEFF bl __aeabi_dadd
164 .LVL14:
165 .loc 1 51 16 view .LVU32
166 0050 FFF7FEFF bl __aeabi_d2uiz
167 .LVL15:
52:Src/squeow.c **** }
168 .loc 1 52 1 view .LVU33
169 0054 80B2 uxth r0, r0
170 0056 10BD pop {r4, pc}
171 .L11:
172 .align 3
173 .L10:
174 0058 7F6ABC74 .word 1958505087
175 005c 9318D43F .word 1070864531
176 0060 1F85EB51 .word 1374389535
177 0064 B81E1940 .word 1075388088
178 0068 00000000 .word 0
ARM GAS /tmp/ccGt6Pje.s page 5
179 006c C0FFDF40 .word 1088421824
180 0070 00000000 .word angle.1
181 .cfi_endproc
182 .LFE334:
184 .section .text.u12_sine,"ax",%progbits
185 .align 1
186 .global u12_sine
187 .syntax unified
188 .thumb
189 .thumb_func
191 u12_sine:
192 .LFB335:
53:Src/squeow.c ****
54:Src/squeow.c **** uint16_t u12_sine(void){
193 .loc 1 54 24 is_stmt 1 view -0
194 .cfi_startproc
195 @ args = 0, pretend = 0, frame = 0
196 @ frame_needed = 0, uses_anonymous_args = 0
197 0000 10B5 push {r4, lr}
198 .LCFI1:
199 .cfi_def_cfa_offset 8
200 .cfi_offset 4, -8
201 .cfi_offset 14, -4
55:Src/squeow.c **** static double angle;
202 .loc 1 55 9 view .LVU35
56:Src/squeow.c **** angle += SINE_INCREMENT;
203 .loc 1 56 9 view .LVU36
204 .loc 1 56 15 is_stmt 0 view .LVU37
205 0002 1B4C ldr r4, .L17+24
206 0004 14A3 adr r3, .L17
207 0006 D3E90023 ldrd r2, [r3]
208 000a D4E90001 ldrd r0, [r4]
209 000e FFF7FEFF bl __aeabi_dadd
210 .LVL16:
211 0012 0246 mov r2, r0
212 0014 0B46 mov r3, r1
213 0016 C4E90023 strd r2, [r4]
57:Src/squeow.c **** if(angle >= 6.28) angle = 0;
214 .loc 1 57 10 is_stmt 1 view .LVU38
215 .loc 1 57 12 is_stmt 0 view .LVU39
216 001a 11A3 adr r3, .L17+8
217 001c D3E90023 ldrd r2, [r3]
218 0020 FFF7FEFF bl __aeabi_dcmpge
219 .LVL17:
220 0024 18B1 cbz r0, .L13
221 .loc 1 57 28 is_stmt 1 discriminator 1 view .LVU40
222 .loc 1 57 34 is_stmt 0 discriminator 1 view .LVU41
223 0026 0020 movs r0, #0
224 0028 0021 movs r1, #0
225 002a C4E90001 strd r0, [r4]
226 .L13:
58:Src/squeow.c **** return (uint16_t)((sin(angle)*0x7ff)+0x7ff);
227 .loc 1 58 9 is_stmt 1 view .LVU42
228 .loc 1 58 28 is_stmt 0 view .LVU43
229 002e 104B ldr r3, .L17+24
230 0030 93ED000B vldr.64 d0, [r3]
231 0034 FFF7FEFF bl sin
ARM GAS /tmp/ccGt6Pje.s page 6
232 .LVL18:
233 0038 51EC100B vmov r0, r1, d0
234 .loc 1 58 38 view .LVU44
235 003c 0AA3 adr r3, .L17+16
236 003e D3E90023 ldrd r2, [r3]
237 0042 FFF7FEFF bl __aeabi_dmul
238 .LVL19:
239 .loc 1 58 45 view .LVU45
240 0046 08A3 adr r3, .L17+16
241 0048 D3E90023 ldrd r2, [r3]
242 004c FFF7FEFF bl __aeabi_dadd
243 .LVL20:
244 .loc 1 58 16 view .LVU46
245 0050 FFF7FEFF bl __aeabi_d2uiz
246 .LVL21:
59:Src/squeow.c **** }
247 .loc 1 59 1 view .LVU47
248 0054 80B2 uxth r0, r0
249 0056 10BD pop {r4, pc}
250 .L18:
251 .align 3
252 .L17:
253 0058 7F6ABC74 .word 1958505087
254 005c 9318D43F .word 1070864531
255 0060 1F85EB51 .word 1374389535
256 0064 B81E1940 .word 1075388088
257 0068 00000000 .word 0
258 006c 00FC9F40 .word 1084226560
259 0070 00000000 .word angle.0
260 .cfi_endproc
261 .LFE335:
263 .section .text.sample,"ax",%progbits
264 .align 1
265 .global sample
266 .syntax unified
267 .thumb
268 .thumb_func
270 sample:
271 .LFB336:
60:Src/squeow.c ****
61:Src/squeow.c **** uint16_t sample(void){
272 .loc 1 61 22 is_stmt 1 view -0
273 .cfi_startproc
274 @ args = 0, pretend = 0, frame = 0
275 @ frame_needed = 0, uses_anonymous_args = 0
276 @ link register save eliminated.
62:Src/squeow.c **** /*
63:Src/squeow.c **** stato_audio == STATO_AUDIO_ADC;
64:Src/squeow.c **** HAL_ADC_Start(&hadc1);
65:Src/squeow.c **** if (HAL_ADC_PollForConversion(&hadc1, 10) == HAL_OK){
66:Src/squeow.c **** // store_sample(HAL_ADC_GetValue(&hadc1) << 4);
67:Src/squeow.c **** sample_value = HAL_ADC_GetValue(&hadc1);
68:Src/squeow.c **** }
69:Src/squeow.c **** HAL_ADC_Stop(&hadc1);
70:Src/squeow.c **** */
71:Src/squeow.c **** }
277 .loc 1 71 1 view .LVU49
ARM GAS /tmp/ccGt6Pje.s page 7
278 0000 7047 bx lr
279 .cfi_endproc
280 .LFE336:
282 .section .text.store_sample,"ax",%progbits
283 .align 1
284 .global store_sample
285 .syntax unified
286 .thumb
287 .thumb_func
289 store_sample:
290 .LVL22:
291 .LFB338:
72:Src/squeow.c ****
73:Src/squeow.c **** void store_samples(uint16_t *data, uint16_t size){
74:Src/squeow.c **** for(uint16_t i = 0; i < size; ++i) {
75:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
76:Src/squeow.c **** store_sample(data[i]);
77:Src/squeow.c **** }
78:Src/squeow.c **** }
79:Src/squeow.c ****
80:Src/squeow.c **** void store_sample(uint16_t sample){
292 .loc 1 80 35 view -0
293 .cfi_startproc
294 @ args = 0, pretend = 0, frame = 0
295 @ frame_needed = 0, uses_anonymous_args = 0
296 .loc 1 80 35 is_stmt 0 view .LVU51
297 0000 08B5 push {r3, lr}
298 .LCFI2:
299 .cfi_def_cfa_offset 8
300 .cfi_offset 3, -8
301 .cfi_offset 14, -4
81:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = sample;
302 .loc 1 81 17 is_stmt 1 view .LVU52
303 .loc 1 81 32 is_stmt 0 view .LVU53
304 0002 054B ldr r3, .L22
305 0004 1988 ldrh r1, [r3]
306 .loc 1 81 62 view .LVU54
307 0006 054A ldr r2, .L22+4
308 0008 22F81100 strh r0, [r2, r1, lsl #1] @ movhi
82:Src/squeow.c **** ringbuf_increment(&samples_ringbuf_input_index, SAMPLES_BUFFER_SIZE_MASK);
309 .loc 1 82 17 is_stmt 1 view .LVU55
310 000c 40F2FF31 movw r1, #1023
311 0010 1846 mov r0, r3
312 .LVL23:
313 .loc 1 82 17 is_stmt 0 view .LVU56
314 0012 FFF7FEFF bl ringbuf_increment
315 .LVL24:
83:Src/squeow.c **** }
316 .loc 1 83 1 view .LVU57
317 0016 08BD pop {r3, pc}
318 .L23:
319 .align 2
320 .L22:
321 0018 00000000 .word samples_ringbuf_input_index
322 001c 00000000 .word samples_ringbuf
323 .cfi_endproc
324 .LFE338:
ARM GAS /tmp/ccGt6Pje.s page 8
326 .section .text.store_samples,"ax",%progbits
327 .align 1
328 .global store_samples
329 .syntax unified
330 .thumb
331 .thumb_func
333 store_samples:
334 .LVL25:
335 .LFB337:
73:Src/squeow.c **** for(uint16_t i = 0; i < size; ++i) {
336 .loc 1 73 50 is_stmt 1 view -0
337 .cfi_startproc
338 @ args = 0, pretend = 0, frame = 0
339 @ frame_needed = 0, uses_anonymous_args = 0
73:Src/squeow.c **** for(uint16_t i = 0; i < size; ++i) {
340 .loc 1 73 50 is_stmt 0 view .LVU59
341 0000 70B5 push {r4, r5, r6, lr}
342 .LCFI3:
343 .cfi_def_cfa_offset 16
344 .cfi_offset 4, -16
345 .cfi_offset 5, -12
346 .cfi_offset 6, -8
347 .cfi_offset 14, -4
348 0002 0646 mov r6, r0
349 0004 0D46 mov r5, r1
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
350 .loc 1 74 9 is_stmt 1 view .LVU60
351 .LBB3:
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
352 .loc 1 74 13 view .LVU61
353 .LVL26:
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
354 .loc 1 74 22 is_stmt 0 view .LVU62
355 0006 0024 movs r4, #0
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
356 .loc 1 74 9 view .LVU63
357 0008 0AE0 b .L25
358 .LVL27:
359 .L26:
75:Src/squeow.c **** store_sample(data[i]);
360 .loc 1 75 15 is_stmt 1 discriminator 3 view .LVU64
75:Src/squeow.c **** store_sample(data[i]);
361 .loc 1 75 30 is_stmt 0 discriminator 3 view .LVU65
362 000a 074B ldr r3, .L28
363 000c 1A88 ldrh r2, [r3]
75:Src/squeow.c **** store_sample(data[i]);
364 .loc 1 75 66 discriminator 3 view .LVU66
365 000e 36F81400 ldrh r0, [r6, r4, lsl #1]
75:Src/squeow.c **** store_sample(data[i]);
366 .loc 1 75 60 discriminator 3 view .LVU67
367 0012 064B ldr r3, .L28+4
368 0014 23F81200 strh r0, [r3, r2, lsl #1] @ movhi
76:Src/squeow.c **** }
369 .loc 1 76 17 is_stmt 1 discriminator 3 view .LVU68
370 0018 FFF7FEFF bl store_sample
371 .LVL28:
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
ARM GAS /tmp/ccGt6Pje.s page 9
372 .loc 1 74 39 discriminator 3 view .LVU69
373 001c 0134 adds r4, r4, #1
374 .LVL29:
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
375 .loc 1 74 39 is_stmt 0 discriminator 3 view .LVU70
376 001e A4B2 uxth r4, r4
377 .LVL30:
378 .L25:
74:Src/squeow.c **** samples_ringbuf[samples_ringbuf_input_index] = data[i];
379 .loc 1 74 31 is_stmt 1 discriminator 1 view .LVU71
380 0020 AC42 cmp r4, r5
381 0022 F2D3 bcc .L26
382 .LBE3:
78:Src/squeow.c ****
383 .loc 1 78 1 is_stmt 0 view .LVU72
384 0024 70BD pop {r4, r5, r6, pc}
385 .LVL31:
386 .L29:
78:Src/squeow.c ****
387 .loc 1 78 1 view .LVU73
388 0026 00BF .align 2
389 .L28:
390 0028 00000000 .word samples_ringbuf_input_index
391 002c 00000000 .word samples_ringbuf
392 .cfi_endproc
393 .LFE337:
395 .section .bss.angle.0,"aw",%nobits
396 .align 3
399 angle.0:
400 0000 00000000 .space 8
400 00000000
401 .section .bss.angle.1,"aw",%nobits
402 .align 3
405 angle.1:
406 0000 00000000 .space 8
406 00000000
407 .global samples_ringbuf_output_index
408 .section .bss.samples_ringbuf_output_index,"aw",%nobits
409 .align 1
412 samples_ringbuf_output_index:
413 0000 0000 .space 2
414 .global samples_ringbuf_input_index
415 .section .bss.samples_ringbuf_input_index,"aw",%nobits
416 .align 1
419 samples_ringbuf_input_index:
420 0000 0000 .space 2
421 .global samples_ringbuf
422 .section .bss.samples_ringbuf,"aw",%nobits
423 .align 2
426 samples_ringbuf:
427 0000 00000000 .space 2048
427 00000000
427 00000000
427 00000000
427 00000000
428 .global rails_number
429 .section .bss.rails_number,"aw",%nobits
ARM GAS /tmp/ccGt6Pje.s page 10
432 rails_number:
433 0000 00 .space 1
434 .global display_buffer
435 .section .bss.display_buffer,"aw",%nobits
436 .align 2
439 display_buffer:
440 0000 00000000 .space 16
440 00000000
440 00000000
440 00000000
441 .global sample_value
442 .section .bss.sample_value,"aw",%nobits
443 .align 1
446 sample_value:
447 0000 0000 .space 2
448 .global pwm_value
449 .section .bss.pwm_value,"aw",%nobits
450 .align 1
453 pwm_value:
454 0000 0000 .space 2
455 .global stato_audio
456 .section .bss.stato_audio,"aw",%nobits
459 stato_audio:
460 0000 00 .space 1
461 .text
462 .Letext0:
463 .file 2 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h"
464 .file 3 "Inc/squeow.h"
465 .file 4 "/usr/include/newlib/math.h"
ARM GAS /tmp/ccGt6Pje.s page 11
DEFINED SYMBOLS
*ABS*:00000000 squeow.c
/tmp/ccGt6Pje.s:21 .text.audio_play:00000000 $t
/tmp/ccGt6Pje.s:27 .text.audio_play:00000000 audio_play
/tmp/ccGt6Pje.s:62 .text.sat_sub:00000000 $t
/tmp/ccGt6Pje.s:68 .text.sat_sub:00000000 sat_sub
/tmp/ccGt6Pje.s:106 .text.u16_sine:00000000 $t
/tmp/ccGt6Pje.s:112 .text.u16_sine:00000000 u16_sine
/tmp/ccGt6Pje.s:174 .text.u16_sine:00000058 $d
/tmp/ccGt6Pje.s:405 .bss.angle.1:00000000 angle.1
/tmp/ccGt6Pje.s:185 .text.u12_sine:00000000 $t
/tmp/ccGt6Pje.s:191 .text.u12_sine:00000000 u12_sine
/tmp/ccGt6Pje.s:253 .text.u12_sine:00000058 $d
/tmp/ccGt6Pje.s:399 .bss.angle.0:00000000 angle.0
/tmp/ccGt6Pje.s:264 .text.sample:00000000 $t
/tmp/ccGt6Pje.s:270 .text.sample:00000000 sample
/tmp/ccGt6Pje.s:283 .text.store_sample:00000000 $t
/tmp/ccGt6Pje.s:289 .text.store_sample:00000000 store_sample
/tmp/ccGt6Pje.s:321 .text.store_sample:00000018 $d
/tmp/ccGt6Pje.s:419 .bss.samples_ringbuf_input_index:00000000 samples_ringbuf_input_index
/tmp/ccGt6Pje.s:426 .bss.samples_ringbuf:00000000 samples_ringbuf
/tmp/ccGt6Pje.s:327 .text.store_samples:00000000 $t
/tmp/ccGt6Pje.s:333 .text.store_samples:00000000 store_samples
/tmp/ccGt6Pje.s:390 .text.store_samples:00000028 $d
/tmp/ccGt6Pje.s:396 .bss.angle.0:00000000 $d
/tmp/ccGt6Pje.s:402 .bss.angle.1:00000000 $d
/tmp/ccGt6Pje.s:412 .bss.samples_ringbuf_output_index:00000000 samples_ringbuf_output_index
/tmp/ccGt6Pje.s:409 .bss.samples_ringbuf_output_index:00000000 $d
/tmp/ccGt6Pje.s:416 .bss.samples_ringbuf_input_index:00000000 $d
/tmp/ccGt6Pje.s:423 .bss.samples_ringbuf:00000000 $d
/tmp/ccGt6Pje.s:432 .bss.rails_number:00000000 rails_number
/tmp/ccGt6Pje.s:433 .bss.rails_number:00000000 $d
/tmp/ccGt6Pje.s:439 .bss.display_buffer:00000000 display_buffer
/tmp/ccGt6Pje.s:436 .bss.display_buffer:00000000 $d
/tmp/ccGt6Pje.s:446 .bss.sample_value:00000000 sample_value
/tmp/ccGt6Pje.s:443 .bss.sample_value:00000000 $d
/tmp/ccGt6Pje.s:453 .bss.pwm_value:00000000 pwm_value
/tmp/ccGt6Pje.s:450 .bss.pwm_value:00000000 $d
/tmp/ccGt6Pje.s:459 .bss.stato_audio:00000000 stato_audio
/tmp/ccGt6Pje.s:460 .bss.stato_audio:00000000 $d
UNDEFINED SYMBOLS
__aeabi_dadd
__aeabi_dcmpge
__aeabi_dmul
__aeabi_d2uiz
sin
ringbuf_increment