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
|