Files
squeow/squeow_sw/build/squeow.lst

1248 lines
50 KiB
Plaintext
Raw Normal View History

2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccmy4jhy.s page 1
2023-07-02 17:09:41 +02:00
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"
2025-06-28 00:58:29 +02:00
20 .section .text.serial_write,"ax",%progbits
21 .align 1
22 .global serial_write
23 .syntax unified
24 .thumb
25 .thumb_func
27 serial_write:
28 .LVL0:
29 .LFB332:
2023-07-02 17:09:41 +02:00
1:Src/squeow.c **** #include <main.h>
2025-01-28 19:01:22 +01:00
2:Src/squeow.c **** #include <math.h>
3:Src/squeow.c **** #include <stdio.h>
4:Src/squeow.c **** #include <stm32g4xx_hal_conf.h>
2023-07-02 17:09:41 +02:00
5:Src/squeow.c ****
2025-01-28 19:01:22 +01:00
6:Src/squeow.c **** #include "si5351.h"
7:Src/squeow.c **** #include "squeow.h"
8:Src/squeow.c **** #include "squeow_ui.h"
2023-07-02 17:09:41 +02:00
9:Src/squeow.c ****
2025-01-28 19:01:22 +01:00
10:Src/squeow.c **** /* SQUEOW
11:Src/squeow.c ****
2025-06-28 00:58:29 +02:00
12:Src/squeow.c **** TIM2 PWM 168000000/4096 = 41015,625 Hz
13:Src/squeow.c **** TIM3 sys_tick 168000000/(16800×100) 100hz
2023-07-02 17:09:41 +02:00
14:Src/squeow.c ****
2025-06-28 00:58:29 +02:00
15:Src/squeow.c **** risoluzione PWM 4096 (12bit)
2023-07-02 17:09:41 +02:00
16:Src/squeow.c ****
2025-06-28 00:58:29 +02:00
17:Src/squeow.c **** ADC1 agganciato a TIM2, valore passato attraverso TIM2_IRQHandler a TIM2->CCR1
18:Src/squeow.c **** ADC2 lanciato da software, quando completo adc2_done viene settato in HAL_ADC_ConvCpltCallback
19:Src/squeow.c ****
20:Src/squeow.c **** */
2025-01-28 19:01:22 +01:00
21:Src/squeow.c ****
2025-06-28 00:58:29 +02:00
22:Src/squeow.c **** extern I2C_HandleTypeDef hi2c1;
23:Src/squeow.c ****
24:Src/squeow.c **** // SYS
25:Src/squeow.c **** volatile uint8_t sys_tick, sys_tick_prescale;
26:Src/squeow.c ****
27:Src/squeow.c **** // UART
28:Src/squeow.c **** uint8_t UART_RX_buf[UART_RX_BUF_SIZE];
29:Src/squeow.c ****
ARM GAS /tmp/ccmy4jhy.s page 2
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
30:Src/squeow.c **** uint8_t UART_TX_buf[UART_TX_BUF_SIZE];
31:Src/squeow.c **** uint8_t UART_TX_buf_lenght;
32:Src/squeow.c ****
33:Src/squeow.c **** // SYNTH
34:Src/squeow.c **** uint32_t freq;
35:Src/squeow.c ****
36:Src/squeow.c **** // ADC2 (16 o 32?) per usare buffer da 32 settare WORD nel canale DMA
37:Src/squeow.c **** uint32_t adc2_valori[4];
38:Src/squeow.c **** uint8_t adc2_done, blocco, blocco_fatto, codice_allarme;
39:Src/squeow.c ****
40:Src/squeow.c ****
41:Src/squeow.c **** // VU
42:Src/squeow.c **** uint8_t analog_wd_status;
43:Src/squeow.c ****
44:Src/squeow.c **** // ###################################
2025-01-28 19:01:22 +01:00
45:Src/squeow.c ****
2025-06-28 00:58:29 +02:00
46:Src/squeow.c **** int serial_write(char *ptr, size_t len) {
30 .loc 1 46 41 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 .loc 1 46 41 is_stmt 0 view .LVU1
35 0000 10B5 push {r4, lr}
36 .LCFI0:
37 .cfi_def_cfa_offset 8
38 .cfi_offset 4, -8
39 .cfi_offset 14, -4
40 0002 0C46 mov r4, r1
47:Src/squeow.c **** // todo sia dma che it corrompono (vedi sotto, static)
48:Src/squeow.c **** HAL_UART_Transmit_DMA(&huart1, ptr, len);
41 .loc 1 48 6 is_stmt 1 view .LVU2
42 0004 8AB2 uxth r2, r1
43 0006 0146 mov r1, r0
44 .LVL1:
45 .loc 1 48 6 is_stmt 0 view .LVU3
46 0008 0348 ldr r0, .L3
47 .LVL2:
48 .loc 1 48 6 view .LVU4
49 000a FFF7FEFF bl HAL_UART_Transmit_DMA
50 .LVL3:
49:Src/squeow.c **** // HAL_UART_Transmit_IT(&huart1, ptr, len);
50:Src/squeow.c **** // HAL_UART_Transmit(&huart1, ptr, len, 1000);
51:Src/squeow.c **** // uart_sent = 0;
52:Src/squeow.c **** UART_TX_buf_lenght = 0;
51 .loc 1 52 2 is_stmt 1 view .LVU5
52 .loc 1 52 21 is_stmt 0 view .LVU6
53 000e 034B ldr r3, .L3+4
54 0010 0022 movs r2, #0
55 0012 1A70 strb r2, [r3]
53:Src/squeow.c **** return len;
56 .loc 1 53 5 is_stmt 1 view .LVU7
54:Src/squeow.c **** }
57 .loc 1 54 1 is_stmt 0 view .LVU8
58 0014 2046 mov r0, r4
59 0016 10BD pop {r4, pc}
60 .LVL4:
61 .L4:
ARM GAS /tmp/ccmy4jhy.s page 3
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
62 .loc 1 54 1 view .LVU9
63 .align 2
64 .L3:
65 0018 00000000 .word huart1
66 001c 00000000 .word UART_TX_buf_lenght
67 .cfi_endproc
68 .LFE332:
70 .section .text.squeow_init,"ax",%progbits
71 .align 1
72 .global squeow_init
73 .syntax unified
74 .thumb
75 .thumb_func
77 squeow_init:
78 .LFB333:
55:Src/squeow.c ****
56:Src/squeow.c **** void squeow_init(void) {
79 .loc 1 56 24 is_stmt 1 view -0
80 .cfi_startproc
81 @ args = 0, pretend = 0, frame = 0
82 @ frame_needed = 0, uses_anonymous_args = 0
83 @ link register save eliminated.
2025-01-28 19:01:22 +01:00
57:Src/squeow.c **** freq = DEFAULT_SYNTH_FREQUENCY;
2025-06-28 00:58:29 +02:00
84 .loc 1 57 5 view .LVU11
85 .loc 1 57 10 is_stmt 0 view .LVU12
86 0000 064B ldr r3, .L6
87 0002 074A ldr r2, .L6+4
88 0004 1A60 str r2, [r3]
58:Src/squeow.c **** blocco = 0;
89 .loc 1 58 5 is_stmt 1 view .LVU13
90 .loc 1 58 12 is_stmt 0 view .LVU14
91 0006 0023 movs r3, #0
92 0008 064A ldr r2, .L6+8
93 000a 1370 strb r3, [r2]
59:Src/squeow.c **** adc2_valori[0] = 0;
94 .loc 1 59 5 is_stmt 1 view .LVU15
95 .loc 1 59 20 is_stmt 0 view .LVU16
96 000c 064A ldr r2, .L6+12
97 000e 1360 str r3, [r2]
60:Src/squeow.c **** adc2_valori[1] = 0;
98 .loc 1 60 5 is_stmt 1 view .LVU17
99 .loc 1 60 20 is_stmt 0 view .LVU18
100 0010 5360 str r3, [r2, #4]
61:Src/squeow.c **** adc2_valori[2] = 0;
101 .loc 1 61 5 is_stmt 1 view .LVU19
102 .loc 1 61 20 is_stmt 0 view .LVU20
103 0012 9360 str r3, [r2, #8]
62:Src/squeow.c **** adc2_valori[3] = 0;
104 .loc 1 62 5 is_stmt 1 view .LVU21
105 .loc 1 62 20 is_stmt 0 view .LVU22
106 0014 D360 str r3, [r2, #12]
63:Src/squeow.c **** codice_allarme = 0;
107 .loc 1 63 5 is_stmt 1 view .LVU23
108 .loc 1 63 20 is_stmt 0 view .LVU24
109 0016 054A ldr r2, .L6+16
110 0018 1370 strb r3, [r2]
64:Src/squeow.c **** }
ARM GAS /tmp/ccmy4jhy.s page 4
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
111 .loc 1 64 1 view .LVU25
112 001a 7047 bx lr
113 .L7:
114 .align 2
115 .L6:
116 001c 00000000 .word freq
117 0020 98BC1400 .word 1359000
118 0024 00000000 .word blocco
119 0028 00000000 .word adc2_valori
120 002c 00000000 .word codice_allarme
121 .cfi_endproc
122 .LFE333:
124 .section .text.sat_sub,"ax",%progbits
125 .align 1
126 .global sat_sub
127 .syntax unified
128 .thumb
129 .thumb_func
131 sat_sub:
132 .LVL5:
133 .LFB334:
65:Src/squeow.c ****
66:Src/squeow.c **** uint32_t sat_sub(uint16_t x, uint16_t y) {
134 .loc 1 66 42 is_stmt 1 view -0
135 .cfi_startproc
136 @ args = 0, pretend = 0, frame = 0
137 @ frame_needed = 0, uses_anonymous_args = 0
138 @ link register save eliminated.
67:Src/squeow.c **** uint16_t res = x - y;
139 .loc 1 67 5 view .LVU27
140 .loc 1 67 14 is_stmt 0 view .LVU28
141 0000 411A subs r1, r0, r1
142 .LVL6:
143 .loc 1 67 14 view .LVU29
144 0002 89B2 uxth r1, r1
145 .LVL7:
68:Src/squeow.c **** res &= -(res <= x);
146 .loc 1 68 5 is_stmt 1 view .LVU30
147 .loc 1 68 9 is_stmt 0 view .LVU31
148 0004 8842 cmp r0, r1
149 0006 4FF0FF30 mov r0, #-1
150 .LVL8:
151 .loc 1 68 9 view .LVU32
152 000a 38BF it cc
153 000c 0020 movcc r0, #0
154 .LVL9:
69:Src/squeow.c **** return res;
155 .loc 1 69 5 is_stmt 1 view .LVU33
70:Src/squeow.c **** }
156 .loc 1 70 1 is_stmt 0 view .LVU34
157 000e 0840 ands r0, r0, r1
158 .LVL10:
159 .loc 1 70 1 view .LVU35
160 0010 7047 bx lr
161 .cfi_endproc
162 .LFE334:
164 .section .text.ringbuf_increment,"ax",%progbits
ARM GAS /tmp/ccmy4jhy.s page 5
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
165 .align 1
166 .global ringbuf_increment
167 .syntax unified
168 .thumb
169 .thumb_func
171 ringbuf_increment:
172 .LVL11:
173 .LFB335:
71:Src/squeow.c ****
72:Src/squeow.c **** uint32_t ringbuf_increment(uint32_t *index, uint32_t buff_size_mask) {
174 .loc 1 72 70 is_stmt 1 view -0
175 .cfi_startproc
176 @ args = 0, pretend = 0, frame = 0
177 @ frame_needed = 0, uses_anonymous_args = 0
178 @ link register save eliminated.
179 .loc 1 72 70 is_stmt 0 view .LVU37
180 0000 0246 mov r2, r0
73:Src/squeow.c **** (*index)++;
181 .loc 1 73 5 is_stmt 1 view .LVU38
182 .loc 1 73 6 is_stmt 0 view .LVU39
183 0002 0368 ldr r3, [r0]
184 .loc 1 73 13 view .LVU40
185 0004 0133 adds r3, r3, #1
186 0006 0360 str r3, [r0]
74:Src/squeow.c **** *index &= buff_size_mask;
187 .loc 1 74 5 is_stmt 1 view .LVU41
188 .loc 1 74 12 is_stmt 0 view .LVU42
189 0008 03EA0100 and r0, r3, r1
190 .LVL12:
191 .loc 1 74 12 view .LVU43
192 000c 1060 str r0, [r2]
75:Src/squeow.c **** return *index;
193 .loc 1 75 5 is_stmt 1 view .LVU44
2025-01-28 19:01:22 +01:00
76:Src/squeow.c **** }
2025-06-28 00:58:29 +02:00
194 .loc 1 76 1 is_stmt 0 view .LVU45
195 000e 7047 bx lr
196 .cfi_endproc
197 .LFE335:
199 .section .text.adc_rileva_soglie,"ax",%progbits
200 .align 1
201 .global adc_rileva_soglie
202 .syntax unified
203 .thumb
204 .thumb_func
206 adc_rileva_soglie:
207 .LVL13:
208 .LFB336:
2025-01-28 19:01:22 +01:00
77:Src/squeow.c ****
2025-06-28 00:58:29 +02:00
78:Src/squeow.c **** // adc
79:Src/squeow.c ****
80:Src/squeow.c **** void adc_rileva_soglie(uint32_t *adc_valori) {
209 .loc 1 80 46 is_stmt 1 view -0
210 .cfi_startproc
211 @ args = 0, pretend = 0, frame = 0
212 @ frame_needed = 0, uses_anonymous_args = 0
213 @ link register save eliminated.
81:Src/squeow.c **** if (!blocco) {
ARM GAS /tmp/ccmy4jhy.s page 6
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
214 .loc 1 81 5 view .LVU47
215 .loc 1 81 9 is_stmt 0 view .LVU48
216 0000 114B ldr r3, .L14
217 0002 1B78 ldrb r3, [r3] @ zero_extendqisi2
218 .loc 1 81 8 view .LVU49
219 0004 FBB9 cbnz r3, .L10
82:Src/squeow.c **** #ifdef SQUEOW_SONDA_CORRENTE
83:Src/squeow.c **** if (adc_valori[SQUEOW_ADC_CORRENTE] > SOGLIA_CORRENTE) {
84:Src/squeow.c **** codice_allarme = SQUEOW_CODICE_CORRENTE;
85:Src/squeow.c **** blocco = 1;
86:Src/squeow.c **** }
87:Src/squeow.c **** #endif
88:Src/squeow.c **** #ifdef SQUEOW_SONDA_TEMPERATURA
89:Src/squeow.c **** if (adc_valori[SQUEOW_ADC_TEMPERATURA] > SOGLIA_TEMPERATURA) {
220 .loc 1 89 9 is_stmt 1 view .LVU50
221 .loc 1 89 23 is_stmt 0 view .LVU51
222 0006 4268 ldr r2, [r0, #4]
223 .loc 1 89 12 view .LVU52
224 0008 40F61843 movw r3, #3096
225 000c 9A42 cmp r2, r3
226 000e 04D9 bls .L12
90:Src/squeow.c **** codice_allarme = SQUEOW_CODICE_TEMPERATURA;
227 .loc 1 90 13 is_stmt 1 view .LVU53
228 .loc 1 90 28 is_stmt 0 view .LVU54
229 0010 0123 movs r3, #1
230 0012 0E4A ldr r2, .L14+4
231 0014 1370 strb r3, [r2]
91:Src/squeow.c **** blocco = 1;
232 .loc 1 91 13 is_stmt 1 view .LVU55
233 .loc 1 91 20 is_stmt 0 view .LVU56
234 0016 0C4A ldr r2, .L14
235 0018 1370 strb r3, [r2]
236 .L12:
92:Src/squeow.c **** }
93:Src/squeow.c **** #endif
94:Src/squeow.c **** #ifdef SQUEOW_SONDA_DIRETTA
95:Src/squeow.c **** if (adc_valori[SQUEOW_ADC_DIRETTA] > SOGLIA_DIRETTA) {
237 .loc 1 95 9 is_stmt 1 view .LVU57
238 .loc 1 95 23 is_stmt 0 view .LVU58
239 001a 8268 ldr r2, [r0, #8]
240 .loc 1 95 12 view .LVU59
241 001c 40F61843 movw r3, #3096
242 0020 9A42 cmp r2, r3
243 0022 05D9 bls .L13
96:Src/squeow.c **** codice_allarme = SQUEOW_CODICE_DIRETTA;
244 .loc 1 96 13 is_stmt 1 view .LVU60
245 .loc 1 96 28 is_stmt 0 view .LVU61
246 0024 094B ldr r3, .L14+4
247 0026 0322 movs r2, #3
248 0028 1A70 strb r2, [r3]
97:Src/squeow.c **** blocco = 1;
249 .loc 1 97 13 is_stmt 1 view .LVU62
250 .loc 1 97 20 is_stmt 0 view .LVU63
251 002a 074B ldr r3, .L14
252 002c 0122 movs r2, #1
253 002e 1A70 strb r2, [r3]
254 .L13:
ARM GAS /tmp/ccmy4jhy.s page 7
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
98:Src/squeow.c **** }
99:Src/squeow.c **** #endif
100:Src/squeow.c **** #ifdef SQUEOW_SONDA_RIFLESSA
101:Src/squeow.c **** if (adc_valori[SQUEOW_ADC_RIFLESSA] > SOGLIA_RIFLESSA) {
255 .loc 1 101 9 is_stmt 1 view .LVU64
256 .loc 1 101 23 is_stmt 0 view .LVU65
257 0030 C268 ldr r2, [r0, #12]
258 .loc 1 101 12 view .LVU66
259 0032 40F61843 movw r3, #3096
260 0036 9A42 cmp r2, r3
261 0038 05D9 bls .L10
102:Src/squeow.c **** codice_allarme = SQUEOW_CODICE_RIFLESSA;
262 .loc 1 102 13 is_stmt 1 view .LVU67
263 .loc 1 102 28 is_stmt 0 view .LVU68
264 003a 044B ldr r3, .L14+4
265 003c 0222 movs r2, #2
266 003e 1A70 strb r2, [r3]
103:Src/squeow.c **** blocco = 1;
267 .loc 1 103 13 is_stmt 1 view .LVU69
268 .loc 1 103 20 is_stmt 0 view .LVU70
269 0040 014B ldr r3, .L14
270 0042 0122 movs r2, #1
271 0044 1A70 strb r2, [r3]
272 .L10:
104:Src/squeow.c **** }
105:Src/squeow.c **** #endif
106:Src/squeow.c **** }
107:Src/squeow.c **** }
273 .loc 1 107 1 view .LVU71
274 0046 7047 bx lr
275 .L15:
276 .align 2
277 .L14:
278 0048 00000000 .word blocco
279 004c 00000000 .word codice_allarme
280 .cfi_endproc
281 .LFE336:
283 .section .rodata.processa_blocco.str1.4,"aMS",%progbits,1
284 .align 2
285 .LC0:
286 0000 4C4F434B .ascii "LOCK!\000"
286 2100
287 0006 0000 .align 2
288 .LC1:
289 0008 554E4C4F .ascii "UNLOCK\000"
289 434B00
290 .section .text.processa_blocco,"ax",%progbits
291 .align 1
292 .global processa_blocco
293 .syntax unified
294 .thumb
295 .thumb_func
297 processa_blocco:
298 .LFB337:
108:Src/squeow.c ****
109:Src/squeow.c **** void processa_blocco(void) {
299 .loc 1 109 28 is_stmt 1 view -0
ARM GAS /tmp/ccmy4jhy.s page 8
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
300 .cfi_startproc
301 @ args = 0, pretend = 0, frame = 0
302 @ frame_needed = 0, uses_anonymous_args = 0
303 0000 08B5 push {r3, lr}
304 .LCFI1:
305 .cfi_def_cfa_offset 8
306 .cfi_offset 3, -8
307 .cfi_offset 14, -4
110:Src/squeow.c **** static uint8_t vecchio_stato_blocco;
308 .loc 1 110 5 view .LVU73
111:Src/squeow.c **** static uint16_t timer_blocco;
309 .loc 1 111 5 view .LVU74
112:Src/squeow.c ****
113:Src/squeow.c **** // è appena stato impostato blocco
114:Src/squeow.c **** if (blocco && !vecchio_stato_blocco) {
310 .loc 1 114 5 view .LVU75
311 .loc 1 114 9 is_stmt 0 view .LVU76
312 0002 114B ldr r3, .L22
313 0004 1B78 ldrb r3, [r3] @ zero_extendqisi2
314 .loc 1 114 8 view .LVU77
315 0006 13B1 cbz r3, .L17
316 .loc 1 114 19 discriminator 1 view .LVU78
317 0008 104A ldr r2, .L22+4
318 000a 1278 ldrb r2, [r2] @ zero_extendqisi2
319 .loc 1 114 16 discriminator 1 view .LVU79
320 000c 22B1 cbz r2, .L20
321 .L17:
115:Src/squeow.c **** // è appena stato impostato blocco
116:Src/squeow.c **** #ifdef SQUEOW_UI_SERIOW
117:Src/squeow.c **** seriow_log('E', "LOCK!");
118:Src/squeow.c **** #endif
119:Src/squeow.c **** #ifdef SQUEOW_UI_TOSTA
120:Src/squeow.c **** tosta_log('E', "LOCK!");
121:Src/squeow.c **** #endif
122:Src/squeow.c **** #ifdef MODALITA_BLOCCO_PERMANENTE
123:Src/squeow.c ****
124:Src/squeow.c **** #endif
125:Src/squeow.c **** #ifdef MODALITA_BLOCCO_BASSA_POTENZA
126:Src/squeow.c ****
127:Src/squeow.c **** #endif
128:Src/squeow.c **** #ifdef MODALITA_BLOCCO_TEMPORANEO
129:Src/squeow.c **** timer_blocco = 0;
130:Src/squeow.c **** #endif
131:Src/squeow.c ****
132:Src/squeow.c **** vecchio_stato_blocco = blocco;
133:Src/squeow.c **** } else if (!blocco && vecchio_stato_blocco) {
322 .loc 1 133 12 is_stmt 1 view .LVU80
323 .loc 1 133 15 is_stmt 0 view .LVU81
324 000e 13B9 cbnz r3, .L16
325 .loc 1 133 24 discriminator 1 view .LVU82
326 0010 0E4B ldr r3, .L22+4
327 0012 1B78 ldrb r3, [r3] @ zero_extendqisi2
328 0014 4BB9 cbnz r3, .L21
329 .L16:
134:Src/squeow.c **** // è appena stato disinserito il blocco
135:Src/squeow.c **** #ifdef SQUEOW_UI_SERIOW
136:Src/squeow.c **** seriow_log('I', "UNLOCK");
ARM GAS /tmp/ccmy4jhy.s page 9
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
137:Src/squeow.c **** #endif
138:Src/squeow.c **** #ifdef SQUEOW_UI_TOSTA
139:Src/squeow.c **** tosta_log('I', "UNLOCK");
140:Src/squeow.c **** #endif
141:Src/squeow.c **** codice_allarme = 0;
142:Src/squeow.c **** led_blocco(codice_allarme);
143:Src/squeow.c **** vecchio_stato_blocco = blocco;
144:Src/squeow.c **** }
145:Src/squeow.c ****
146:Src/squeow.c **** #ifdef MODALITA_BLOCCO_TEMPORANEO
147:Src/squeow.c **** else {
148:Src/squeow.c **** // solo temporaneo
149:Src/squeow.c **** if (timer_blocco > TEMPO_BLOCCO_TEMPORANEO) {
150:Src/squeow.c **** timer_blocco = 0;
151:Src/squeow.c **** blocco = 0;
152:Src/squeow.c **** } else {
153:Src/squeow.c **** timer_blocco++;
154:Src/squeow.c **** }
155:Src/squeow.c **** }
156:Src/squeow.c **** #endif
157:Src/squeow.c **** }
330 .loc 1 157 1 view .LVU83
331 0016 08BD pop {r3, pc}
332 .L20:
117:Src/squeow.c **** #endif
333 .loc 1 117 9 is_stmt 1 view .LVU84
334 0018 0D49 ldr r1, .L22+8
335 001a 4520 movs r0, #69
336 001c FFF7FEFF bl seriow_log
337 .LVL14:
132:Src/squeow.c **** } else if (!blocco && vecchio_stato_blocco) {
338 .loc 1 132 9 view .LVU85
132:Src/squeow.c **** } else if (!blocco && vecchio_stato_blocco) {
339 .loc 1 132 30 is_stmt 0 view .LVU86
340 0020 094B ldr r3, .L22
341 0022 1A78 ldrb r2, [r3] @ zero_extendqisi2
342 0024 094B ldr r3, .L22+4
343 0026 1A70 strb r2, [r3]
344 0028 F5E7 b .L16
345 .L21:
136:Src/squeow.c **** #endif
346 .loc 1 136 9 is_stmt 1 view .LVU87
347 002a 0A49 ldr r1, .L22+12
348 002c 4920 movs r0, #73
349 002e FFF7FEFF bl seriow_log
350 .LVL15:
141:Src/squeow.c **** led_blocco(codice_allarme);
351 .loc 1 141 9 view .LVU88
141:Src/squeow.c **** led_blocco(codice_allarme);
352 .loc 1 141 24 is_stmt 0 view .LVU89
353 0032 0020 movs r0, #0
354 0034 084B ldr r3, .L22+16
355 0036 1870 strb r0, [r3]
142:Src/squeow.c **** vecchio_stato_blocco = blocco;
356 .loc 1 142 9 is_stmt 1 view .LVU90
357 0038 FFF7FEFF bl led_blocco
358 .LVL16:
ARM GAS /tmp/ccmy4jhy.s page 10
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
143:Src/squeow.c **** }
359 .loc 1 143 9 view .LVU91
143:Src/squeow.c **** }
360 .loc 1 143 30 is_stmt 0 view .LVU92
361 003c 024B ldr r3, .L22
362 003e 1A78 ldrb r2, [r3] @ zero_extendqisi2
363 0040 024B ldr r3, .L22+4
364 0042 1A70 strb r2, [r3]
365 .loc 1 157 1 view .LVU93
366 0044 E7E7 b .L16
367 .L23:
368 0046 00BF .align 2
369 .L22:
370 0048 00000000 .word blocco
371 004c 00000000 .word vecchio_stato_blocco.0
372 0050 00000000 .word .LC0
373 0054 08000000 .word .LC1
374 0058 00000000 .word codice_allarme
375 .cfi_endproc
376 .LFE337:
378 .section .rodata.squeow_synth_init.str1.4,"aMS",%progbits,1
379 .align 2
380 .LC2:
381 0000 73796E74 .ascii "synth init\000"
381 6820696E
381 697400
382 .section .text.squeow_synth_init,"ax",%progbits
383 .align 1
384 .global squeow_synth_init
385 .syntax unified
386 .thumb
387 .thumb_func
389 squeow_synth_init:
390 .LFB338:
158:Src/squeow.c ****
159:Src/squeow.c **** // synth
160:Src/squeow.c ****
161:Src/squeow.c **** void squeow_synth_init(void) {
391 .loc 1 161 30 is_stmt 1 view -0
392 .cfi_startproc
393 @ args = 0, pretend = 0, frame = 0
394 @ frame_needed = 0, uses_anonymous_args = 0
395 0000 08B5 push {r3, lr}
396 .LCFI2:
397 .cfi_def_cfa_offset 8
398 .cfi_offset 3, -8
399 .cfi_offset 14, -4
162:Src/squeow.c **** // occhio che blocca!
163:Src/squeow.c **** #ifdef SQUEOW_UI_SERIOW
164:Src/squeow.c **** seriow_log('I', "synth init");
400 .loc 1 164 5 view .LVU95
401 0002 0349 ldr r1, .L26
402 0004 4920 movs r0, #73
403 0006 FFF7FEFF bl seriow_log
404 .LVL17:
165:Src/squeow.c **** #endif
166:Src/squeow.c ****
ARM GAS /tmp/ccmy4jhy.s page 11
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
167:Src/squeow.c **** #ifdef SQUEOW_UI_TOSTA
168:Src/squeow.c **** tosta_log('I', "synth init");
169:Src/squeow.c **** #endif
170:Src/squeow.c **** si5351_initialize();
405 .loc 1 170 5 view .LVU96
406 000a FFF7FEFF bl si5351_initialize
407 .LVL18:
171:Src/squeow.c **** }
408 .loc 1 171 1 is_stmt 0 view .LVU97
409 000e 08BD pop {r3, pc}
410 .L27:
411 .align 2
412 .L26:
413 0010 00000000 .word .LC2
414 .cfi_endproc
415 .LFE338:
417 .section .text.squeow_synth_set,"ax",%progbits
418 .align 1
419 .global squeow_synth_set
420 .syntax unified
421 .thumb
422 .thumb_func
424 squeow_synth_set:
425 .LVL19:
426 .LFB339:
172:Src/squeow.c ****
173:Src/squeow.c **** void squeow_synth_set(uint32_t freq) {
427 .loc 1 173 38 is_stmt 1 view -0
428 .cfi_startproc
429 @ args = 0, pretend = 0, frame = 0
430 @ frame_needed = 0, uses_anonymous_args = 0
431 .loc 1 173 38 is_stmt 0 view .LVU99
432 0000 10B5 push {r4, lr}
433 .LCFI3:
434 .cfi_def_cfa_offset 8
435 .cfi_offset 4, -8
436 .cfi_offset 14, -4
437 0002 0446 mov r4, r0
174:Src/squeow.c **** #ifdef SQUEOW_UI_SERIOW
175:Src/squeow.c **** // seriow_log('I', "synth set freq");
176:Src/squeow.c **** #endif
177:Src/squeow.c ****
178:Src/squeow.c **** #ifdef SQUEOW_UI_TOSTA
179:Src/squeow.c **** // tosta_log('I', "synth set freq");
180:Src/squeow.c **** #endif
181:Src/squeow.c ****
182:Src/squeow.c **** si5351_set_frequency(freq, 0);
438 .loc 1 182 5 is_stmt 1 view .LVU100
439 0004 0021 movs r1, #0
440 0006 FFF7FEFF bl si5351_set_frequency
441 .LVL20:
183:Src/squeow.c **** si5351_set_frequency(freq, 1);
442 .loc 1 183 5 view .LVU101
443 000a 0121 movs r1, #1
444 000c 2046 mov r0, r4
445 000e FFF7FEFF bl si5351_set_frequency
446 .LVL21:
ARM GAS /tmp/ccmy4jhy.s page 12
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
184:Src/squeow.c **** }
447 .loc 1 184 1 is_stmt 0 view .LVU102
448 0012 10BD pop {r4, pc}
449 .loc 1 184 1 view .LVU103
450 .cfi_endproc
451 .LFE339:
453 .section .rodata.squeow_synth_on.str1.4,"aMS",%progbits,1
454 .align 2
455 .LC3:
456 0000 73796E74 .ascii "synth on\000"
456 68206F6E
456 00
457 .section .text.squeow_synth_on,"ax",%progbits
458 .align 1
459 .global squeow_synth_on
460 .syntax unified
461 .thumb
462 .thumb_func
464 squeow_synth_on:
465 .LFB340:
185:Src/squeow.c ****
186:Src/squeow.c **** void squeow_synth_on(void) {
466 .loc 1 186 28 is_stmt 1 view -0
467 .cfi_startproc
468 @ args = 0, pretend = 0, frame = 0
469 @ frame_needed = 0, uses_anonymous_args = 0
470 0000 08B5 push {r3, lr}
471 .LCFI4:
472 .cfi_def_cfa_offset 8
473 .cfi_offset 3, -8
474 .cfi_offset 14, -4
187:Src/squeow.c **** #ifdef SQUEOW_UI_SERIOW
188:Src/squeow.c **** seriow_log('I', "synth on");
475 .loc 1 188 5 view .LVU105
476 0002 0549 ldr r1, .L32
477 0004 4920 movs r0, #73
478 0006 FFF7FEFF bl seriow_log
479 .LVL22:
189:Src/squeow.c **** #endif
190:Src/squeow.c ****
191:Src/squeow.c **** #ifdef SQUEOW_UI_TOSTA
192:Src/squeow.c **** tosta_log('I', "synth on");
193:Src/squeow.c **** #endif
194:Src/squeow.c ****
195:Src/squeow.c **** si5351_on_clk(0);
480 .loc 1 195 5 view .LVU106
481 000a 0020 movs r0, #0
482 000c FFF7FEFF bl si5351_on_clk
483 .LVL23:
196:Src/squeow.c **** si5351_on_clk(1);
484 .loc 1 196 5 view .LVU107
485 0010 0120 movs r0, #1
486 0012 FFF7FEFF bl si5351_on_clk
487 .LVL24:
197:Src/squeow.c **** }
488 .loc 1 197 1 is_stmt 0 view .LVU108
489 0016 08BD pop {r3, pc}
ARM GAS /tmp/ccmy4jhy.s page 13
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
490 .L33:
491 .align 2
492 .L32:
493 0018 00000000 .word .LC3
494 .cfi_endproc
495 .LFE340:
497 .section .text.squeow_synth_off,"ax",%progbits
498 .align 1
499 .global squeow_synth_off
500 .syntax unified
501 .thumb
502 .thumb_func
504 squeow_synth_off:
505 .LFB341:
198:Src/squeow.c ****
199:Src/squeow.c **** void squeow_synth_off(void) {
506 .loc 1 199 29 is_stmt 1 view -0
507 .cfi_startproc
508 @ args = 0, pretend = 0, frame = 0
509 @ frame_needed = 0, uses_anonymous_args = 0
510 0000 08B5 push {r3, lr}
511 .LCFI5:
512 .cfi_def_cfa_offset 8
513 .cfi_offset 3, -8
514 .cfi_offset 14, -4
200:Src/squeow.c **** #ifdef SQUEOW_UI_SERIOW
201:Src/squeow.c **** #endif
202:Src/squeow.c ****
203:Src/squeow.c **** #ifdef SQUEOW_UI_TOSTA
204:Src/squeow.c **** tosta_log('I', "synth off");
205:Src/squeow.c **** #endif
206:Src/squeow.c ****
207:Src/squeow.c **** si5351_off_clk(0);
515 .loc 1 207 5 view .LVU110
516 0002 0020 movs r0, #0
517 0004 FFF7FEFF bl si5351_off_clk
518 .LVL25:
208:Src/squeow.c **** si5351_off_clk(1);
519 .loc 1 208 5 view .LVU111
520 0008 0120 movs r0, #1
521 000a FFF7FEFF bl si5351_off_clk
522 .LVL26:
209:Src/squeow.c **** }
523 .loc 1 209 1 is_stmt 0 view .LVU112
524 000e 08BD pop {r3, pc}
525 .cfi_endproc
526 .LFE341:
528 .section .text.i2c_write8,"ax",%progbits
529 .align 1
530 .global i2c_write8
531 .syntax unified
532 .thumb
533 .thumb_func
535 i2c_write8:
536 .LVL27:
537 .LFB342:
210:Src/squeow.c ****
ARM GAS /tmp/ccmy4jhy.s page 14
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
211:Src/squeow.c **** void i2c_write8(I2C_HandleTypeDef handler, uint8_t address, uint8_t reg, uint8_t value) {
538 .loc 1 211 89 is_stmt 1 view -0
539 .cfi_startproc
540 @ args = 96, pretend = 16, frame = 0
541 @ frame_needed = 0, uses_anonymous_args = 0
542 .loc 1 211 89 is_stmt 0 view .LVU114
543 0000 84B0 sub sp, sp, #16
544 .LCFI6:
545 .cfi_def_cfa_offset 16
546 0002 10B5 push {r4, lr}
547 .LCFI7:
548 .cfi_def_cfa_offset 24
549 .cfi_offset 4, -24
550 .cfi_offset 14, -20
551 0004 84B0 sub sp, sp, #16
552 .LCFI8:
553 .cfi_def_cfa_offset 40
554 0006 06AC add r4, sp, #24
555 0008 84E80F00 stm r4, {r0, r1, r2, r3}
556 000c 9DF86C40 ldrb r4, [sp, #108] @ zero_extendqisi2
212:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
557 .loc 1 212 5 is_stmt 1 view .LVU115
558 .LVL28:
559 .L37:
213:Src/squeow.c **** }
560 .loc 1 213 5 view .LVU116
212:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
561 .loc 1 212 78 discriminator 1 view .LVU117
212:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
562 .loc 1 212 12 is_stmt 0 discriminator 1 view .LVU118
563 0010 6423 movs r3, #100
564 0012 0322 movs r2, #3
565 0014 6100 lsls r1, r4, #1
566 0016 06A8 add r0, sp, #24
567 0018 FFF7FEFF bl HAL_I2C_IsDeviceReady
568 .LVL29:
212:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
569 .loc 1 212 78 discriminator 1 view .LVU119
570 001c 0028 cmp r0, #0
571 001e F7D1 bne .L37
214:Src/squeow.c **** HAL_I2C_Mem_Write(&handler, (uint8_t)(address << 1), (uint8_t)reg, I2C_MEMADD_SIZE_8BIT, (uint8
572 .loc 1 214 5 is_stmt 1 view .LVU120
573 .loc 1 214 33 is_stmt 0 view .LVU121
574 0020 6100 lsls r1, r4, #1
575 .loc 1 214 5 view .LVU122
576 0022 6423 movs r3, #100
577 0024 0293 str r3, [sp, #8]
578 0026 0123 movs r3, #1
579 0028 0193 str r3, [sp, #4]
580 002a 1DAA add r2, sp, #116
581 002c 0092 str r2, [sp]
582 002e 9DF87020 ldrb r2, [sp, #112] @ zero_extendqisi2
583 0032 01F0FE01 and r1, r1, #254
584 0036 06A8 add r0, sp, #24
585 0038 FFF7FEFF bl HAL_I2C_Mem_Write
586 .LVL30:
215:Src/squeow.c **** }
ARM GAS /tmp/ccmy4jhy.s page 15
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
587 .loc 1 215 1 view .LVU123
588 003c 04B0 add sp, sp, #16
589 .LCFI9:
590 .cfi_def_cfa_offset 24
591 @ sp needed
592 003e BDE81040 pop {r4, lr}
593 .LCFI10:
594 .cfi_restore 14
595 .cfi_restore 4
596 .cfi_def_cfa_offset 16
597 0042 04B0 add sp, sp, #16
598 .LCFI11:
599 .cfi_def_cfa_offset 0
600 0044 7047 bx lr
601 .cfi_endproc
602 .LFE342:
604 .section .text.i2c_read8,"ax",%progbits
605 .align 1
606 .global i2c_read8
607 .syntax unified
608 .thumb
609 .thumb_func
611 i2c_read8:
612 .LVL31:
613 .LFB343:
216:Src/squeow.c ****
217:Src/squeow.c **** uint8_t i2c_read8(I2C_HandleTypeDef handler, uint8_t address, uint8_t reg, uint8_t *value) {
614 .loc 1 217 92 is_stmt 1 view -0
615 .cfi_startproc
616 @ args = 96, pretend = 16, frame = 0
617 @ frame_needed = 0, uses_anonymous_args = 0
618 .loc 1 217 92 is_stmt 0 view .LVU125
619 0000 84B0 sub sp, sp, #16
620 .LCFI12:
621 .cfi_def_cfa_offset 16
622 0002 10B5 push {r4, lr}
623 .LCFI13:
624 .cfi_def_cfa_offset 24
625 .cfi_offset 4, -24
626 .cfi_offset 14, -20
627 0004 84B0 sub sp, sp, #16
628 .LCFI14:
629 .cfi_def_cfa_offset 40
630 0006 06AC add r4, sp, #24
631 0008 84E80F00 stm r4, {r0, r1, r2, r3}
632 000c 9DF86C40 ldrb r4, [sp, #108] @ zero_extendqisi2
218:Src/squeow.c **** HAL_StatusTypeDef status = HAL_OK;
633 .loc 1 218 5 is_stmt 1 view .LVU126
634 .LVL32:
219:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
635 .loc 1 219 5 view .LVU127
636 .L40:
220:Src/squeow.c **** }
637 .loc 1 220 5 view .LVU128
219:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
638 .loc 1 219 78 discriminator 1 view .LVU129
219:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
ARM GAS /tmp/ccmy4jhy.s page 16
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
639 .loc 1 219 12 is_stmt 0 discriminator 1 view .LVU130
640 0010 6423 movs r3, #100
641 0012 0322 movs r2, #3
642 0014 6100 lsls r1, r4, #1
643 0016 06A8 add r0, sp, #24
644 0018 FFF7FEFF bl HAL_I2C_IsDeviceReady
645 .LVL33:
219:Src/squeow.c **** while (HAL_I2C_IsDeviceReady(&handler, (uint16_t)(address << 1), 3, 100) != HAL_OK) {
646 .loc 1 219 78 discriminator 1 view .LVU131
647 001c 0028 cmp r0, #0
648 001e F7D1 bne .L40
221:Src/squeow.c **** status = HAL_I2C_Mem_Read(&handler, // i2c handle
649 .loc 1 221 5 is_stmt 1 view .LVU132
222:Src/squeow.c **** (uint8_t)(address << 1), // i2c address, left aligned
650 .loc 1 222 31 is_stmt 0 view .LVU133
651 0020 6100 lsls r1, r4, #1
221:Src/squeow.c **** status = HAL_I2C_Mem_Read(&handler, // i2c handle
652 .loc 1 221 14 view .LVU134
653 0022 6423 movs r3, #100
654 0024 0293 str r3, [sp, #8]
655 0026 0123 movs r3, #1
656 0028 0193 str r3, [sp, #4]
657 002a 1DAA add r2, sp, #116
658 002c 0092 str r2, [sp]
659 002e 9DF87020 ldrb r2, [sp, #112] @ zero_extendqisi2
660 0032 01F0FE01 and r1, r1, #254
661 0036 06A8 add r0, sp, #24
662 0038 FFF7FEFF bl HAL_I2C_Mem_Read
663 .LVL34:
223:Src/squeow.c **** (uint8_t)reg, // register address
224:Src/squeow.c **** I2C_MEMADD_SIZE_8BIT, // 8bit register addresses
225:Src/squeow.c **** (uint8_t *)(&value), // write returned data to this variable
226:Src/squeow.c **** 1, // how many bytes to expect returned
227:Src/squeow.c **** 100); // timeout
228:Src/squeow.c **** return status;
664 .loc 1 228 5 is_stmt 1 view .LVU135
229:Src/squeow.c **** }
665 .loc 1 229 1 is_stmt 0 view .LVU136
666 003c 04B0 add sp, sp, #16
667 .LCFI15:
668 .cfi_def_cfa_offset 24
669 @ sp needed
670 003e BDE81040 pop {r4, lr}
671 .LCFI16:
672 .cfi_restore 14
673 .cfi_restore 4
674 .cfi_def_cfa_offset 16
675 0042 04B0 add sp, sp, #16
676 .LCFI17:
677 .cfi_def_cfa_offset 0
678 0044 7047 bx lr
679 .cfi_endproc
680 .LFE343:
682 .section .text.si5351_write8,"ax",%progbits
683 .align 1
684 .global si5351_write8
685 .syntax unified
ARM GAS /tmp/ccmy4jhy.s page 17
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
686 .thumb
687 .thumb_func
689 si5351_write8:
690 .LVL35:
691 .LFB344:
230:Src/squeow.c ****
231:Src/squeow.c **** void si5351_write8(uint8_t reg, uint8_t value) { i2c_write8(hi2c1, SI5351_ADDRESS, reg, value); }
692 .loc 1 231 48 is_stmt 1 view -0
693 .cfi_startproc
694 @ args = 0, pretend = 0, frame = 0
695 @ frame_needed = 0, uses_anonymous_args = 0
696 .loc 1 231 48 is_stmt 0 view .LVU138
697 0000 10B5 push {r4, lr}
698 .LCFI18:
699 .cfi_def_cfa_offset 8
700 .cfi_offset 4, -8
701 .cfi_offset 14, -4
702 0002 94B0 sub sp, sp, #80
703 .LCFI19:
704 .cfi_def_cfa_offset 88
705 .loc 1 231 50 is_stmt 1 view .LVU139
706 0004 084C ldr r4, .L44
707 0006 1391 str r1, [sp, #76]
708 0008 1290 str r0, [sp, #72]
709 000a 6023 movs r3, #96
710 000c 1193 str r3, [sp, #68]
711 000e 4422 movs r2, #68
712 0010 04F11001 add r1, r4, #16
713 .LVL36:
714 .loc 1 231 50 is_stmt 0 view .LVU140
715 0014 6846 mov r0, sp
716 .LVL37:
717 .loc 1 231 50 view .LVU141
718 0016 FFF7FEFF bl memcpy
719 .LVL38:
720 .loc 1 231 50 view .LVU142
721 001a 94E80F00 ldm r4, {r0, r1, r2, r3}
722 001e FFF7FEFF bl i2c_write8
723 .LVL39:
724 .loc 1 231 97 view .LVU143
725 0022 14B0 add sp, sp, #80
726 .LCFI20:
727 .cfi_def_cfa_offset 8
728 @ sp needed
729 0024 10BD pop {r4, pc}
730 .L45:
731 0026 00BF .align 2
732 .L44:
733 0028 00000000 .word hi2c1
734 .cfi_endproc
735 .LFE344:
737 .section .text.si5351_read8,"ax",%progbits
738 .align 1
739 .global si5351_read8
740 .syntax unified
741 .thumb
742 .thumb_func
ARM GAS /tmp/ccmy4jhy.s page 18
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
744 si5351_read8:
745 .LVL40:
746 .LFB345:
232:Src/squeow.c ****
233:Src/squeow.c **** uint8_t si5351_read8(uint8_t reg, uint8_t *value) { return i2c_read8(hi2c1, SI5351_ADDRESS, reg, va
747 .loc 1 233 51 is_stmt 1 view -0
748 .cfi_startproc
749 @ args = 0, pretend = 0, frame = 0
750 @ frame_needed = 0, uses_anonymous_args = 0
751 .loc 1 233 51 is_stmt 0 view .LVU145
752 0000 10B5 push {r4, lr}
753 .LCFI21:
754 .cfi_def_cfa_offset 8
755 .cfi_offset 4, -8
756 .cfi_offset 14, -4
757 0002 94B0 sub sp, sp, #80
758 .LCFI22:
759 .cfi_def_cfa_offset 88
760 .loc 1 233 53 is_stmt 1 view .LVU146
761 .loc 1 233 60 is_stmt 0 view .LVU147
762 0004 084C ldr r4, .L48
763 0006 1391 str r1, [sp, #76]
764 0008 1290 str r0, [sp, #72]
765 000a 6023 movs r3, #96
766 000c 1193 str r3, [sp, #68]
767 000e 4422 movs r2, #68
768 0010 04F11001 add r1, r4, #16
769 .LVL41:
770 .loc 1 233 60 view .LVU148
771 0014 6846 mov r0, sp
772 .LVL42:
773 .loc 1 233 60 view .LVU149
774 0016 FFF7FEFF bl memcpy
775 .LVL43:
776 .loc 1 233 60 view .LVU150
777 001a 94E80F00 ldm r4, {r0, r1, r2, r3}
778 001e FFF7FEFF bl i2c_read8
779 .LVL44:
780 .loc 1 233 106 view .LVU151
781 0022 14B0 add sp, sp, #80
782 .LCFI23:
783 .cfi_def_cfa_offset 8
784 @ sp needed
785 0024 10BD pop {r4, pc}
786 .L49:
787 0026 00BF .align 2
788 .L48:
789 0028 00000000 .word hi2c1
790 .cfi_endproc
791 .LFE345:
793 .section .bss.vecchio_stato_blocco.0,"aw",%nobits
796 vecchio_stato_blocco.0:
797 0000 00 .space 1
798 .global analog_wd_status
799 .section .bss.analog_wd_status,"aw",%nobits
802 analog_wd_status:
803 0000 00 .space 1
ARM GAS /tmp/ccmy4jhy.s page 19
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
804 .global codice_allarme
805 .section .bss.codice_allarme,"aw",%nobits
808 codice_allarme:
809 0000 00 .space 1
810 .global blocco_fatto
811 .section .bss.blocco_fatto,"aw",%nobits
814 blocco_fatto:
815 0000 00 .space 1
816 .global blocco
817 .section .bss.blocco,"aw",%nobits
820 blocco:
821 0000 00 .space 1
822 .global adc2_done
823 .section .bss.adc2_done,"aw",%nobits
826 adc2_done:
827 0000 00 .space 1
828 .global adc2_valori
829 .section .bss.adc2_valori,"aw",%nobits
830 .align 2
833 adc2_valori:
834 0000 00000000 .space 16
834 00000000
834 00000000
834 00000000
835 .global freq
836 .section .bss.freq,"aw",%nobits
837 .align 2
840 freq:
841 0000 00000000 .space 4
842 .global UART_TX_buf_lenght
843 .section .bss.UART_TX_buf_lenght,"aw",%nobits
846 UART_TX_buf_lenght:
847 0000 00 .space 1
848 .global UART_TX_buf
849 .section .bss.UART_TX_buf,"aw",%nobits
850 .align 2
853 UART_TX_buf:
854 0000 00000000 .space 256
854 00000000
854 00000000
854 00000000
854 00000000
855 .global UART_RX_buf
856 .section .bss.UART_RX_buf,"aw",%nobits
857 .align 2
860 UART_RX_buf:
861 0000 00000000 .space 256
861 00000000
861 00000000
861 00000000
861 00000000
862 .global sys_tick_prescale
863 .section .bss.sys_tick_prescale,"aw",%nobits
866 sys_tick_prescale:
867 0000 00 .space 1
868 .global sys_tick
869 .section .bss.sys_tick,"aw",%nobits
ARM GAS /tmp/ccmy4jhy.s page 20
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
872 sys_tick:
873 0000 00 .space 1
874 .text
875 .Letext0:
876 .file 2 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/mach
877 .file 3 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/sys/
878 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
879 .file 5 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/lib/gcc/arm-none-eabi/14.2
880 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
881 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
882 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_i2c.h"
883 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
884 .file 10 "Inc/si5351.h"
885 .file 11 "Inc/squeow.h"
886 .file 12 "Inc/squeow_ui.h"
887 .file 13 "<built-in>"
ARM GAS /tmp/ccmy4jhy.s page 21
2023-07-02 17:09:41 +02:00
DEFINED SYMBOLS
*ABS*:00000000 squeow.c
2025-06-28 00:58:29 +02:00
/tmp/ccmy4jhy.s:21 .text.serial_write:00000000 $t
/tmp/ccmy4jhy.s:27 .text.serial_write:00000000 serial_write
/tmp/ccmy4jhy.s:65 .text.serial_write:00000018 $d
/tmp/ccmy4jhy.s:846 .bss.UART_TX_buf_lenght:00000000 UART_TX_buf_lenght
/tmp/ccmy4jhy.s:71 .text.squeow_init:00000000 $t
/tmp/ccmy4jhy.s:77 .text.squeow_init:00000000 squeow_init
/tmp/ccmy4jhy.s:116 .text.squeow_init:0000001c $d
/tmp/ccmy4jhy.s:840 .bss.freq:00000000 freq
/tmp/ccmy4jhy.s:820 .bss.blocco:00000000 blocco
/tmp/ccmy4jhy.s:833 .bss.adc2_valori:00000000 adc2_valori
/tmp/ccmy4jhy.s:808 .bss.codice_allarme:00000000 codice_allarme
/tmp/ccmy4jhy.s:125 .text.sat_sub:00000000 $t
/tmp/ccmy4jhy.s:131 .text.sat_sub:00000000 sat_sub
/tmp/ccmy4jhy.s:165 .text.ringbuf_increment:00000000 $t
/tmp/ccmy4jhy.s:171 .text.ringbuf_increment:00000000 ringbuf_increment
/tmp/ccmy4jhy.s:200 .text.adc_rileva_soglie:00000000 $t
/tmp/ccmy4jhy.s:206 .text.adc_rileva_soglie:00000000 adc_rileva_soglie
/tmp/ccmy4jhy.s:278 .text.adc_rileva_soglie:00000048 $d
/tmp/ccmy4jhy.s:284 .rodata.processa_blocco.str1.4:00000000 $d
/tmp/ccmy4jhy.s:291 .text.processa_blocco:00000000 $t
/tmp/ccmy4jhy.s:297 .text.processa_blocco:00000000 processa_blocco
/tmp/ccmy4jhy.s:370 .text.processa_blocco:00000048 $d
/tmp/ccmy4jhy.s:796 .bss.vecchio_stato_blocco.0:00000000 vecchio_stato_blocco.0
/tmp/ccmy4jhy.s:379 .rodata.squeow_synth_init.str1.4:00000000 $d
/tmp/ccmy4jhy.s:383 .text.squeow_synth_init:00000000 $t
/tmp/ccmy4jhy.s:389 .text.squeow_synth_init:00000000 squeow_synth_init
/tmp/ccmy4jhy.s:413 .text.squeow_synth_init:00000010 $d
/tmp/ccmy4jhy.s:418 .text.squeow_synth_set:00000000 $t
/tmp/ccmy4jhy.s:424 .text.squeow_synth_set:00000000 squeow_synth_set
/tmp/ccmy4jhy.s:454 .rodata.squeow_synth_on.str1.4:00000000 $d
/tmp/ccmy4jhy.s:458 .text.squeow_synth_on:00000000 $t
/tmp/ccmy4jhy.s:464 .text.squeow_synth_on:00000000 squeow_synth_on
/tmp/ccmy4jhy.s:493 .text.squeow_synth_on:00000018 $d
/tmp/ccmy4jhy.s:498 .text.squeow_synth_off:00000000 $t
/tmp/ccmy4jhy.s:504 .text.squeow_synth_off:00000000 squeow_synth_off
/tmp/ccmy4jhy.s:529 .text.i2c_write8:00000000 $t
/tmp/ccmy4jhy.s:535 .text.i2c_write8:00000000 i2c_write8
/tmp/ccmy4jhy.s:605 .text.i2c_read8:00000000 $t
/tmp/ccmy4jhy.s:611 .text.i2c_read8:00000000 i2c_read8
/tmp/ccmy4jhy.s:683 .text.si5351_write8:00000000 $t
/tmp/ccmy4jhy.s:689 .text.si5351_write8:00000000 si5351_write8
/tmp/ccmy4jhy.s:733 .text.si5351_write8:00000028 $d
/tmp/ccmy4jhy.s:738 .text.si5351_read8:00000000 $t
/tmp/ccmy4jhy.s:744 .text.si5351_read8:00000000 si5351_read8
/tmp/ccmy4jhy.s:789 .text.si5351_read8:00000028 $d
/tmp/ccmy4jhy.s:797 .bss.vecchio_stato_blocco.0:00000000 $d
/tmp/ccmy4jhy.s:802 .bss.analog_wd_status:00000000 analog_wd_status
/tmp/ccmy4jhy.s:803 .bss.analog_wd_status:00000000 $d
/tmp/ccmy4jhy.s:809 .bss.codice_allarme:00000000 $d
/tmp/ccmy4jhy.s:814 .bss.blocco_fatto:00000000 blocco_fatto
/tmp/ccmy4jhy.s:815 .bss.blocco_fatto:00000000 $d
/tmp/ccmy4jhy.s:821 .bss.blocco:00000000 $d
/tmp/ccmy4jhy.s:826 .bss.adc2_done:00000000 adc2_done
/tmp/ccmy4jhy.s:827 .bss.adc2_done:00000000 $d
/tmp/ccmy4jhy.s:830 .bss.adc2_valori:00000000 $d
ARM GAS /tmp/ccmy4jhy.s page 22
2025-01-28 19:01:22 +01:00
2025-06-28 00:58:29 +02:00
/tmp/ccmy4jhy.s:837 .bss.freq:00000000 $d
/tmp/ccmy4jhy.s:847 .bss.UART_TX_buf_lenght:00000000 $d
/tmp/ccmy4jhy.s:853 .bss.UART_TX_buf:00000000 UART_TX_buf
/tmp/ccmy4jhy.s:850 .bss.UART_TX_buf:00000000 $d
/tmp/ccmy4jhy.s:860 .bss.UART_RX_buf:00000000 UART_RX_buf
/tmp/ccmy4jhy.s:857 .bss.UART_RX_buf:00000000 $d
/tmp/ccmy4jhy.s:866 .bss.sys_tick_prescale:00000000 sys_tick_prescale
/tmp/ccmy4jhy.s:867 .bss.sys_tick_prescale:00000000 $d
/tmp/ccmy4jhy.s:872 .bss.sys_tick:00000000 sys_tick
/tmp/ccmy4jhy.s:873 .bss.sys_tick:00000000 $d
2023-07-02 17:09:41 +02:00
UNDEFINED SYMBOLS
2025-06-28 00:58:29 +02:00
HAL_UART_Transmit_DMA
huart1
2025-01-28 19:01:22 +01:00
seriow_log
2025-06-28 00:58:29 +02:00
led_blocco
2025-01-28 19:01:22 +01:00
si5351_initialize
si5351_set_frequency
si5351_on_clk
si5351_off_clk
2025-06-28 00:58:29 +02:00
HAL_I2C_IsDeviceReady
HAL_I2C_Mem_Write
HAL_I2C_Mem_Read
memcpy
hi2c1