ARM GAS /tmp/ccQLWSqe.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_ui.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Src/squeow_ui.c" 20 .section .text.squeow_ui_init,"ax",%progbits 21 .align 1 22 .global squeow_ui_init 23 .syntax unified 24 .thumb 25 .thumb_func 27 squeow_ui_init: 28 .LFB332: 1:Src/squeow_ui.c **** #include 2:Src/squeow_ui.c **** #include 3:Src/squeow_ui.c **** #include 4:Src/squeow_ui.c **** #include 5:Src/squeow_ui.c **** #include 6:Src/squeow_ui.c **** 7:Src/squeow_ui.c **** #include "squeow.h" 8:Src/squeow_ui.c **** #include "squeow_ui.h" 9:Src/squeow_ui.c **** 10:Src/squeow_ui.c **** /* SQUEOW UI 11:Src/squeow_ui.c **** 12:Src/squeow_ui.c **** 13:Src/squeow_ui.c **** */ 14:Src/squeow_ui.c **** 15:Src/squeow_ui.c **** // VU 16:Src/squeow_ui.c **** uint8_t vu_on, vu_value, vu_tmp_value; 17:Src/squeow_ui.c **** uint8_t adc_stampa; 18:Src/squeow_ui.c **** 19:Src/squeow_ui.c **** uint8_t uart_sent; 20:Src/squeow_ui.c **** 21:Src/squeow_ui.c **** // ################ 22:Src/squeow_ui.c **** 23:Src/squeow_ui.c **** void squeow_ui_init(void) { 29 .loc 1 23 27 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 24:Src/squeow_ui.c **** vu_on = 1; 34 .loc 1 24 5 view .LVU1 ARM GAS /tmp/ccQLWSqe.s page 2 35 .loc 1 24 11 is_stmt 0 view .LVU2 36 0000 0123 movs r3, #1 37 0002 024A ldr r2, .L2 38 0004 1370 strb r3, [r2] 25:Src/squeow_ui.c **** adc_stampa = 1; 39 .loc 1 25 5 is_stmt 1 view .LVU3 40 .loc 1 25 16 is_stmt 0 view .LVU4 41 0006 024A ldr r2, .L2+4 42 0008 1370 strb r3, [r2] 26:Src/squeow_ui.c **** } 43 .loc 1 26 1 view .LVU5 44 000a 7047 bx lr 45 .L3: 46 .align 2 47 .L2: 48 000c 00000000 .word vu_on 49 0010 00000000 .word adc_stampa 50 .cfi_endproc 51 .LFE332: 53 .section .text.serial_write,"ax",%progbits 54 .align 1 55 .global serial_write 56 .syntax unified 57 .thumb 58 .thumb_func 60 serial_write: 61 .LVL0: 62 .LFB336: 27:Src/squeow_ui.c **** 28:Src/squeow_ui.c **** // seriow 29:Src/squeow_ui.c **** // https://git.lattuga.net/boyska/seriow 30:Src/squeow_ui.c **** 31:Src/squeow_ui.c **** // 10hz 32:Src/squeow_ui.c **** void seriow_var_dump(void) { 33:Src/squeow_ui.c **** char buf[64]; 34:Src/squeow_ui.c **** snprintf(buf, 64, "\e[3dDMP V=%lu T=%u C=%u D=%u R=%u\n", vu_value, adc2_valori[0], adc2_valori 35:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 36:Src/squeow_ui.c **** vu_tmp_value = 0; 37:Src/squeow_ui.c **** } 38:Src/squeow_ui.c **** 39:Src/squeow_ui.c **** // ogni 5sec 40:Src/squeow_ui.c **** void seriow_stab_dump(void) { 41:Src/squeow_ui.c **** char buf[64]; 42:Src/squeow_ui.c **** snprintf(buf, 64, "DMP F=%lu\n", freq); 43:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 44:Src/squeow_ui.c **** } 45:Src/squeow_ui.c **** 46:Src/squeow_ui.c **** void seriow_log(uint8_t sev, char *msg) { 47:Src/squeow_ui.c **** char buf[64]; 48:Src/squeow_ui.c **** snprintf(buf, 64, "\e[2dLOG %u %s\n", sev, msg); 49:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 50:Src/squeow_ui.c **** } 51:Src/squeow_ui.c **** 52:Src/squeow_ui.c **** int serial_write(char *ptr, int len) { 63 .loc 1 52 38 is_stmt 1 view -0 64 .cfi_startproc 65 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccQLWSqe.s page 3 66 @ frame_needed = 0, uses_anonymous_args = 0 67 .loc 1 52 38 is_stmt 0 view .LVU7 68 0000 10B5 push {r4, lr} 69 .LCFI0: 70 .cfi_def_cfa_offset 8 71 .cfi_offset 4, -8 72 .cfi_offset 14, -4 73 0002 0C46 mov r4, r1 53:Src/squeow_ui.c **** // todo sia dma che it corrompono 54:Src/squeow_ui.c **** // HAL_UART_Transmit_DMA(&huart1, ptr, len); 55:Src/squeow_ui.c **** // HAL_UART_Transmit_IT(&huart1, ptr, len); 56:Src/squeow_ui.c **** HAL_UART_Transmit(&huart1, ptr, len, 1000); 74 .loc 1 56 5 is_stmt 1 view .LVU8 75 0004 4FF47A73 mov r3, #1000 76 0008 8AB2 uxth r2, r1 77 000a 0146 mov r1, r0 78 .LVL1: 79 .loc 1 56 5 is_stmt 0 view .LVU9 80 000c 0348 ldr r0, .L6 81 .LVL2: 82 .loc 1 56 5 view .LVU10 83 000e FFF7FEFF bl HAL_UART_Transmit 84 .LVL3: 57:Src/squeow_ui.c **** uart_sent = 0; 85 .loc 1 57 2 is_stmt 1 view .LVU11 86 .loc 1 57 12 is_stmt 0 view .LVU12 87 0012 034B ldr r3, .L6+4 88 0014 0022 movs r2, #0 89 0016 1A70 strb r2, [r3] 58:Src/squeow_ui.c **** return len; 90 .loc 1 58 5 is_stmt 1 view .LVU13 59:Src/squeow_ui.c **** } 91 .loc 1 59 1 is_stmt 0 view .LVU14 92 0018 2046 mov r0, r4 93 001a 10BD pop {r4, pc} 94 .LVL4: 95 .L7: 96 .loc 1 59 1 view .LVU15 97 .align 2 98 .L6: 99 001c 00000000 .word huart1 100 0020 00000000 .word uart_sent 101 .cfi_endproc 102 .LFE336: 104 .section .rodata.seriow_var_dump.str1.4,"aMS",%progbits,1 105 .align 2 106 .LC0: 107 0000 1B5B3364 .ascii "\033[3dDMP V=%lu T=%u C=%u D=%u R=%u\012\000" 107 444D5020 107 563D256C 107 7520543D 107 25752043 108 .section .text.seriow_var_dump,"ax",%progbits 109 .align 1 110 .global seriow_var_dump 111 .syntax unified 112 .thumb ARM GAS /tmp/ccQLWSqe.s page 4 113 .thumb_func 115 seriow_var_dump: 116 .LFB333: 32:Src/squeow_ui.c **** char buf[64]; 117 .loc 1 32 28 is_stmt 1 view -0 118 .cfi_startproc 119 @ args = 0, pretend = 0, frame = 64 120 @ frame_needed = 0, uses_anonymous_args = 0 121 0000 00B5 push {lr} 122 .LCFI1: 123 .cfi_def_cfa_offset 4 124 .cfi_offset 14, -4 125 0002 95B0 sub sp, sp, #84 126 .LCFI2: 127 .cfi_def_cfa_offset 88 33:Src/squeow_ui.c **** snprintf(buf, 64, "\e[3dDMP V=%lu T=%u C=%u D=%u R=%u\n", vu_value, adc2_valori[0], adc2_valori 128 .loc 1 33 5 view .LVU17 34:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 129 .loc 1 34 5 view .LVU18 34:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 130 .loc 1 34 84 is_stmt 0 view .LVU19 131 0004 0E4B ldr r3, .L10 132 0006 1A88 ldrh r2, [r3] 34:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 133 .loc 1 34 100 view .LVU20 134 0008 5988 ldrh r1, [r3, #2] 34:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 135 .loc 1 34 116 view .LVU21 136 000a 9888 ldrh r0, [r3, #4] 34:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 137 .loc 1 34 132 view .LVU22 138 000c DB88 ldrh r3, [r3, #6] 34:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 139 .loc 1 34 5 view .LVU23 140 000e 0393 str r3, [sp, #12] 141 0010 0290 str r0, [sp, #8] 142 0012 0191 str r1, [sp, #4] 143 0014 0092 str r2, [sp] 144 0016 0B4B ldr r3, .L10+4 145 0018 1B78 ldrb r3, [r3] @ zero_extendqisi2 146 001a 0B4A ldr r2, .L10+8 147 001c 4021 movs r1, #64 148 001e 04A8 add r0, sp, #16 149 0020 FFF7FEFF bl snprintf 150 .LVL5: 35:Src/squeow_ui.c **** vu_tmp_value = 0; 151 .loc 1 35 5 is_stmt 1 view .LVU24 35:Src/squeow_ui.c **** vu_tmp_value = 0; 152 .loc 1 35 23 is_stmt 0 view .LVU25 153 0024 04A8 add r0, sp, #16 154 0026 FFF7FEFF bl strlen 155 .LVL6: 156 002a 0146 mov r1, r0 35:Src/squeow_ui.c **** vu_tmp_value = 0; 157 .loc 1 35 5 discriminator 1 view .LVU26 158 002c 04A8 add r0, sp, #16 159 002e FFF7FEFF bl serial_write ARM GAS /tmp/ccQLWSqe.s page 5 160 .LVL7: 36:Src/squeow_ui.c **** } 161 .loc 1 36 5 is_stmt 1 view .LVU27 36:Src/squeow_ui.c **** } 162 .loc 1 36 18 is_stmt 0 view .LVU28 163 0032 064B ldr r3, .L10+12 164 0034 0022 movs r2, #0 165 0036 1A70 strb r2, [r3] 37:Src/squeow_ui.c **** 166 .loc 1 37 1 view .LVU29 167 0038 15B0 add sp, sp, #84 168 .LCFI3: 169 .cfi_def_cfa_offset 4 170 @ sp needed 171 003a 5DF804FB ldr pc, [sp], #4 172 .L11: 173 003e 00BF .align 2 174 .L10: 175 0040 00000000 .word adc2_valori 176 0044 00000000 .word vu_value 177 0048 00000000 .word .LC0 178 004c 00000000 .word vu_tmp_value 179 .cfi_endproc 180 .LFE333: 182 .section .rodata.seriow_stab_dump.str1.4,"aMS",%progbits,1 183 .align 2 184 .LC1: 185 0000 444D5020 .ascii "DMP F=%lu\012\000" 185 463D256C 185 750A00 186 .section .text.seriow_stab_dump,"ax",%progbits 187 .align 1 188 .global seriow_stab_dump 189 .syntax unified 190 .thumb 191 .thumb_func 193 seriow_stab_dump: 194 .LFB334: 40:Src/squeow_ui.c **** char buf[64]; 195 .loc 1 40 29 is_stmt 1 view -0 196 .cfi_startproc 197 @ args = 0, pretend = 0, frame = 64 198 @ frame_needed = 0, uses_anonymous_args = 0 199 0000 00B5 push {lr} 200 .LCFI4: 201 .cfi_def_cfa_offset 4 202 .cfi_offset 14, -4 203 0002 91B0 sub sp, sp, #68 204 .LCFI5: 205 .cfi_def_cfa_offset 72 41:Src/squeow_ui.c **** snprintf(buf, 64, "DMP F=%lu\n", freq); 206 .loc 1 41 5 view .LVU31 42:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 207 .loc 1 42 5 view .LVU32 208 0004 084B ldr r3, .L14 209 0006 1B68 ldr r3, [r3] 210 0008 084A ldr r2, .L14+4 ARM GAS /tmp/ccQLWSqe.s page 6 211 000a 4021 movs r1, #64 212 000c 6846 mov r0, sp 213 000e FFF7FEFF bl snprintf 214 .LVL8: 43:Src/squeow_ui.c **** } 215 .loc 1 43 5 view .LVU33 43:Src/squeow_ui.c **** } 216 .loc 1 43 23 is_stmt 0 view .LVU34 217 0012 6846 mov r0, sp 218 0014 FFF7FEFF bl strlen 219 .LVL9: 220 0018 0146 mov r1, r0 43:Src/squeow_ui.c **** } 221 .loc 1 43 5 discriminator 1 view .LVU35 222 001a 6846 mov r0, sp 223 001c FFF7FEFF bl serial_write 224 .LVL10: 44:Src/squeow_ui.c **** 225 .loc 1 44 1 view .LVU36 226 0020 11B0 add sp, sp, #68 227 .LCFI6: 228 .cfi_def_cfa_offset 4 229 @ sp needed 230 0022 5DF804FB ldr pc, [sp], #4 231 .L15: 232 0026 00BF .align 2 233 .L14: 234 0028 00000000 .word freq 235 002c 00000000 .word .LC1 236 .cfi_endproc 237 .LFE334: 239 .section .rodata.seriow_log.str1.4,"aMS",%progbits,1 240 .align 2 241 .LC2: 242 0000 1B5B3264 .ascii "\033[2dLOG %u %s\012\000" 242 4C4F4720 242 25752025 242 730A00 243 .section .text.seriow_log,"ax",%progbits 244 .align 1 245 .global seriow_log 246 .syntax unified 247 .thumb 248 .thumb_func 250 seriow_log: 251 .LVL11: 252 .LFB335: 46:Src/squeow_ui.c **** char buf[64]; 253 .loc 1 46 41 is_stmt 1 view -0 254 .cfi_startproc 255 @ args = 0, pretend = 0, frame = 64 256 @ frame_needed = 0, uses_anonymous_args = 0 46:Src/squeow_ui.c **** char buf[64]; 257 .loc 1 46 41 is_stmt 0 view .LVU38 258 0000 00B5 push {lr} 259 .LCFI7: 260 .cfi_def_cfa_offset 4 ARM GAS /tmp/ccQLWSqe.s page 7 261 .cfi_offset 14, -4 262 0002 93B0 sub sp, sp, #76 263 .LCFI8: 264 .cfi_def_cfa_offset 80 265 0004 0346 mov r3, r0 47:Src/squeow_ui.c **** snprintf(buf, 64, "\e[2dLOG %u %s\n", sev, msg); 266 .loc 1 47 5 is_stmt 1 view .LVU39 48:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 267 .loc 1 48 5 view .LVU40 268 0006 0091 str r1, [sp] 269 0008 074A ldr r2, .L18 270 000a 4021 movs r1, #64 271 .LVL12: 48:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 272 .loc 1 48 5 is_stmt 0 view .LVU41 273 000c 02A8 add r0, sp, #8 274 .LVL13: 48:Src/squeow_ui.c **** serial_write(buf, strlen(buf)); 275 .loc 1 48 5 view .LVU42 276 000e FFF7FEFF bl snprintf 277 .LVL14: 49:Src/squeow_ui.c **** } 278 .loc 1 49 5 is_stmt 1 view .LVU43 49:Src/squeow_ui.c **** } 279 .loc 1 49 23 is_stmt 0 view .LVU44 280 0012 02A8 add r0, sp, #8 281 0014 FFF7FEFF bl strlen 282 .LVL15: 283 0018 0146 mov r1, r0 49:Src/squeow_ui.c **** } 284 .loc 1 49 5 discriminator 1 view .LVU45 285 001a 02A8 add r0, sp, #8 286 001c FFF7FEFF bl serial_write 287 .LVL16: 50:Src/squeow_ui.c **** 288 .loc 1 50 1 view .LVU46 289 0020 13B0 add sp, sp, #76 290 .LCFI9: 291 .cfi_def_cfa_offset 4 292 @ sp needed 293 0022 5DF804FB ldr pc, [sp], #4 294 .L19: 295 0026 00BF .align 2 296 .L18: 297 0028 00000000 .word .LC2 298 .cfi_endproc 299 .LFE335: 301 .global uart_sent 302 .section .bss.uart_sent,"aw",%nobits 305 uart_sent: 306 0000 00 .space 1 307 .global adc_stampa 308 .section .bss.adc_stampa,"aw",%nobits 311 adc_stampa: 312 0000 00 .space 1 313 .global vu_tmp_value 314 .section .bss.vu_tmp_value,"aw",%nobits ARM GAS /tmp/ccQLWSqe.s page 8 317 vu_tmp_value: 318 0000 00 .space 1 319 .global vu_value 320 .section .bss.vu_value,"aw",%nobits 323 vu_value: 324 0000 00 .space 1 325 .global vu_on 326 .section .bss.vu_on,"aw",%nobits 329 vu_on: 330 0000 00 .space 1 331 .text 332 .Letext0: 333 .file 2 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/mach 334 .file 3 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/sys/ 335 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 336 .file 5 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/lib/gcc/arm-none-eabi/13.3 337 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 338 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h" 339 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h" 340 .file 9 "Inc/squeow.h" 341 .file 10 "Inc/squeow_ui.h" 342 .file 11 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/str 343 .file 12 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/std ARM GAS /tmp/ccQLWSqe.s page 9 DEFINED SYMBOLS *ABS*:00000000 squeow_ui.c /tmp/ccQLWSqe.s:21 .text.squeow_ui_init:00000000 $t /tmp/ccQLWSqe.s:27 .text.squeow_ui_init:00000000 squeow_ui_init /tmp/ccQLWSqe.s:48 .text.squeow_ui_init:0000000c $d /tmp/ccQLWSqe.s:329 .bss.vu_on:00000000 vu_on /tmp/ccQLWSqe.s:311 .bss.adc_stampa:00000000 adc_stampa /tmp/ccQLWSqe.s:54 .text.serial_write:00000000 $t /tmp/ccQLWSqe.s:60 .text.serial_write:00000000 serial_write /tmp/ccQLWSqe.s:99 .text.serial_write:0000001c $d /tmp/ccQLWSqe.s:305 .bss.uart_sent:00000000 uart_sent /tmp/ccQLWSqe.s:105 .rodata.seriow_var_dump.str1.4:00000000 $d /tmp/ccQLWSqe.s:109 .text.seriow_var_dump:00000000 $t /tmp/ccQLWSqe.s:115 .text.seriow_var_dump:00000000 seriow_var_dump /tmp/ccQLWSqe.s:175 .text.seriow_var_dump:00000040 $d /tmp/ccQLWSqe.s:323 .bss.vu_value:00000000 vu_value /tmp/ccQLWSqe.s:317 .bss.vu_tmp_value:00000000 vu_tmp_value /tmp/ccQLWSqe.s:183 .rodata.seriow_stab_dump.str1.4:00000000 $d /tmp/ccQLWSqe.s:187 .text.seriow_stab_dump:00000000 $t /tmp/ccQLWSqe.s:193 .text.seriow_stab_dump:00000000 seriow_stab_dump /tmp/ccQLWSqe.s:234 .text.seriow_stab_dump:00000028 $d /tmp/ccQLWSqe.s:240 .rodata.seriow_log.str1.4:00000000 $d /tmp/ccQLWSqe.s:244 .text.seriow_log:00000000 $t /tmp/ccQLWSqe.s:250 .text.seriow_log:00000000 seriow_log /tmp/ccQLWSqe.s:297 .text.seriow_log:00000028 $d /tmp/ccQLWSqe.s:306 .bss.uart_sent:00000000 $d /tmp/ccQLWSqe.s:312 .bss.adc_stampa:00000000 $d /tmp/ccQLWSqe.s:318 .bss.vu_tmp_value:00000000 $d /tmp/ccQLWSqe.s:324 .bss.vu_value:00000000 $d /tmp/ccQLWSqe.s:330 .bss.vu_on:00000000 $d UNDEFINED SYMBOLS HAL_UART_Transmit huart1 snprintf strlen adc2_valori freq