ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.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 "Current_Monitoring.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Core/Src/Current_Monitoring.c" 20 .section .text.currentMonitor_init,"ax",%progbits 21 .align 1 22 .global currentMonitor_init 23 .syntax unified 24 .thumb 25 .thumb_func 27 currentMonitor_init: 28 .LVL0: 29 .LFB130: 1:Core/Src/Current_Monitoring.c **** /* 2:Core/Src/Current_Monitoring.c **** * Current_Monitoring.c 3:Core/Src/Current_Monitoring.c **** * 4:Core/Src/Current_Monitoring.c **** * Created on: 24. April, 2024 5:Core/Src/Current_Monitoring.c **** * Author: nived 6:Core/Src/Current_Monitoring.c **** */ 7:Core/Src/Current_Monitoring.c **** 8:Core/Src/Current_Monitoring.c **** #include "Current_Monitoring.h" 9:Core/Src/Current_Monitoring.c **** #include "main.h" 10:Core/Src/Current_Monitoring.c **** 11:Core/Src/Current_Monitoring.c **** volatile union adc1_channels { 12:Core/Src/Current_Monitoring.c **** struct { 13:Core/Src/Current_Monitoring.c **** uint16_t isense9; 14:Core/Src/Current_Monitoring.c **** uint16_t isense8; 15:Core/Src/Current_Monitoring.c **** uint16_t isense2; 16:Core/Src/Current_Monitoring.c **** uint16_t isense3; 17:Core/Src/Current_Monitoring.c **** uint16_t dietemp; 18:Core/Src/Current_Monitoring.c **** uint16_t vbat; 19:Core/Src/Current_Monitoring.c **** uint16_t vrefint; 20:Core/Src/Current_Monitoring.c **** } adcbank1; 21:Core/Src/Current_Monitoring.c **** 22:Core/Src/Current_Monitoring.c **** uint16_t adcbuffer[7]; // array 7*16 bit 23:Core/Src/Current_Monitoring.c **** 24:Core/Src/Current_Monitoring.c **** } adc_channels1; 25:Core/Src/Current_Monitoring.c **** // ADC's anpassen adc1 - 9, adc2 ist halt 5 , buffer anpassen und namen auch ( isense usw) 26:Core/Src/Current_Monitoring.c **** volatile union adc2_channels { 27:Core/Src/Current_Monitoring.c **** struct { 28:Core/Src/Current_Monitoring.c **** uint16_t isense11; 29:Core/Src/Current_Monitoring.c **** uint16_t isense10; ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 2 30:Core/Src/Current_Monitoring.c **** uint16_t isense5; 31:Core/Src/Current_Monitoring.c **** uint16_t isense4; 32:Core/Src/Current_Monitoring.c **** uint16_t isense1; 33:Core/Src/Current_Monitoring.c **** uint16_t isense7; 34:Core/Src/Current_Monitoring.c **** uint16_t isense6; 35:Core/Src/Current_Monitoring.c **** } adcbank1; 36:Core/Src/Current_Monitoring.c **** 37:Core/Src/Current_Monitoring.c **** uint16_t adcbuffer[7]; 38:Core/Src/Current_Monitoring.c **** 39:Core/Src/Current_Monitoring.c **** } adc_channels2; 40:Core/Src/Current_Monitoring.c **** 41:Core/Src/Current_Monitoring.c **** CurrentMeasurements current_measurements_adc_val; 42:Core/Src/Current_Monitoring.c **** 43:Core/Src/Current_Monitoring.c **** GPIO_PinState adcbank1 = GPIO_PIN_RESET; 44:Core/Src/Current_Monitoring.c **** GPIO_PinState adcbank2 = GPIO_PIN_RESET; 45:Core/Src/Current_Monitoring.c **** 46:Core/Src/Current_Monitoring.c **** ADC_HandleTypeDef* adc1; 47:Core/Src/Current_Monitoring.c **** ADC_HandleTypeDef* adc2; 48:Core/Src/Current_Monitoring.c **** 49:Core/Src/Current_Monitoring.c **** void currentMonitor_init(ADC_HandleTypeDef* hadc1, ADC_HandleTypeDef* hadc2, // init ist initilisie 50:Core/Src/Current_Monitoring.c **** TIM_HandleTypeDef* trigtim) { 30 .loc 1 50 54 view -0 31 .cfi_startproc 32 @ args = 0, pretend = 0, frame = 0 33 @ frame_needed = 0, uses_anonymous_args = 0 34 .loc 1 50 54 is_stmt 0 view .LVU1 35 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 36 .cfi_def_cfa_offset 24 37 .cfi_offset 4, -24 38 .cfi_offset 5, -20 39 .cfi_offset 6, -16 40 .cfi_offset 7, -12 41 .cfi_offset 8, -8 42 .cfi_offset 14, -4 43 0004 0546 mov r5, r0 44 0006 0C46 mov r4, r1 45 0008 1746 mov r7, r2 51:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_3_GPIO_Port, DSEL_3_Pin, adcbank1); //DSELs zu adc's neu zuordnen 46 .loc 1 51 3 is_stmt 1 view .LVU2 47 000a 194E ldr r6, .L3 48 000c 194B ldr r3, .L3+4 49 000e 1A78 ldrb r2, [r3] @ zero_extendqisi2 50 .LVL1: 51 .loc 1 51 3 is_stmt 0 view .LVU3 52 0010 4FF48051 mov r1, #4096 53 .LVL2: 54 .loc 1 51 3 view .LVU4 55 0014 3046 mov r0, r6 56 .LVL3: 57 .loc 1 51 3 view .LVU5 58 0016 FFF7FEFF bl HAL_GPIO_WritePin 59 .LVL4: 52:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin, adcbank2); 60 .loc 1 52 3 is_stmt 1 view .LVU6 61 001a DFF86C80 ldr r8, .L3+24 62 001e 98F80020 ldrb r2, [r8] @ zero_extendqisi2 63 0022 4FF40051 mov r1, #8192 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 3 64 0026 3046 mov r0, r6 65 0028 FFF7FEFF bl HAL_GPIO_WritePin 66 .LVL5: 53:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin, adcbank2); 67 .loc 1 53 3 view .LVU7 68 002c 98F80020 ldrb r2, [r8] @ zero_extendqisi2 69 0030 4FF48041 mov r1, #16384 70 0034 3046 mov r0, r6 71 0036 FFF7FEFF bl HAL_GPIO_WritePin 72 .LVL6: 54:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_6_GPIO_Port, DSEL_6_Pin, adcbank2); 73 .loc 1 54 3 view .LVU8 74 003a 98F80020 ldrb r2, [r8] @ zero_extendqisi2 75 003e 4FF40041 mov r1, #32768 76 0042 3046 mov r0, r6 77 0044 FFF7FEFF bl HAL_GPIO_WritePin 78 .LVL7: 55:Core/Src/Current_Monitoring.c **** 56:Core/Src/Current_Monitoring.c **** adc1 = hadc1; 79 .loc 1 56 3 view .LVU9 80 .loc 1 56 8 is_stmt 0 view .LVU10 81 0048 0B4B ldr r3, .L3+8 82 004a 1D60 str r5, [r3] 57:Core/Src/Current_Monitoring.c **** adc2 = hadc2; 83 .loc 1 57 3 is_stmt 1 view .LVU11 84 .loc 1 57 8 is_stmt 0 view .LVU12 85 004c 0B4B ldr r3, .L3+12 86 004e 1C60 str r4, [r3] 58:Core/Src/Current_Monitoring.c **** HAL_TIM_Base_Start(trigtim); 87 .loc 1 58 3 is_stmt 1 view .LVU13 88 0050 3846 mov r0, r7 89 0052 FFF7FEFF bl HAL_TIM_Base_Start 90 .LVL8: 59:Core/Src/Current_Monitoring.c **** HAL_ADC_Start_DMA(hadc1, (uint32_t*)adc_channels1.adcbuffer, 7); 91 .loc 1 59 3 view .LVU14 92 0056 0722 movs r2, #7 93 0058 0949 ldr r1, .L3+16 94 005a 2846 mov r0, r5 95 005c FFF7FEFF bl HAL_ADC_Start_DMA 96 .LVL9: 60:Core/Src/Current_Monitoring.c **** HAL_ADC_Start_DMA(hadc2, (uint32_t*)adc_channels2.adcbuffer, 7); // wie adc mit dma geht , red mi 97 .loc 1 60 3 view .LVU15 98 0060 0722 movs r2, #7 99 0062 0849 ldr r1, .L3+20 100 0064 2046 mov r0, r4 101 0066 FFF7FEFF bl HAL_ADC_Start_DMA 102 .LVL10: 61:Core/Src/Current_Monitoring.c **** } 103 .loc 1 61 1 is_stmt 0 view .LVU16 104 006a BDE8F081 pop {r4, r5, r6, r7, r8, pc} 105 .LVL11: 106 .L4: 107 .loc 1 61 1 view .LVU17 108 006e 00BF .align 2 109 .L3: 110 0070 00040048 .word 1207960576 111 0074 00000000 .word adcbank1 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 4 112 0078 00000000 .word adc1 113 007c 00000000 .word adc2 114 0080 00000000 .word adc_channels1 115 0084 00000000 .word adc_channels2 116 0088 00000000 .word adcbank2 117 .cfi_endproc 118 .LFE130: 120 .section .text.currentMonitor_checklimits,"ax",%progbits 121 .align 1 122 .global currentMonitor_checklimits 123 .syntax unified 124 .thumb 125 .thumb_func 127 currentMonitor_checklimits: 128 .LFB131: 62:Core/Src/Current_Monitoring.c **** 63:Core/Src/Current_Monitoring.c **** uint8_t currentMonitor_checklimits() { return 0; } 129 .loc 1 63 38 is_stmt 1 view -0 130 .cfi_startproc 131 @ args = 0, pretend = 0, frame = 0 132 @ frame_needed = 0, uses_anonymous_args = 0 133 @ link register save eliminated. 134 .loc 1 63 40 view .LVU19 135 .loc 1 63 50 is_stmt 0 view .LVU20 136 0000 0020 movs r0, #0 137 0002 7047 bx lr 138 .cfi_endproc 139 .LFE131: 141 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits 142 .align 1 143 .global HAL_ADC_ConvCpltCallback 144 .syntax unified 145 .thumb 146 .thumb_func 148 HAL_ADC_ConvCpltCallback: 149 .LVL12: 150 .LFB132: 64:Core/Src/Current_Monitoring.c **** 65:Core/Src/Current_Monitoring.c **** void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { 151 .loc 1 65 56 is_stmt 1 view -0 152 .cfi_startproc 153 @ args = 0, pretend = 0, frame = 0 154 @ frame_needed = 0, uses_anonymous_args = 0 155 .loc 1 65 56 is_stmt 0 view .LVU22 156 0000 70B5 push {r4, r5, r6, lr} 157 .cfi_def_cfa_offset 16 158 .cfi_offset 4, -16 159 .cfi_offset 5, -12 160 .cfi_offset 6, -8 161 .cfi_offset 14, -4 162 0002 0446 mov r4, r0 66:Core/Src/Current_Monitoring.c **** if (hadc == adc2) { 163 .loc 1 66 3 is_stmt 1 view .LVU23 164 .loc 1 66 12 is_stmt 0 view .LVU24 165 0004 904B ldr r3, .L16 166 0006 1B68 ldr r3, [r3] 167 .loc 1 66 6 view .LVU25 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 5 168 0008 8342 cmp r3, r0 169 000a 05D0 beq .L14 170 .LVL13: 171 .L7: 67:Core/Src/Current_Monitoring.c **** if (adcbank2 == GPIO_PIN_RESET) { 68:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.always_on = 69:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_2A; 70:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.modevalve_1 = 71:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense5 * CURR_SENSE_FACTOR_5A; 72:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.ebsvalve_1 = 73:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_5A; 74:Core/Src/Current_Monitoring.c **** adcbank2 = GPIO_PIN_SET; 75:Core/Src/Current_Monitoring.c **** } else { 76:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.shutdown_circuit = 77:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_2A; 78:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.modevalve_2 = 79:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense5 * CURR_SENSE_FACTOR_5A; 80:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.ebsvalve_2 = 81:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_5A; 82:Core/Src/Current_Monitoring.c **** adcbank2 = GPIO_PIN_RESET; 83:Core/Src/Current_Monitoring.c **** } 84:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.fans = 85:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense6 * CURR_SENSE_FACTOR_21A; 86:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.aggregat = 87:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense1 * CURR_SENSE_FACTOR_21A; 88:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.inverter = 89:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense11 * CURR_SENSE_FACTOR_10A; 90:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.steering = 91:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense7 * CURR_SENSE_FACTOR_10A; 92:Core/Src/Current_Monitoring.c **** 93:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_4_GPIO_Port, DSEL_4_Pin, 94:Core/Src/Current_Monitoring.c **** adcbank2); 95:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_5_GPIO_Port, DSEL_5_Pin, 96:Core/Src/Current_Monitoring.c **** adcbank2); 97:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_6_GPIO_Port, DSEL_6_Pin, 98:Core/Src/Current_Monitoring.c **** adcbank2); 99:Core/Src/Current_Monitoring.c **** } 100:Core/Src/Current_Monitoring.c **** 101:Core/Src/Current_Monitoring.c **** if (hadc == adc1) { 172 .loc 1 101 3 is_stmt 1 view .LVU26 173 .loc 1 101 12 is_stmt 0 view .LVU27 174 000c 8F4B ldr r3, .L16+4 175 000e 1B68 ldr r3, [r3] 176 .loc 1 101 6 view .LVU28 177 0010 A342 cmp r3, r4 178 0012 00F0B580 beq .L15 179 .L6: 102:Core/Src/Current_Monitoring.c **** if (adcbank1 == GPIO_PIN_RESET) { 103:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.servos = 104:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense8 * CURR_SENSE_FACTOR_5A; 105:Core/Src/Current_Monitoring.c **** adcbank1 = GPIO_PIN_SET; 106:Core/Src/Current_Monitoring.c **** } else { 107:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.misc = 108:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense8 * CURR_SENSE_FACTOR_5A; 109:Core/Src/Current_Monitoring.c **** adcbank1 = GPIO_PIN_RESET; 110:Core/Src/Current_Monitoring.c **** } 111:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.servicebrake = ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 6 112:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_2A; 113:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.sensorbox = 114:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense2 * CURR_SENSE_FACTOR_21A; 115:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.pumps = 116:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense9 * CURR_SENSE_FACTOR_10A; 117:Core/Src/Current_Monitoring.c **** 118:Core/Src/Current_Monitoring.c **** HAL_GPIO_WritePin(DSEL_3_GPIO_Port, DSEL_3_Pin, 119:Core/Src/Current_Monitoring.c **** adcbank1); 120:Core/Src/Current_Monitoring.c **** } 121:Core/Src/Current_Monitoring.c **** } 180 .loc 1 121 1 view .LVU29 181 0016 70BD pop {r4, r5, r6, pc} 182 .LVL14: 183 .L14: 67:Core/Src/Current_Monitoring.c **** if (adcbank2 == GPIO_PIN_RESET) { 184 .loc 1 67 5 is_stmt 1 view .LVU30 67:Core/Src/Current_Monitoring.c **** if (adcbank2 == GPIO_PIN_RESET) { 185 .loc 1 67 18 is_stmt 0 view .LVU31 186 0018 8D4B ldr r3, .L16+8 187 001a 1B78 ldrb r3, [r3] @ zero_extendqisi2 67:Core/Src/Current_Monitoring.c **** if (adcbank2 == GPIO_PIN_RESET) { 188 .loc 1 67 8 view .LVU32 189 001c 002B cmp r3, #0 190 001e 7ED1 bne .L8 68:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_2A; 191 .loc 1 68 7 is_stmt 1 view .LVU33 69:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.modevalve_1 = 192 .loc 1 69 33 is_stmt 0 view .LVU34 193 0020 8C49 ldr r1, .L16+12 194 0022 4B88 ldrh r3, [r1, #2] 195 0024 9BB2 uxth r3, r3 196 0026 07EE903A vmov s15, r3 @ int 69:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.modevalve_1 = 197 .loc 1 69 43 view .LVU35 198 002a F8EEE77A vcvt.f32.s32 s15, s15 199 002e 9FED8A7A vldr.32 s14, .L16+16 200 0032 67EE877A vmul.f32 s15, s15, s14 68:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_2A; 201 .loc 1 68 46 view .LVU36 202 0036 894A ldr r2, .L16+20 203 0038 FCEEE77A vcvt.u32.f32 s15, s15 204 003c 17EE903A vmov r3, s15 @ int 205 0040 5382 strh r3, [r2, #18] @ movhi 70:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense5 * CURR_SENSE_FACTOR_5A; 206 .loc 1 70 7 is_stmt 1 view .LVU37 71:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.ebsvalve_1 = 207 .loc 1 71 33 is_stmt 0 view .LVU38 208 0042 8B88 ldrh r3, [r1, #4] 209 0044 9BB2 uxth r3, r3 210 0046 07EE903A vmov s15, r3 @ int 71:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.ebsvalve_1 = 211 .loc 1 71 42 view .LVU39 212 004a F8EEE77A vcvt.f32.s32 s15, s15 213 004e 9FED847A vldr.32 s14, .L16+24 214 0052 67EE877A vmul.f32 s15, s15, s14 70:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense5 * CURR_SENSE_FACTOR_5A; 215 .loc 1 70 48 view .LVU40 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 7 216 0056 FCEEE77A vcvt.u32.f32 s15, s15 217 005a 17EE903A vmov r3, s15 @ int 218 005e D382 strh r3, [r2, #22] @ movhi 72:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_5A; 219 .loc 1 72 7 is_stmt 1 view .LVU41 73:Core/Src/Current_Monitoring.c **** adcbank2 = GPIO_PIN_SET; 220 .loc 1 73 33 is_stmt 0 view .LVU42 221 0060 CB88 ldrh r3, [r1, #6] 222 0062 9BB2 uxth r3, r3 223 0064 07EE903A vmov s15, r3 @ int 73:Core/Src/Current_Monitoring.c **** adcbank2 = GPIO_PIN_SET; 224 .loc 1 73 42 view .LVU43 225 0068 F8EEE77A vcvt.f32.s32 s15, s15 226 006c 67EE877A vmul.f32 s15, s15, s14 72:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_5A; 227 .loc 1 72 47 view .LVU44 228 0070 FCEEE77A vcvt.u32.f32 s15, s15 229 0074 17EE903A vmov r3, s15 @ int 230 0078 5383 strh r3, [r2, #26] @ movhi 74:Core/Src/Current_Monitoring.c **** } else { 231 .loc 1 74 7 is_stmt 1 view .LVU45 74:Core/Src/Current_Monitoring.c **** } else { 232 .loc 1 74 16 is_stmt 0 view .LVU46 233 007a 754B ldr r3, .L16+8 234 007c 0122 movs r2, #1 235 007e 1A70 strb r2, [r3] 236 .L9: 84:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense6 * CURR_SENSE_FACTOR_21A; 237 .loc 1 84 5 is_stmt 1 view .LVU47 85:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.aggregat = 238 .loc 1 85 31 is_stmt 0 view .LVU48 239 0080 7449 ldr r1, .L16+12 240 0082 8B89 ldrh r3, [r1, #12] 241 0084 9BB2 uxth r3, r3 242 0086 07EE903A vmov s15, r3 @ int 85:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.aggregat = 243 .loc 1 85 40 view .LVU49 244 008a F8EEE77A vcvt.f32.s32 s15, s15 245 008e 9FED757A vldr.32 s14, .L16+28 246 0092 67EE877A vmul.f32 s15, s15, s14 84:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense6 * CURR_SENSE_FACTOR_21A; 247 .loc 1 84 39 view .LVU50 248 0096 714A ldr r2, .L16+20 249 0098 FCEEE77A vcvt.u32.f32 s15, s15 250 009c 17EE903A vmov r3, s15 @ int 251 00a0 9380 strh r3, [r2, #4] @ movhi 86:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense1 * CURR_SENSE_FACTOR_21A; 252 .loc 1 86 5 is_stmt 1 view .LVU51 87:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.inverter = 253 .loc 1 87 31 is_stmt 0 view .LVU52 254 00a2 0B89 ldrh r3, [r1, #8] 255 00a4 9BB2 uxth r3, r3 256 00a6 07EE903A vmov s15, r3 @ int 87:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.inverter = 257 .loc 1 87 40 view .LVU53 258 00aa F8EEE77A vcvt.f32.s32 s15, s15 259 00ae 67EE877A vmul.f32 s15, s15, s14 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 8 86:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense1 * CURR_SENSE_FACTOR_21A; 260 .loc 1 86 43 view .LVU54 261 00b2 FCEEE77A vcvt.u32.f32 s15, s15 262 00b6 17EE903A vmov r3, s15 @ int 263 00ba D380 strh r3, [r2, #6] @ movhi 88:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense11 * CURR_SENSE_FACTOR_10A; 264 .loc 1 88 5 is_stmt 1 view .LVU55 89:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.steering = 265 .loc 1 89 31 is_stmt 0 view .LVU56 266 00bc 0B88 ldrh r3, [r1] 267 00be 9BB2 uxth r3, r3 268 00c0 07EE903A vmov s15, r3 @ int 89:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.steering = 269 .loc 1 89 41 view .LVU57 270 00c4 F8EEE77A vcvt.f32.s32 s15, s15 271 00c8 9FED677A vldr.32 s14, .L16+32 272 00cc 67EE877A vmul.f32 s15, s15, s14 88:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense11 * CURR_SENSE_FACTOR_10A; 273 .loc 1 88 43 view .LVU58 274 00d0 FCEEE77A vcvt.u32.f32 s15, s15 275 00d4 17EE903A vmov r3, s15 @ int 276 00d8 1381 strh r3, [r2, #8] @ movhi 90:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense7 * CURR_SENSE_FACTOR_10A; 277 .loc 1 90 5 is_stmt 1 view .LVU59 91:Core/Src/Current_Monitoring.c **** 278 .loc 1 91 31 is_stmt 0 view .LVU60 279 00da 4B89 ldrh r3, [r1, #10] 280 00dc 9BB2 uxth r3, r3 281 00de 07EE903A vmov s15, r3 @ int 91:Core/Src/Current_Monitoring.c **** 282 .loc 1 91 40 view .LVU61 283 00e2 F8EEE77A vcvt.f32.s32 s15, s15 284 00e6 67EE877A vmul.f32 s15, s15, s14 90:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense7 * CURR_SENSE_FACTOR_10A; 285 .loc 1 90 43 view .LVU62 286 00ea FCEEE77A vcvt.u32.f32 s15, s15 287 00ee 17EE903A vmov r3, s15 @ int 288 00f2 9381 strh r3, [r2, #12] @ movhi 93:Core/Src/Current_Monitoring.c **** adcbank2); 289 .loc 1 93 5 is_stmt 1 view .LVU63 290 00f4 564E ldr r6, .L16+8 291 00f6 5D4D ldr r5, .L16+36 292 00f8 3278 ldrb r2, [r6] @ zero_extendqisi2 293 00fa 4FF40051 mov r1, #8192 294 00fe 2846 mov r0, r5 295 .LVL15: 93:Core/Src/Current_Monitoring.c **** adcbank2); 296 .loc 1 93 5 is_stmt 0 view .LVU64 297 0100 FFF7FEFF bl HAL_GPIO_WritePin 298 .LVL16: 95:Core/Src/Current_Monitoring.c **** adcbank2); 299 .loc 1 95 5 is_stmt 1 view .LVU65 300 0104 3278 ldrb r2, [r6] @ zero_extendqisi2 301 0106 4FF48041 mov r1, #16384 302 010a 2846 mov r0, r5 303 010c FFF7FEFF bl HAL_GPIO_WritePin 304 .LVL17: ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 9 97:Core/Src/Current_Monitoring.c **** adcbank2); 305 .loc 1 97 5 view .LVU66 306 0110 3278 ldrb r2, [r6] @ zero_extendqisi2 307 0112 4FF40041 mov r1, #32768 308 0116 2846 mov r0, r5 309 0118 FFF7FEFF bl HAL_GPIO_WritePin 310 .LVL18: 311 011c 76E7 b .L7 312 .LVL19: 313 .L8: 76:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_2A; 314 .loc 1 76 7 view .LVU67 77:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.modevalve_2 = 315 .loc 1 77 33 is_stmt 0 view .LVU68 316 011e 4D49 ldr r1, .L16+12 317 0120 4B88 ldrh r3, [r1, #2] 318 0122 9BB2 uxth r3, r3 319 0124 07EE903A vmov s15, r3 @ int 77:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.modevalve_2 = 320 .loc 1 77 43 view .LVU69 321 0128 F8EEE77A vcvt.f32.s32 s15, s15 322 012c 9FED4A7A vldr.32 s14, .L16+16 323 0130 67EE877A vmul.f32 s15, s15, s14 76:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense10 * CURR_SENSE_FACTOR_2A; 324 .loc 1 76 53 view .LVU70 325 0134 494A ldr r2, .L16+20 326 0136 FCEEE77A vcvt.u32.f32 s15, s15 327 013a 17EE903A vmov r3, s15 @ int 328 013e 9382 strh r3, [r2, #20] @ movhi 78:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense5 * CURR_SENSE_FACTOR_5A; 329 .loc 1 78 7 is_stmt 1 view .LVU71 79:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.ebsvalve_2 = 330 .loc 1 79 33 is_stmt 0 view .LVU72 331 0140 8B88 ldrh r3, [r1, #4] 332 0142 9BB2 uxth r3, r3 333 0144 07EE903A vmov s15, r3 @ int 79:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.ebsvalve_2 = 334 .loc 1 79 42 view .LVU73 335 0148 F8EEE77A vcvt.f32.s32 s15, s15 336 014c 9FED447A vldr.32 s14, .L16+24 337 0150 67EE877A vmul.f32 s15, s15, s14 78:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense5 * CURR_SENSE_FACTOR_5A; 338 .loc 1 78 48 view .LVU74 339 0154 FCEEE77A vcvt.u32.f32 s15, s15 340 0158 17EE903A vmov r3, s15 @ int 341 015c 1383 strh r3, [r2, #24] @ movhi 80:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_5A; 342 .loc 1 80 7 is_stmt 1 view .LVU75 81:Core/Src/Current_Monitoring.c **** adcbank2 = GPIO_PIN_RESET; 343 .loc 1 81 33 is_stmt 0 view .LVU76 344 015e CB88 ldrh r3, [r1, #6] 345 0160 9BB2 uxth r3, r3 346 0162 07EE903A vmov s15, r3 @ int 81:Core/Src/Current_Monitoring.c **** adcbank2 = GPIO_PIN_RESET; 347 .loc 1 81 42 view .LVU77 348 0166 F8EEE77A vcvt.f32.s32 s15, s15 349 016a 67EE877A vmul.f32 s15, s15, s14 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 10 80:Core/Src/Current_Monitoring.c **** adc_channels2.adcbank1.isense4 * CURR_SENSE_FACTOR_5A; 350 .loc 1 80 47 view .LVU78 351 016e FCEEE77A vcvt.u32.f32 s15, s15 352 0172 17EE903A vmov r3, s15 @ int 353 0176 9383 strh r3, [r2, #28] @ movhi 82:Core/Src/Current_Monitoring.c **** } 354 .loc 1 82 7 is_stmt 1 view .LVU79 82:Core/Src/Current_Monitoring.c **** } 355 .loc 1 82 16 is_stmt 0 view .LVU80 356 0178 354B ldr r3, .L16+8 357 017a 0022 movs r2, #0 358 017c 1A70 strb r2, [r3] 359 017e 7FE7 b .L9 360 .LVL20: 361 .L15: 102:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.servos = 362 .loc 1 102 5 is_stmt 1 view .LVU81 102:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.servos = 363 .loc 1 102 18 is_stmt 0 view .LVU82 364 0180 3B4B ldr r3, .L16+40 365 0182 1B78 ldrb r3, [r3] @ zero_extendqisi2 102:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.servos = 366 .loc 1 102 8 view .LVU83 367 0184 002B cmp r3, #0 368 0186 4AD1 bne .L11 103:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense8 * CURR_SENSE_FACTOR_5A; 369 .loc 1 103 7 is_stmt 1 view .LVU84 104:Core/Src/Current_Monitoring.c **** adcbank1 = GPIO_PIN_SET; 370 .loc 1 104 33 is_stmt 0 view .LVU85 371 0188 3A4B ldr r3, .L16+44 372 018a 5B88 ldrh r3, [r3, #2] 373 018c 9BB2 uxth r3, r3 374 018e 07EE903A vmov s15, r3 @ int 104:Core/Src/Current_Monitoring.c **** adcbank1 = GPIO_PIN_SET; 375 .loc 1 104 42 view .LVU86 376 0192 F8EEE77A vcvt.f32.s32 s15, s15 377 0196 9FED327A vldr.32 s14, .L16+24 378 019a 67EE877A vmul.f32 s15, s15, s14 103:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense8 * CURR_SENSE_FACTOR_5A; 379 .loc 1 103 43 view .LVU87 380 019e FCEEE77A vcvt.u32.f32 s15, s15 381 01a2 2E4B ldr r3, .L16+20 382 01a4 17EE902A vmov r2, s15 @ int 383 01a8 DA81 strh r2, [r3, #14] @ movhi 105:Core/Src/Current_Monitoring.c **** } else { 384 .loc 1 105 7 is_stmt 1 view .LVU88 105:Core/Src/Current_Monitoring.c **** } else { 385 .loc 1 105 16 is_stmt 0 view .LVU89 386 01aa 314B ldr r3, .L16+40 387 01ac 0122 movs r2, #1 388 01ae 1A70 strb r2, [r3] 389 .L12: 111:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_2A; 390 .loc 1 111 5 is_stmt 1 view .LVU90 112:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.sensorbox = 391 .loc 1 112 31 is_stmt 0 view .LVU91 392 01b0 3049 ldr r1, .L16+44 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 11 393 01b2 CB88 ldrh r3, [r1, #6] 394 01b4 9BB2 uxth r3, r3 395 01b6 07EE903A vmov s15, r3 @ int 112:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.sensorbox = 396 .loc 1 112 40 view .LVU92 397 01ba F8EEE77A vcvt.f32.s32 s15, s15 398 01be 9FED267A vldr.32 s14, .L16+16 399 01c2 67EE877A vmul.f32 s15, s15, s14 111:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense3 * CURR_SENSE_FACTOR_2A; 400 .loc 1 111 47 view .LVU93 401 01c6 254A ldr r2, .L16+20 402 01c8 FCEEE77A vcvt.u32.f32 s15, s15 403 01cc 17EE903A vmov r3, s15 @ int 404 01d0 1380 strh r3, [r2] @ movhi 113:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense2 * CURR_SENSE_FACTOR_21A; 405 .loc 1 113 5 is_stmt 1 view .LVU94 114:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.pumps = 406 .loc 1 114 31 is_stmt 0 view .LVU95 407 01d2 8B88 ldrh r3, [r1, #4] 408 01d4 9BB2 uxth r3, r3 409 01d6 07EE903A vmov s15, r3 @ int 114:Core/Src/Current_Monitoring.c **** current_measurements_adc_val.pumps = 410 .loc 1 114 40 view .LVU96 411 01da F8EEE77A vcvt.f32.s32 s15, s15 412 01de 9FED217A vldr.32 s14, .L16+28 413 01e2 67EE877A vmul.f32 s15, s15, s14 113:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense2 * CURR_SENSE_FACTOR_21A; 414 .loc 1 113 44 view .LVU97 415 01e6 FCEEE77A vcvt.u32.f32 s15, s15 416 01ea 17EE903A vmov r3, s15 @ int 417 01ee 5380 strh r3, [r2, #2] @ movhi 115:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense9 * CURR_SENSE_FACTOR_10A; 418 .loc 1 115 5 is_stmt 1 view .LVU98 116:Core/Src/Current_Monitoring.c **** 419 .loc 1 116 31 is_stmt 0 view .LVU99 420 01f0 0B88 ldrh r3, [r1] 421 01f2 9BB2 uxth r3, r3 422 01f4 07EE903A vmov s15, r3 @ int 116:Core/Src/Current_Monitoring.c **** 423 .loc 1 116 40 view .LVU100 424 01f8 F8EEE77A vcvt.f32.s32 s15, s15 425 01fc 9FED1A7A vldr.32 s14, .L16+32 426 0200 67EE877A vmul.f32 s15, s15, s14 115:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense9 * CURR_SENSE_FACTOR_10A; 427 .loc 1 115 40 view .LVU101 428 0204 FCEEE77A vcvt.u32.f32 s15, s15 429 0208 17EE903A vmov r3, s15 @ int 430 020c 5381 strh r3, [r2, #10] @ movhi 118:Core/Src/Current_Monitoring.c **** adcbank1); 431 .loc 1 118 5 is_stmt 1 view .LVU102 432 020e 184B ldr r3, .L16+40 433 0210 1A78 ldrb r2, [r3] @ zero_extendqisi2 434 0212 4FF48051 mov r1, #4096 435 0216 1548 ldr r0, .L16+36 436 0218 FFF7FEFF bl HAL_GPIO_WritePin 437 .LVL21: 438 .loc 1 121 1 is_stmt 0 view .LVU103 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 12 439 021c FBE6 b .L6 440 .L11: 107:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense8 * CURR_SENSE_FACTOR_5A; 441 .loc 1 107 7 is_stmt 1 view .LVU104 108:Core/Src/Current_Monitoring.c **** adcbank1 = GPIO_PIN_RESET; 442 .loc 1 108 33 is_stmt 0 view .LVU105 443 021e 154B ldr r3, .L16+44 444 0220 5B88 ldrh r3, [r3, #2] 445 0222 9BB2 uxth r3, r3 446 0224 07EE903A vmov s15, r3 @ int 108:Core/Src/Current_Monitoring.c **** adcbank1 = GPIO_PIN_RESET; 447 .loc 1 108 42 view .LVU106 448 0228 F8EEE77A vcvt.f32.s32 s15, s15 449 022c 9FED0C7A vldr.32 s14, .L16+24 450 0230 67EE877A vmul.f32 s15, s15, s14 107:Core/Src/Current_Monitoring.c **** adc_channels1.adcbank1.isense8 * CURR_SENSE_FACTOR_5A; 451 .loc 1 107 41 view .LVU107 452 0234 FCEEE77A vcvt.u32.f32 s15, s15 453 0238 084B ldr r3, .L16+20 454 023a 17EE902A vmov r2, s15 @ int 455 023e 1A82 strh r2, [r3, #16] @ movhi 109:Core/Src/Current_Monitoring.c **** } 456 .loc 1 109 7 is_stmt 1 view .LVU108 109:Core/Src/Current_Monitoring.c **** } 457 .loc 1 109 16 is_stmt 0 view .LVU109 458 0240 0B4B ldr r3, .L16+40 459 0242 0022 movs r2, #0 460 0244 1A70 strb r2, [r3] 461 0246 B3E7 b .L12 462 .L17: 463 .align 2 464 .L16: 465 0248 00000000 .word adc2 466 024c 00000000 .word adc1 467 0250 00000000 .word adcbank2 468 0254 00000000 .word adc_channels2 469 0258 FFC3383F .word 1060684799 470 025c 00000000 .word current_measurements_adc_val 471 0260 FFFB1E40 .word 1075772415 472 0264 FFD87341 .word 1098111231 473 0268 FF19CC40 .word 1087117823 474 026c 00040048 .word 1207960576 475 0270 00000000 .word adcbank1 476 0274 00000000 .word adc_channels1 477 .cfi_endproc 478 .LFE132: 480 .global adc2 481 .section .bss.adc2,"aw",%nobits 482 .align 2 485 adc2: 486 0000 00000000 .space 4 487 .global adc1 488 .section .bss.adc1,"aw",%nobits 489 .align 2 492 adc1: 493 0000 00000000 .space 4 494 .global adcbank2 ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 13 495 .section .bss.adcbank2,"aw",%nobits 498 adcbank2: 499 0000 00 .space 1 500 .global adcbank1 501 .section .bss.adcbank1,"aw",%nobits 504 adcbank1: 505 0000 00 .space 1 506 .global current_measurements_adc_val 507 .section .bss.current_measurements_adc_val,"aw",%nobits 508 .align 2 511 current_measurements_adc_val: 512 0000 00000000 .space 30 512 00000000 512 00000000 512 00000000 512 00000000 513 .global adc_channels2 514 .section .bss.adc_channels2,"aw",%nobits 515 .align 2 518 adc_channels2: 519 0000 00000000 .space 14 519 00000000 519 00000000 519 0000 520 .global adc_channels1 521 .section .bss.adc_channels1,"aw",%nobits 522 .align 2 525 adc_channels1: 526 0000 00000000 .space 14 526 00000000 526 00000000 526 0000 527 .text 528 .Letext0: 529 .file 2 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa 530 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa 531 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 532 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 533 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 534 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h" 535 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 536 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_adc_ex.h" 537 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_adc.h" 538 .file 11 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_tim.h" 539 .file 12 "Core/Inc/Current_Monitoring.h" ARM GAS C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s page 14 DEFINED SYMBOLS *ABS*:00000000 Current_Monitoring.c C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:21 .text.currentMonitor_init:00000000 $t C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:27 .text.currentMonitor_init:00000000 currentMonitor_init C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:110 .text.currentMonitor_init:00000070 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:504 .bss.adcbank1:00000000 adcbank1 C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:492 .bss.adc1:00000000 adc1 C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:485 .bss.adc2:00000000 adc2 C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:525 .bss.adc_channels1:00000000 adc_channels1 C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:518 .bss.adc_channels2:00000000 adc_channels2 C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:498 .bss.adcbank2:00000000 adcbank2 C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:121 .text.currentMonitor_checklimits:00000000 $t C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:127 .text.currentMonitor_checklimits:00000000 currentMonitor_checklimits C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:142 .text.HAL_ADC_ConvCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:148 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:465 .text.HAL_ADC_ConvCpltCallback:00000248 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:511 .bss.current_measurements_adc_val:00000000 current_measurements_adc_val C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:482 .bss.adc2:00000000 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:489 .bss.adc1:00000000 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:499 .bss.adcbank2:00000000 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:505 .bss.adcbank1:00000000 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:508 .bss.current_measurements_adc_val:00000000 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:515 .bss.adc_channels2:00000000 $d C:\Users\nived\AppData\Local\Temp\ccQXe4GZ.s:522 .bss.adc_channels1:00000000 $d UNDEFINED SYMBOLS HAL_GPIO_WritePin HAL_TIM_Base_Start HAL_ADC_Start_DMA