1248 lines
50 KiB
Plaintext
1248 lines
50 KiB
Plaintext
ARM GAS /tmp/ccmy4jhy.s page 1
|
||
|
||
|
||
1 .cpu cortex-m4
|
||
2 .arch armv7e-m
|
||
3 .fpu fpv4-sp-d16
|
||
4 .eabi_attribute 27, 1
|
||
5 .eabi_attribute 28, 1
|
||
6 .eabi_attribute 20, 1
|
||
7 .eabi_attribute 21, 1
|
||
8 .eabi_attribute 23, 3
|
||
9 .eabi_attribute 24, 1
|
||
10 .eabi_attribute 25, 1
|
||
11 .eabi_attribute 26, 1
|
||
12 .eabi_attribute 30, 1
|
||
13 .eabi_attribute 34, 1
|
||
14 .eabi_attribute 18, 4
|
||
15 .file "squeow.c"
|
||
16 .text
|
||
17 .Ltext0:
|
||
18 .cfi_sections .debug_frame
|
||
19 .file 1 "Src/squeow.c"
|
||
20 .section .text.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:
|
||
1:Src/squeow.c **** #include <main.h>
|
||
2:Src/squeow.c **** #include <math.h>
|
||
3:Src/squeow.c **** #include <stdio.h>
|
||
4:Src/squeow.c **** #include <stm32g4xx_hal_conf.h>
|
||
5:Src/squeow.c ****
|
||
6:Src/squeow.c **** #include "si5351.h"
|
||
7:Src/squeow.c **** #include "squeow.h"
|
||
8:Src/squeow.c **** #include "squeow_ui.h"
|
||
9:Src/squeow.c ****
|
||
10:Src/squeow.c **** /* SQUEOW
|
||
11:Src/squeow.c ****
|
||
12:Src/squeow.c **** TIM2 PWM 168000000/4096 = 41015,625 Hz
|
||
13:Src/squeow.c **** TIM3 sys_tick 168000000/(16800×100) 100hz
|
||
14:Src/squeow.c ****
|
||
15:Src/squeow.c **** risoluzione PWM 4096 (12bit)
|
||
16:Src/squeow.c ****
|
||
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 **** */
|
||
21:Src/squeow.c ****
|
||
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
|
||
|
||
|
||
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 **** // ###################################
|
||
45:Src/squeow.c ****
|
||
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
|
||
|
||
|
||
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.
|
||
57:Src/squeow.c **** freq = DEFAULT_SYNTH_FREQUENCY;
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
76:Src/squeow.c **** }
|
||
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:
|
||
77:Src/squeow.c ****
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
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
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 squeow.c
|
||
/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
|
||
|
||
|
||
/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
|
||
|
||
UNDEFINED SYMBOLS
|
||
HAL_UART_Transmit_DMA
|
||
huart1
|
||
seriow_log
|
||
led_blocco
|
||
si5351_initialize
|
||
si5351_set_frequency
|
||
si5351_on_clk
|
||
si5351_off_clk
|
||
HAL_I2C_IsDeviceReady
|
||
HAL_I2C_Mem_Write
|
||
HAL_I2C_Mem_Read
|
||
memcpy
|
||
hi2c1
|