ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.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, 6 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "soft_flow.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .global flow_dev1 20 .section .bss.flow_dev1,"aw",%nobits 21 .align 2 24 flow_dev1: 25 0000 00000000 .space 38 25 00000000 25 00000000 25 00000000 25 00000000 26 .global flow_dev2 27 .section .bss.flow_dev2,"aw",%nobits 28 .align 2 31 flow_dev2: 32 0000 00000000 .space 38 32 00000000 32 00000000 32 00000000 32 00000000 33 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits 34 .align 1 35 .global HAL_GPIO_EXTI_Callback 36 .syntax unified 37 .thumb 38 .thumb_func 40 HAL_GPIO_EXTI_Callback: 41 .LFB133: 42 .file 1 "user_src/soft_flow.c" 1:user_src/soft_flow.c **** #include "soft_flow.h" 2:user_src/soft_flow.c **** #include "gpio.h" 3:user_src/soft_flow.c **** #include "common.h" 4:user_src/soft_flow.c **** #include "soft_uart.h" 5:user_src/soft_flow.c **** #include "soft_flash.h" 6:user_src/soft_flow.c **** #include "soft_p_2_c.h" 7:user_src/soft_flow.c **** #include "string.h" 8:user_src/soft_flow.c **** #include "soft_water_device.h" 9:user_src/soft_flow.c **** #include "soft_seed_device.h" 10:user_src/soft_flow.c **** #include "soft_timer.h" 11:user_src/soft_flow.c **** #include "soft_test.h" 12:user_src/soft_flow.c **** #include "tim.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 2 13:user_src/soft_flow.c **** 14:user_src/soft_flow.c **** flow_hl flow_dev1; 15:user_src/soft_flow.c **** flow_hl flow_dev2; 16:user_src/soft_flow.c **** 17:user_src/soft_flow.c **** void HAL_GPIO_EXTI_Callback( uint16_t GPIO_Pin ) 18:user_src/soft_flow.c **** { 43 .loc 1 18 1 44 .cfi_startproc 45 @ args = 0, pretend = 0, frame = 8 46 @ frame_needed = 1, uses_anonymous_args = 0 47 0000 80B5 push {r7, lr} 48 .LCFI0: 49 .cfi_def_cfa_offset 8 50 .cfi_offset 7, -8 51 .cfi_offset 14, -4 52 0002 82B0 sub sp, sp, #8 53 .LCFI1: 54 .cfi_def_cfa_offset 16 55 0004 00AF add r7, sp, #0 56 .LCFI2: 57 .cfi_def_cfa_register 7 58 0006 0346 mov r3, r0 59 0008 FB80 strh r3, [r7, #6] @ movhi 19:user_src/soft_flow.c **** //__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); 20:user_src/soft_flow.c **** if ( GPIO_Pin == EXIT_1T_Pin ) 60 .loc 1 20 8 61 000a FB88 ldrh r3, [r7, #6] 62 000c 402B cmp r3, #64 63 000e 16D1 bne .L2 21:user_src/soft_flow.c **** { 22:user_src/soft_flow.c **** if(HAL_GPIO_ReadPin( GPIOB, EXIT_1T_Pin ) == GPIO_PIN_SET) 64 .loc 1 22 12 65 0010 4021 movs r1, #64 66 0012 1A48 ldr r0, .L7 67 0014 FFF7FEFF bl HAL_GPIO_ReadPin 68 0018 0346 mov r3, r0 69 .loc 1 22 11 70 001a 012B cmp r3, #1 71 001c 04D1 bne .L3 23:user_src/soft_flow.c **** { 24:user_src/soft_flow.c **** flow_count_add(1,EXTI_UP); 72 .loc 1 24 13 73 001e 0221 movs r1, #2 74 0020 0120 movs r0, #1 75 0022 FFF7FEFF bl flow_count_add 76 0026 0AE0 b .L2 77 .L3: 25:user_src/soft_flow.c **** } 26:user_src/soft_flow.c **** else if (HAL_GPIO_ReadPin( GPIOB, EXIT_1T_Pin ) == GPIO_PIN_RESET) 78 .loc 1 26 18 79 0028 4021 movs r1, #64 80 002a 1448 ldr r0, .L7 81 002c FFF7FEFF bl HAL_GPIO_ReadPin 82 0030 0346 mov r3, r0 83 .loc 1 26 17 84 0032 002B cmp r3, #0 85 0034 03D1 bne .L2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 3 27:user_src/soft_flow.c **** { 28:user_src/soft_flow.c **** flow_count_add(1,EXTI_FALL); 86 .loc 1 28 13 87 0036 0121 movs r1, #1 88 0038 0120 movs r0, #1 89 003a FFF7FEFF bl flow_count_add 90 .L2: 29:user_src/soft_flow.c **** } 30:user_src/soft_flow.c **** } 31:user_src/soft_flow.c **** 32:user_src/soft_flow.c **** if ( GPIO_Pin == EXIT_2T_Pin ) 91 .loc 1 32 8 92 003e FB88 ldrh r3, [r7, #6] 93 0040 802B cmp r3, #128 94 0042 16D1 bne .L6 33:user_src/soft_flow.c **** { 34:user_src/soft_flow.c **** if(HAL_GPIO_ReadPin( GPIOB, EXIT_2T_Pin ) == GPIO_PIN_SET) 95 .loc 1 34 12 96 0044 8021 movs r1, #128 97 0046 0D48 ldr r0, .L7 98 0048 FFF7FEFF bl HAL_GPIO_ReadPin 99 004c 0346 mov r3, r0 100 .loc 1 34 11 101 004e 012B cmp r3, #1 102 0050 04D1 bne .L5 35:user_src/soft_flow.c **** { 36:user_src/soft_flow.c **** flow_count_add(2,EXTI_UP); 103 .loc 1 36 13 104 0052 0221 movs r1, #2 105 0054 0220 movs r0, #2 106 0056 FFF7FEFF bl flow_count_add 37:user_src/soft_flow.c **** } 38:user_src/soft_flow.c **** else if (HAL_GPIO_ReadPin( GPIOB, EXIT_2T_Pin ) == GPIO_PIN_RESET) 39:user_src/soft_flow.c **** { 40:user_src/soft_flow.c **** flow_count_add(2,EXTI_FALL); 41:user_src/soft_flow.c **** } 42:user_src/soft_flow.c **** } 43:user_src/soft_flow.c **** } 107 .loc 1 43 1 108 005a 0AE0 b .L6 109 .L5: 38:user_src/soft_flow.c **** { 110 .loc 1 38 18 111 005c 8021 movs r1, #128 112 005e 0748 ldr r0, .L7 113 0060 FFF7FEFF bl HAL_GPIO_ReadPin 114 0064 0346 mov r3, r0 38:user_src/soft_flow.c **** { 115 .loc 1 38 17 116 0066 002B cmp r3, #0 117 0068 03D1 bne .L6 40:user_src/soft_flow.c **** } 118 .loc 1 40 13 119 006a 0121 movs r1, #1 120 006c 0220 movs r0, #2 121 006e FFF7FEFF bl flow_count_add 122 .L6: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 4 123 .loc 1 43 1 124 0072 00BF nop 125 0074 0837 adds r7, r7, #8 126 .LCFI3: 127 .cfi_def_cfa_offset 8 128 0076 BD46 mov sp, r7 129 .LCFI4: 130 .cfi_def_cfa_register 13 131 @ sp needed 132 0078 80BD pop {r7, pc} 133 .L8: 134 007a 00BF .align 2 135 .L7: 136 007c 00040048 .word 1207960576 137 .cfi_endproc 138 .LFE133: 140 .section .text.flow_count_add,"ax",%progbits 141 .align 1 142 .global flow_count_add 143 .syntax unified 144 .thumb 145 .thumb_func 147 flow_count_add: 148 .LFB134: 44:user_src/soft_flow.c **** 45:user_src/soft_flow.c **** 46:user_src/soft_flow.c **** /** 47:user_src/soft_flow.c **** * @file flow_count_add 48:user_src/soft_flow.c **** * @brief 外部中断计算触发数 49:user_src/soft_flow.c **** * @param none 50:user_src/soft_flow.c **** * @details 51:user_src/soft_flow.c **** * @author Zhang Sir 52:user_src/soft_flow.c **** **/ 53:user_src/soft_flow.c **** void flow_count_add(uint8_t flow_num,uint8_t exti_status) 54:user_src/soft_flow.c **** { 149 .loc 1 54 1 150 .cfi_startproc 151 @ args = 0, pretend = 0, frame = 16 152 @ frame_needed = 1, uses_anonymous_args = 0 153 0000 80B5 push {r7, lr} 154 .LCFI5: 155 .cfi_def_cfa_offset 8 156 .cfi_offset 7, -8 157 .cfi_offset 14, -4 158 0002 2DED028B vpush.64 {d8} 159 .LCFI6: 160 .cfi_def_cfa_offset 16 161 .cfi_offset 80, -16 162 .cfi_offset 81, -12 163 0006 84B0 sub sp, sp, #16 164 .LCFI7: 165 .cfi_def_cfa_offset 32 166 0008 00AF add r7, sp, #0 167 .LCFI8: 168 .cfi_def_cfa_register 7 169 000a 0346 mov r3, r0 170 000c 0A46 mov r2, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 5 171 000e FB71 strb r3, [r7, #7] 172 0010 1346 mov r3, r2 173 0012 BB71 strb r3, [r7, #6] 55:user_src/soft_flow.c **** flow_hl *flow_temp = NULL; 174 .loc 1 55 14 175 0014 0023 movs r3, #0 176 0016 FB60 str r3, [r7, #12] 56:user_src/soft_flow.c **** 57:user_src/soft_flow.c **** if(flow_num == 1) 177 .loc 1 57 7 178 0018 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 179 001a 012B cmp r3, #1 180 001c 02D1 bne .L10 58:user_src/soft_flow.c **** { 59:user_src/soft_flow.c **** flow_temp = &flow_dev1; 181 .loc 1 59 19 182 001e 484B ldr r3, .L16 183 0020 FB60 str r3, [r7, #12] 184 0022 01E0 b .L11 185 .L10: 60:user_src/soft_flow.c **** } 61:user_src/soft_flow.c **** else 62:user_src/soft_flow.c **** { 63:user_src/soft_flow.c **** flow_temp = &flow_dev2; 186 .loc 1 63 19 187 0024 474B ldr r3, .L16+4 188 0026 FB60 str r3, [r7, #12] 189 .L11: 64:user_src/soft_flow.c **** } 65:user_src/soft_flow.c **** 66:user_src/soft_flow.c **** if(exti_status == EXTI_UP) 190 .loc 1 66 7 191 0028 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 192 002a 022B cmp r3, #2 193 002c 6CD1 bne .L12 67:user_src/soft_flow.c **** { 68:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_temp->falling_delay_time > 700) 194 .loc 1 68 12 195 002e FFF7FEFF bl Get_Systimer_Us 196 0032 0246 mov r2, r0 197 .loc 1 68 41 198 0034 FB68 ldr r3, [r7, #12] 199 0036 D3F82230 ldr r3, [r3, #34] @ unaligned 200 .loc 1 68 30 201 003a D31A subs r3, r2, r3 202 .loc 1 68 11 203 003c B3F52F7F cmp r3, #700 204 0040 78D9 bls .L15 69:user_src/soft_flow.c **** { 70:user_src/soft_flow.c **** flow_temp->falling_delay_falg = true; 205 .loc 1 70 43 206 0042 FB68 ldr r3, [r7, #12] 207 0044 0122 movs r2, #1 208 0046 DA75 strb r2, [r3, #23] 71:user_src/soft_flow.c **** 72:user_src/soft_flow.c **** if(flow_temp->falling_delay_falg == true && flow_temp->rising_delay_flag == true) 209 .loc 1 72 25 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 6 210 0048 FB68 ldr r3, [r7, #12] 211 004a DB7D ldrb r3, [r3, #23] @ zero_extendqisi2 212 .loc 1 72 15 213 004c 002B cmp r3, #0 214 004e 54D0 beq .L14 215 .loc 1 72 66 discriminator 1 216 0050 FB68 ldr r3, [r7, #12] 217 0052 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2 218 .loc 1 72 54 discriminator 1 219 0054 002B cmp r3, #0 220 0056 50D0 beq .L14 73:user_src/soft_flow.c **** { 74:user_src/soft_flow.c **** flow_temp->falling_delay_falg = false; 221 .loc 1 74 47 222 0058 FB68 ldr r3, [r7, #12] 223 005a 0022 movs r2, #0 224 005c DA75 strb r2, [r3, #23] 75:user_src/soft_flow.c **** flow_temp->rising_delay_flag = false; 225 .loc 1 75 46 226 005e FB68 ldr r3, [r7, #12] 227 0060 0022 movs r2, #0 228 0062 9A75 strb r2, [r3, #22] 76:user_src/soft_flow.c **** flow_temp->irq_count++; 229 .loc 1 76 26 230 0064 FB68 ldr r3, [r7, #12] 231 0066 D3F80930 ldr r3, [r3, #9] @ unaligned 232 .loc 1 76 37 233 006a 5A1C adds r2, r3, #1 234 006c FB68 ldr r3, [r7, #12] 235 006e C3F80920 str r2, [r3, #9] @ unaligned 77:user_src/soft_flow.c **** 78:user_src/soft_flow.c **** if ( flow_temp->irq_count - flow_temp->irq_last_count >= 5 && flow_temp->irq_flag = 236 .loc 1 78 31 237 0072 FB68 ldr r3, [r7, #12] 238 0074 D3F80920 ldr r2, [r3, #9] @ unaligned 239 .loc 1 78 54 240 0078 FB68 ldr r3, [r7, #12] 241 007a D3F80D30 ldr r3, [r3, #13] @ unaligned 242 .loc 1 78 43 243 007e D31A subs r3, r2, r3 244 .loc 1 78 20 245 0080 042B cmp r3, #4 246 0082 3AD9 bls .L14 247 .loc 1 78 88 discriminator 1 248 0084 FB68 ldr r3, [r7, #12] 249 0086 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2 250 .loc 1 78 76 discriminator 1 251 0088 002B cmp r3, #0 252 008a 36D1 bne .L14 79:user_src/soft_flow.c **** { 80:user_src/soft_flow.c **** flow_temp->speed = ( 1000.0f * ( flow_temp->irq_count - flow_temp->irq_last 253 .loc 1 80 67 254 008c FB68 ldr r3, [r7, #12] 255 008e D3F80920 ldr r2, [r3, #9] @ unaligned 256 .loc 1 80 90 257 0092 FB68 ldr r3, [r7, #12] 258 0094 D3F80D30 ldr r3, [r3, #13] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 7 259 .loc 1 80 79 260 0098 D31A subs r3, r2, r3 261 .loc 1 80 54 262 009a 07EE903A vmov s15, r3 @ int 263 009e F8EE677A vcvt.f32.u32 s15, s15 264 00a2 9FED297A vldr.32 s14, .L16+8 265 00a6 67EE877A vmul.f32 s15, s15, s14 266 .loc 1 80 111 267 00aa B3EE067A vmov.f32 s14, #2.2e+1 268 00ae 87EE878A vdiv.f32 s16, s15, s14 81:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_temp->last_time ) ); //ml 269 .loc 1 81 50 270 00b2 FFF7FEFF bl Get_Systimer_Us 271 00b6 0246 mov r2, r0 272 .loc 1 81 79 273 00b8 FB68 ldr r3, [r7, #12] 274 00ba D3F80530 ldr r3, [r3, #5] @ unaligned 275 .loc 1 81 68 276 00be D31A subs r3, r2, r3 277 .loc 1 81 46 278 00c0 07EE903A vmov s15, r3 @ int 279 00c4 B8EE677A vcvt.f32.u32 s14, s15 280 00c8 DFED206A vldr.32 s13, .L16+12 281 00cc C6EE877A vdiv.f32 s15, s13, s14 80:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_temp->last_time ) ); //ml 282 .loc 1 80 121 283 00d0 68EE277A vmul.f32 s15, s16, s15 80:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_temp->last_time ) ); //ml 284 .loc 1 80 42 285 00d4 FDEEE77A vcvt.s32.f32 s15, s15 286 00d8 17EE902A vmov r2, s15 @ int 287 00dc FB68 ldr r3, [r7, #12] 288 00de C3F81220 str r2, [r3, #18] @ unaligned 82:user_src/soft_flow.c **** flow_temp->irq_last_count = flow_temp->irq_count; 289 .loc 1 82 58 290 00e2 FB68 ldr r3, [r7, #12] 291 00e4 D3F80920 ldr r2, [r3, #9] @ unaligned 292 .loc 1 82 47 293 00e8 FB68 ldr r3, [r7, #12] 294 00ea C3F80D20 str r2, [r3, #13] @ unaligned 83:user_src/soft_flow.c **** flow_temp->last_time = Get_Systimer_Us(); 295 .loc 1 83 44 296 00ee FFF7FEFF bl Get_Systimer_Us 297 00f2 0246 mov r2, r0 298 .loc 1 83 42 299 00f4 FB68 ldr r3, [r7, #12] 300 00f6 C3F80520 str r2, [r3, #5] @ unaligned 301 .L14: 84:user_src/soft_flow.c **** } 85:user_src/soft_flow.c **** } 86:user_src/soft_flow.c **** 87:user_src/soft_flow.c **** flow_temp->rising_delay_time = Get_Systimer_Us(); 302 .loc 1 87 44 303 00fa FFF7FEFF bl Get_Systimer_Us 304 00fe 0246 mov r2, r0 305 .loc 1 87 42 306 0100 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 8 307 0102 C3F81E20 str r2, [r3, #30] @ unaligned 88:user_src/soft_flow.c **** } 89:user_src/soft_flow.c **** } 90:user_src/soft_flow.c **** else if(exti_status == EXTI_FALL) 91:user_src/soft_flow.c **** { 92:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_temp->rising_delay_time > 700) 93:user_src/soft_flow.c **** { 94:user_src/soft_flow.c **** flow_temp->rising_delay_flag = true; 95:user_src/soft_flow.c **** flow_temp->falling_delay_time = Get_Systimer_Us(); 96:user_src/soft_flow.c **** } 97:user_src/soft_flow.c **** } 98:user_src/soft_flow.c **** } 308 .loc 1 98 1 309 0106 15E0 b .L15 310 .L12: 90:user_src/soft_flow.c **** { 311 .loc 1 90 12 312 0108 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 313 010a 012B cmp r3, #1 314 010c 12D1 bne .L15 92:user_src/soft_flow.c **** { 315 .loc 1 92 12 316 010e FFF7FEFF bl Get_Systimer_Us 317 0112 0246 mov r2, r0 92:user_src/soft_flow.c **** { 318 .loc 1 92 41 319 0114 FB68 ldr r3, [r7, #12] 320 0116 D3F81E30 ldr r3, [r3, #30] @ unaligned 92:user_src/soft_flow.c **** { 321 .loc 1 92 30 322 011a D31A subs r3, r2, r3 92:user_src/soft_flow.c **** { 323 .loc 1 92 11 324 011c B3F52F7F cmp r3, #700 325 0120 08D9 bls .L15 94:user_src/soft_flow.c **** flow_temp->falling_delay_time = Get_Systimer_Us(); 326 .loc 1 94 42 327 0122 FB68 ldr r3, [r7, #12] 328 0124 0122 movs r2, #1 329 0126 9A75 strb r2, [r3, #22] 95:user_src/soft_flow.c **** } 330 .loc 1 95 45 331 0128 FFF7FEFF bl Get_Systimer_Us 332 012c 0246 mov r2, r0 95:user_src/soft_flow.c **** } 333 .loc 1 95 43 334 012e FB68 ldr r3, [r7, #12] 335 0130 C3F82220 str r2, [r3, #34] @ unaligned 336 .L15: 337 .loc 1 98 1 338 0134 00BF nop 339 0136 1037 adds r7, r7, #16 340 .LCFI9: 341 .cfi_def_cfa_offset 16 342 0138 BD46 mov sp, r7 343 .LCFI10: 344 .cfi_def_cfa_register 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 9 345 @ sp needed 346 013a BDEC028B vldm sp!, {d8} 347 .LCFI11: 348 .cfi_restore 80 349 .cfi_restore 81 350 .cfi_def_cfa_offset 8 351 013e 80BD pop {r7, pc} 352 .L17: 353 .align 2 354 .L16: 355 0140 00000000 .word flow_dev1 356 0144 00000000 .word flow_dev2 357 0148 00007A44 .word 1148846080 358 014c 00247449 .word 1232348160 359 .cfi_endproc 360 .LFE134: 362 .global L3_status 363 .section .data.L3_status,"aw" 366 L3_status: 367 0000 01 .byte 1 368 .global L4_status 369 .section .data.L4_status,"aw" 372 L4_status: 373 0000 01 .byte 1 374 .section .text.L1L2_GPIO_check,"ax",%progbits 375 .align 1 376 .global L1L2_GPIO_check 377 .syntax unified 378 .thumb 379 .thumb_func 381 L1L2_GPIO_check: 382 .LFB135: 99:user_src/soft_flow.c **** 100:user_src/soft_flow.c **** 101:user_src/soft_flow.c **** /** 102:user_src/soft_flow.c **** * @file L1L2_GPIO_check 103:user_src/soft_flow.c **** * @brief 34IO端口检测 104:user_src/soft_flow.c **** * @param none 105:user_src/soft_flow.c **** * @details 106:user_src/soft_flow.c **** * @author Zhang Sir 107:user_src/soft_flow.c **** **/ 108:user_src/soft_flow.c **** GPIO_PinState L3_status = GPIO_PIN_SET; 109:user_src/soft_flow.c **** GPIO_PinState L4_status = GPIO_PIN_SET; 110:user_src/soft_flow.c **** void L1L2_GPIO_check() 111:user_src/soft_flow.c **** { 383 .loc 1 111 1 384 .cfi_startproc 385 @ args = 0, pretend = 0, frame = 8 386 @ frame_needed = 1, uses_anonymous_args = 0 387 0000 80B5 push {r7, lr} 388 .LCFI12: 389 .cfi_def_cfa_offset 8 390 .cfi_offset 7, -8 391 .cfi_offset 14, -4 392 0002 82B0 sub sp, sp, #8 393 .LCFI13: 394 .cfi_def_cfa_offset 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 10 395 0004 00AF add r7, sp, #0 396 .LCFI14: 397 .cfi_def_cfa_register 7 112:user_src/soft_flow.c **** static int l1l2_time = 0; 113:user_src/soft_flow.c **** if ( HAL_GetTick() - l1l2_time < 100 ) 398 .loc 1 113 10 399 0006 FFF7FEFF bl HAL_GetTick 400 000a 0346 mov r3, r0 401 .loc 1 113 24 402 000c 404A ldr r2, .L29 403 000e 1268 ldr r2, [r2] 404 0010 9B1A subs r3, r3, r2 405 .loc 1 113 8 406 0012 632B cmp r3, #99 407 0014 78D9 bls .L28 114:user_src/soft_flow.c **** { 115:user_src/soft_flow.c **** return; 116:user_src/soft_flow.c **** } 117:user_src/soft_flow.c **** l1l2_time = HAL_GetTick(); 408 .loc 1 117 17 409 0016 FFF7FEFF bl HAL_GetTick 410 001a 0346 mov r3, r0 411 001c 1A46 mov r2, r3 412 .loc 1 117 15 413 001e 3C4B ldr r3, .L29 414 0020 1A60 str r2, [r3] 118:user_src/soft_flow.c **** 119:user_src/soft_flow.c **** // 抛球信号 接PMUA1 120:user_src/soft_flow.c **** // 抛球反馈信号接 L1 121:user_src/soft_flow.c **** // 断药L2 122:user_src/soft_flow.c **** if(current_pmu_par.uavtype == JET_UAV_TYPE) 415 .loc 1 122 23 416 0022 3C4B ldr r3, .L29+4 417 0024 B3F90230 ldrsh r3, [r3, #2] 418 .loc 1 122 7 419 0028 0D2B cmp r3, #13 420 002a 47D1 bne .L21 421 .LBB2: 123:user_src/soft_flow.c **** { 124:user_src/soft_flow.c **** static bool jet_active = false; 125:user_src/soft_flow.c **** static uint32_t jet_time = 0; 126:user_src/soft_flow.c **** static bool jet_ack_flag = false; 127:user_src/soft_flow.c **** 128:user_src/soft_flow.c **** GPIO_PinState Dev_ack = HAL_GPIO_ReadPin( GPIOB, GPIO_PIN_8 ); 422 .loc 1 128 33 423 002c 4FF48071 mov r1, #256 424 0030 3948 ldr r0, .L29+8 425 0032 FFF7FEFF bl HAL_GPIO_ReadPin 426 0036 0346 mov r3, r0 427 0038 FB71 strb r3, [r7, #7] 129:user_src/soft_flow.c **** L3_status = GPIO_PIN_SET;//L3给默认值 428 .loc 1 129 19 429 003a 384B ldr r3, .L29+12 430 003c 0122 movs r2, #1 431 003e 1A70 strb r2, [r3] 130:user_src/soft_flow.c **** L4_status = HAL_GPIO_ReadPin( GPIOB, EXIT_4T_Pin ); 432 .loc 1 130 21 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 11 433 0040 4FF40071 mov r1, #512 434 0044 3448 ldr r0, .L29+8 435 0046 FFF7FEFF bl HAL_GPIO_ReadPin 436 004a 0346 mov r3, r0 437 004c 1A46 mov r2, r3 438 .loc 1 130 19 439 004e 344B ldr r3, .L29+16 440 0050 1A70 strb r2, [r3] 131:user_src/soft_flow.c **** 132:user_src/soft_flow.c **** //上电持续高电平检测 133:user_src/soft_flow.c **** if (Dev_ack == 1 && jet_active == false) 441 .loc 1 133 12 442 0052 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 443 0054 012B cmp r3, #1 444 0056 13D1 bne .L22 445 .loc 1 133 40 discriminator 1 446 0058 324B ldr r3, .L29+20 447 005a 1B78 ldrb r3, [r3] @ zero_extendqisi2 448 005c 83F00103 eor r3, r3, #1 449 0060 DBB2 uxtb r3, r3 450 .loc 1 133 26 discriminator 1 451 0062 002B cmp r3, #0 452 0064 0CD0 beq .L22 134:user_src/soft_flow.c **** { 135:user_src/soft_flow.c **** //持续一段时间2s 136:user_src/soft_flow.c **** if (HAL_GetTick() - jet_time > 2000) 453 .loc 1 136 17 454 0066 FFF7FEFF bl HAL_GetTick 455 006a 0246 mov r2, r0 456 .loc 1 136 31 457 006c 2E4B ldr r3, .L29+24 458 006e 1B68 ldr r3, [r3] 459 0070 D31A subs r3, r2, r3 460 .loc 1 136 16 461 0072 B3F5FA6F cmp r3, #2000 462 0076 48D9 bls .L18 137:user_src/soft_flow.c **** { 138:user_src/soft_flow.c **** jet_active = true; 463 .loc 1 138 28 464 0078 2A4B ldr r3, .L29+20 465 007a 0122 movs r2, #1 466 007c 1A70 strb r2, [r3] 136:user_src/soft_flow.c **** { 467 .loc 1 136 16 468 007e 44E0 b .L18 469 .L22: 139:user_src/soft_flow.c **** } 140:user_src/soft_flow.c **** } 141:user_src/soft_flow.c **** //检测到低电平 142:user_src/soft_flow.c **** else if (Dev_ack == 0 && jet_active == true) 470 .loc 1 142 17 471 0080 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 472 0082 002B cmp r3, #0 473 0084 11D1 bne .L25 474 .loc 1 142 45 discriminator 1 475 0086 274B ldr r3, .L29+20 476 0088 1B78 ldrb r3, [r3] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 12 477 .loc 1 142 31 discriminator 1 478 008a 002B cmp r3, #0 479 008c 0DD0 beq .L25 143:user_src/soft_flow.c **** { 144:user_src/soft_flow.c **** //抛物机回应已抛出 145:user_src/soft_flow.c **** if(jet_ack_flag == true) 480 .loc 1 145 29 481 008e 274B ldr r3, .L29+28 482 0090 1B78 ldrb r3, [r3] @ zero_extendqisi2 483 .loc 1 145 15 484 0092 002B cmp r3, #0 485 0094 39D0 beq .L18 146:user_src/soft_flow.c **** { 147:user_src/soft_flow.c **** pmu_set_ack(JET_UAV_TYPE,1,0,0); 486 .loc 1 147 17 487 0096 0023 movs r3, #0 488 0098 0022 movs r2, #0 489 009a 0121 movs r1, #1 490 009c 0D20 movs r0, #13 491 009e FFF7FEFF bl pmu_set_ack 148:user_src/soft_flow.c **** 149:user_src/soft_flow.c **** jet_ack_flag = false; 492 .loc 1 149 30 493 00a2 224B ldr r3, .L29+28 494 00a4 0022 movs r2, #0 495 00a6 1A70 strb r2, [r3] 145:user_src/soft_flow.c **** { 496 .loc 1 145 15 497 00a8 2FE0 b .L18 498 .L25: 150:user_src/soft_flow.c **** } 151:user_src/soft_flow.c **** } 152:user_src/soft_flow.c **** else 153:user_src/soft_flow.c **** { 154:user_src/soft_flow.c **** jet_time = HAL_GetTick(); 499 .loc 1 154 24 500 00aa FFF7FEFF bl HAL_GetTick 501 00ae 0346 mov r3, r0 502 .loc 1 154 22 503 00b0 1D4A ldr r2, .L29+24 504 00b2 1360 str r3, [r2] 155:user_src/soft_flow.c **** jet_ack_flag = true; 505 .loc 1 155 26 506 00b4 1D4B ldr r3, .L29+28 507 00b6 0122 movs r2, #1 508 00b8 1A70 strb r2, [r3] 509 00ba 26E0 b .L18 510 .L21: 511 .LBE2: 156:user_src/soft_flow.c **** } 157:user_src/soft_flow.c **** } 158:user_src/soft_flow.c **** else if(current_pmu_par.uavtype == VK_ALL_IN_ONE) 512 .loc 1 158 28 513 00bc 154B ldr r3, .L29+4 514 00be B3F90230 ldrsh r3, [r3, #2] 515 .loc 1 158 12 516 00c2 122B cmp r3, #18 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 13 517 00c4 0DD1 bne .L27 159:user_src/soft_flow.c **** { 160:user_src/soft_flow.c **** //Tim4_init_pwmout(); //pwm输出初始化 161:user_src/soft_flow.c **** 162:user_src/soft_flow.c **** Dev.Arm_Link.connect_status = COMP_NORMAL; 518 .loc 1 162 37 519 00c6 1A4B ldr r3, .L29+32 520 00c8 0122 movs r2, #1 521 00ca 83F87820 strb r2, [r3, #120] 163:user_src/soft_flow.c **** Dev.Arm.facid = FAC_VK_ALLINONE; 522 .loc 1 163 23 523 00ce 184B ldr r3, .L29+32 524 00d0 0422 movs r2, #4 525 00d2 83F86C20 strb r2, [r3, #108] 164:user_src/soft_flow.c **** Dev.Arm_Link.recv_time = HAL_GetTick(); 526 .loc 1 164 34 527 00d6 FFF7FEFF bl HAL_GetTick 528 00da 0346 mov r3, r0 529 .loc 1 164 32 530 00dc 144A ldr r2, .L29+32 531 00de 1367 str r3, [r2, #112] 532 00e0 13E0 b .L18 533 .L27: 165:user_src/soft_flow.c **** } 166:user_src/soft_flow.c **** else 167:user_src/soft_flow.c **** { 168:user_src/soft_flow.c **** L3_status = HAL_GPIO_ReadPin( GPIOB, EXIT_3T_Pin ); 534 .loc 1 168 21 535 00e2 4FF48071 mov r1, #256 536 00e6 0C48 ldr r0, .L29+8 537 00e8 FFF7FEFF bl HAL_GPIO_ReadPin 538 00ec 0346 mov r3, r0 539 00ee 1A46 mov r2, r3 540 .loc 1 168 19 541 00f0 0A4B ldr r3, .L29+12 542 00f2 1A70 strb r2, [r3] 169:user_src/soft_flow.c **** L4_status = HAL_GPIO_ReadPin( GPIOB, EXIT_4T_Pin ); 543 .loc 1 169 21 544 00f4 4FF40071 mov r1, #512 545 00f8 0748 ldr r0, .L29+8 546 00fa FFF7FEFF bl HAL_GPIO_ReadPin 547 00fe 0346 mov r3, r0 548 0100 1A46 mov r2, r3 549 .loc 1 169 19 550 0102 074B ldr r3, .L29+16 551 0104 1A70 strb r2, [r3] 552 0106 00E0 b .L18 553 .L28: 115:user_src/soft_flow.c **** } 554 .loc 1 115 9 555 0108 00BF nop 556 .L18: 170:user_src/soft_flow.c **** } 171:user_src/soft_flow.c **** 172:user_src/soft_flow.c **** } 557 .loc 1 172 1 558 010a 0837 adds r7, r7, #8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 14 559 .LCFI15: 560 .cfi_def_cfa_offset 8 561 010c BD46 mov sp, r7 562 .LCFI16: 563 .cfi_def_cfa_register 13 564 @ sp needed 565 010e 80BD pop {r7, pc} 566 .L30: 567 .align 2 568 .L29: 569 0110 00000000 .word l1l2_time.3 570 0114 00000000 .word current_pmu_par 571 0118 00040048 .word 1207960576 572 011c 00000000 .word L3_status 573 0120 00000000 .word L4_status 574 0124 00000000 .word jet_active.2 575 0128 00000000 .word jet_time.1 576 012c 00000000 .word jet_ack_flag.0 577 0130 00000000 .word Dev 578 .cfi_endproc 579 .LFE135: 581 .section .text.flow_function,"ax",%progbits 582 .align 1 583 .global flow_function 584 .syntax unified 585 .thumb 586 .thumb_func 588 flow_function: 589 .LFB136: 173:user_src/soft_flow.c **** 174:user_src/soft_flow.c **** 175:user_src/soft_flow.c **** 176:user_src/soft_flow.c **** /** 177:user_src/soft_flow.c **** * @file flow_function 178:user_src/soft_flow.c **** * @brief 流量计相关函数 179:user_src/soft_flow.c **** * @param none 180:user_src/soft_flow.c **** * @details 181:user_src/soft_flow.c **** * @author Zhang Sir 182:user_src/soft_flow.c **** **/ 183:user_src/soft_flow.c **** void flow_function(void) 184:user_src/soft_flow.c **** { 590 .loc 1 184 1 591 .cfi_startproc 592 @ args = 0, pretend = 0, frame = 0 593 @ frame_needed = 1, uses_anonymous_args = 0 594 0000 80B5 push {r7, lr} 595 .LCFI17: 596 .cfi_def_cfa_offset 8 597 .cfi_offset 7, -8 598 .cfi_offset 14, -4 599 0002 2DED028B vpush.64 {d8} 600 .LCFI18: 601 .cfi_def_cfa_offset 16 602 .cfi_offset 80, -16 603 .cfi_offset 81, -12 604 0006 00AF add r7, sp, #0 605 .LCFI19: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 15 606 .cfi_def_cfa_register 7 185:user_src/soft_flow.c **** if ( Get_Systimer_Us() - flow_dev1.last_time >= 300000 ) 607 .loc 1 185 10 608 0008 FFF7FEFF bl Get_Systimer_Us 609 000c 0246 mov r2, r0 610 .loc 1 185 39 611 000e 574B ldr r3, .L37 612 0010 D3F80530 ldr r3, [r3, #5] @ unaligned 613 .loc 1 185 28 614 0014 D31A subs r3, r2, r3 615 .loc 1 185 8 616 0016 564A ldr r2, .L37+4 617 0018 9342 cmp r3, r2 618 001a 46D9 bls .L32 186:user_src/soft_flow.c **** { 187:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_dev1.cal_delay_time > 200000)//在增加一个延时,中断 619 .loc 1 187 12 620 001c FFF7FEFF bl Get_Systimer_Us 621 0020 0246 mov r2, r0 622 .loc 1 187 41 623 0022 524B ldr r3, .L37 624 0024 9B69 ldr r3, [r3, #24] 625 .loc 1 187 30 626 0026 D31A subs r3, r2, r3 627 .loc 1 187 11 628 0028 524A ldr r2, .L37+8 629 002a 9342 cmp r3, r2 630 002c 42D9 bls .L33 188:user_src/soft_flow.c **** { 189:user_src/soft_flow.c **** flow_dev1.irq_flag = 1; 631 .loc 1 189 32 632 002e 4F4B ldr r3, .L37 633 0030 0122 movs r2, #1 634 0032 1A77 strb r2, [r3, #28] 190:user_src/soft_flow.c **** flow_dev1.speed = ( 1000.0f * ( flow_dev1.irq_count - flow_dev1.irq_last_count ) ) / Fl 635 .loc 1 190 54 636 0034 4D4B ldr r3, .L37 637 0036 D3F80920 ldr r2, [r3, #9] @ unaligned 638 .loc 1 190 76 639 003a 4C4B ldr r3, .L37 640 003c D3F80D30 ldr r3, [r3, #13] @ unaligned 641 .loc 1 190 65 642 0040 D31A subs r3, r2, r3 643 .loc 1 190 41 644 0042 07EE903A vmov s15, r3 @ int 645 0046 F8EE677A vcvt.f32.u32 s15, s15 646 004a 9FED4B7A vldr.32 s14, .L37+12 647 004e 67EE877A vmul.f32 s15, s15, s14 648 .loc 1 190 96 649 0052 B3EE067A vmov.f32 s14, #2.2e+1 650 0056 87EE878A vdiv.f32 s16, s15, s14 191:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_dev1.last_time ) ); //ml/min 651 .loc 1 191 46 652 005a FFF7FEFF bl Get_Systimer_Us 653 005e 0246 mov r2, r0 654 .loc 1 191 75 655 0060 424B ldr r3, .L37 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 16 656 0062 D3F80530 ldr r3, [r3, #5] @ unaligned 657 .loc 1 191 64 658 0066 D31A subs r3, r2, r3 659 .loc 1 191 42 660 0068 07EE903A vmov s15, r3 @ int 661 006c B8EE677A vcvt.f32.u32 s14, s15 662 0070 DFED426A vldr.32 s13, .L37+16 663 0074 C6EE877A vdiv.f32 s15, s13, s14 190:user_src/soft_flow.c **** flow_dev1.speed = ( 1000.0f * ( flow_dev1.irq_count - flow_dev1.irq_last_count ) ) / Fl 664 .loc 1 190 106 665 0078 68EE277A vmul.f32 s15, s16, s15 190:user_src/soft_flow.c **** flow_dev1.speed = ( 1000.0f * ( flow_dev1.irq_count - flow_dev1.irq_last_count ) ) / Fl 666 .loc 1 190 29 667 007c FDEEE77A vcvt.s32.f32 s15, s15 668 0080 17EE902A vmov r2, s15 @ int 669 0084 394B ldr r3, .L37 670 0086 C3F81220 str r2, [r3, #18] @ unaligned 192:user_src/soft_flow.c **** flow_dev1.irq_last_count = flow_dev1.irq_count; 671 .loc 1 192 49 672 008a 384B ldr r3, .L37 673 008c D3F80930 ldr r3, [r3, #9] @ unaligned 674 .loc 1 192 38 675 0090 364A ldr r2, .L37 676 0092 C2F80D30 str r3, [r2, #13] @ unaligned 193:user_src/soft_flow.c **** flow_dev1.last_time = Get_Systimer_Us(); 677 .loc 1 193 35 678 0096 FFF7FEFF bl Get_Systimer_Us 679 009a 0346 mov r3, r0 680 .loc 1 193 33 681 009c 334A ldr r2, .L37 682 009e C2F80530 str r3, [r2, #5] @ unaligned 194:user_src/soft_flow.c **** flow_dev1.irq_flag = 0; 683 .loc 1 194 32 684 00a2 324B ldr r3, .L37 685 00a4 0022 movs r2, #0 686 00a6 1A77 strb r2, [r3, #28] 687 00a8 04E0 b .L33 688 .L32: 195:user_src/soft_flow.c **** } 196:user_src/soft_flow.c **** } 197:user_src/soft_flow.c **** else 198:user_src/soft_flow.c **** { 199:user_src/soft_flow.c **** flow_dev1.cal_delay_time = Get_Systimer_Us(); 689 .loc 1 199 36 690 00aa FFF7FEFF bl Get_Systimer_Us 691 00ae 0346 mov r3, r0 692 .loc 1 199 34 693 00b0 2E4A ldr r2, .L37 694 00b2 9361 str r3, [r2, #24] 695 .L33: 200:user_src/soft_flow.c **** } 201:user_src/soft_flow.c **** 202:user_src/soft_flow.c **** 203:user_src/soft_flow.c **** if ( Get_Systimer_Us() - flow_dev2.last_time >= 300000 ) 696 .loc 1 203 10 697 00b4 FFF7FEFF bl Get_Systimer_Us 698 00b8 0246 mov r2, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 17 699 .loc 1 203 39 700 00ba 314B ldr r3, .L37+20 701 00bc D3F80530 ldr r3, [r3, #5] @ unaligned 702 .loc 1 203 28 703 00c0 D31A subs r3, r2, r3 704 .loc 1 203 8 705 00c2 2B4A ldr r2, .L37+4 706 00c4 9342 cmp r3, r2 707 00c6 46D9 bls .L34 204:user_src/soft_flow.c **** { 205:user_src/soft_flow.c **** if(Get_Systimer_Us() - flow_dev2.cal_delay_time > 200000) 708 .loc 1 205 12 709 00c8 FFF7FEFF bl Get_Systimer_Us 710 00cc 0246 mov r2, r0 711 .loc 1 205 41 712 00ce 2C4B ldr r3, .L37+20 713 00d0 9B69 ldr r3, [r3, #24] 714 .loc 1 205 30 715 00d2 D31A subs r3, r2, r3 716 .loc 1 205 11 717 00d4 274A ldr r2, .L37+8 718 00d6 9342 cmp r3, r2 719 00d8 42D9 bls .L36 206:user_src/soft_flow.c **** { 207:user_src/soft_flow.c **** flow_dev2.irq_flag = 1; 720 .loc 1 207 32 721 00da 294B ldr r3, .L37+20 722 00dc 0122 movs r2, #1 723 00de 1A77 strb r2, [r3, #28] 208:user_src/soft_flow.c **** flow_dev2.speed = ( 1000.0f * ( flow_dev2.irq_count - flow_dev2.irq_last_count ) ) / Fl 724 .loc 1 208 54 725 00e0 274B ldr r3, .L37+20 726 00e2 D3F80920 ldr r2, [r3, #9] @ unaligned 727 .loc 1 208 76 728 00e6 264B ldr r3, .L37+20 729 00e8 D3F80D30 ldr r3, [r3, #13] @ unaligned 730 .loc 1 208 65 731 00ec D31A subs r3, r2, r3 732 .loc 1 208 41 733 00ee 07EE903A vmov s15, r3 @ int 734 00f2 F8EE677A vcvt.f32.u32 s15, s15 735 00f6 9FED207A vldr.32 s14, .L37+12 736 00fa 67EE877A vmul.f32 s15, s15, s14 737 .loc 1 208 96 738 00fe B3EE067A vmov.f32 s14, #2.2e+1 739 0102 87EE878A vdiv.f32 s16, s15, s14 209:user_src/soft_flow.c **** ( 1000000.0f / ( Get_Systimer_Us() - flow_dev2.last_time ) ); //ml/min 740 .loc 1 209 42 741 0106 FFF7FEFF bl Get_Systimer_Us 742 010a 0246 mov r2, r0 743 .loc 1 209 71 744 010c 1C4B ldr r3, .L37+20 745 010e D3F80530 ldr r3, [r3, #5] @ unaligned 746 .loc 1 209 60 747 0112 D31A subs r3, r2, r3 748 .loc 1 209 38 749 0114 07EE903A vmov s15, r3 @ int ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 18 750 0118 B8EE677A vcvt.f32.u32 s14, s15 751 011c DFED176A vldr.32 s13, .L37+16 752 0120 C6EE877A vdiv.f32 s15, s13, s14 208:user_src/soft_flow.c **** flow_dev2.speed = ( 1000.0f * ( flow_dev2.irq_count - flow_dev2.irq_last_count ) ) / Fl 753 .loc 1 208 106 754 0124 68EE277A vmul.f32 s15, s16, s15 208:user_src/soft_flow.c **** flow_dev2.speed = ( 1000.0f * ( flow_dev2.irq_count - flow_dev2.irq_last_count ) ) / Fl 755 .loc 1 208 29 756 0128 FDEEE77A vcvt.s32.f32 s15, s15 757 012c 17EE902A vmov r2, s15 @ int 758 0130 134B ldr r3, .L37+20 759 0132 C3F81220 str r2, [r3, #18] @ unaligned 210:user_src/soft_flow.c **** flow_dev2.irq_last_count = flow_dev2.irq_count; 760 .loc 1 210 49 761 0136 124B ldr r3, .L37+20 762 0138 D3F80930 ldr r3, [r3, #9] @ unaligned 763 .loc 1 210 38 764 013c 104A ldr r2, .L37+20 765 013e C2F80D30 str r3, [r2, #13] @ unaligned 211:user_src/soft_flow.c **** flow_dev2.last_time = Get_Systimer_Us(); 766 .loc 1 211 35 767 0142 FFF7FEFF bl Get_Systimer_Us 768 0146 0346 mov r3, r0 769 .loc 1 211 33 770 0148 0D4A ldr r2, .L37+20 771 014a C2F80530 str r3, [r2, #5] @ unaligned 212:user_src/soft_flow.c **** flow_dev2.irq_flag = 0; 772 .loc 1 212 32 773 014e 0C4B ldr r3, .L37+20 774 0150 0022 movs r2, #0 775 0152 1A77 strb r2, [r3, #28] 213:user_src/soft_flow.c **** } 214:user_src/soft_flow.c **** } 215:user_src/soft_flow.c **** else 216:user_src/soft_flow.c **** { 217:user_src/soft_flow.c **** flow_dev2.cal_delay_time = Get_Systimer_Us(); 218:user_src/soft_flow.c **** } 219:user_src/soft_flow.c **** 220:user_src/soft_flow.c **** } 776 .loc 1 220 1 777 0154 04E0 b .L36 778 .L34: 217:user_src/soft_flow.c **** } 779 .loc 1 217 36 780 0156 FFF7FEFF bl Get_Systimer_Us 781 015a 0346 mov r3, r0 217:user_src/soft_flow.c **** } 782 .loc 1 217 34 783 015c 084A ldr r2, .L37+20 784 015e 9361 str r3, [r2, #24] 785 .L36: 786 .loc 1 220 1 787 0160 00BF nop 788 0162 BD46 mov sp, r7 789 .LCFI20: 790 .cfi_def_cfa_register 13 791 @ sp needed ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 19 792 0164 BDEC028B vldm sp!, {d8} 793 .LCFI21: 794 .cfi_restore 80 795 .cfi_restore 81 796 .cfi_def_cfa_offset 8 797 0168 80BD pop {r7, pc} 798 .L38: 799 016a 00BF .align 2 800 .L37: 801 016c 00000000 .word flow_dev1 802 0170 DF930400 .word 299999 803 0174 400D0300 .word 200000 804 0178 00007A44 .word 1148846080 805 017c 00247449 .word 1232348160 806 0180 00000000 .word flow_dev2 807 .cfi_endproc 808 .LFE136: 810 .global flow_mimo1 811 .section .bss.flow_mimo1,"aw",%nobits 812 .align 2 815 flow_mimo1: 816 0000 00000000 .space 33 816 00000000 816 00000000 816 00000000 816 00000000 817 .global flow_mimo2 818 .section .bss.flow_mimo2,"aw",%nobits 819 .align 2 822 flow_mimo2: 823 0000 00000000 .space 33 823 00000000 823 00000000 823 00000000 823 00000000 824 .section .text.can_recv_mimor_flow_function,"ax",%progbits 825 .align 1 826 .global can_recv_mimor_flow_function 827 .syntax unified 828 .thumb 829 .thumb_func 831 can_recv_mimor_flow_function: 832 .LFB137: 221:user_src/soft_flow.c **** 222:user_src/soft_flow.c **** mimo_flow flow_mimo1; 223:user_src/soft_flow.c **** mimo_flow flow_mimo2; 224:user_src/soft_flow.c **** /** 225:user_src/soft_flow.c **** * @file can_recv_mimor_flow_function 226:user_src/soft_flow.c **** * @brief 恩曌流量计检测 227:user_src/soft_flow.c **** * @param none 228:user_src/soft_flow.c **** * @details 229:user_src/soft_flow.c **** * @author Zhang Sir 230:user_src/soft_flow.c **** **/ 231:user_src/soft_flow.c **** void can_recv_mimor_flow_function(uint32_t CanID, uint8_t data[], uint8_t len) 232:user_src/soft_flow.c **** { 833 .loc 1 232 1 834 .cfi_startproc ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 20 835 @ args = 0, pretend = 0, frame = 16 836 @ frame_needed = 1, uses_anonymous_args = 0 837 0000 80B5 push {r7, lr} 838 .LCFI22: 839 .cfi_def_cfa_offset 8 840 .cfi_offset 7, -8 841 .cfi_offset 14, -4 842 0002 84B0 sub sp, sp, #16 843 .LCFI23: 844 .cfi_def_cfa_offset 24 845 0004 00AF add r7, sp, #0 846 .LCFI24: 847 .cfi_def_cfa_register 7 848 0006 F860 str r0, [r7, #12] 849 0008 B960 str r1, [r7, #8] 850 000a 1346 mov r3, r2 851 000c FB71 strb r3, [r7, #7] 233:user_src/soft_flow.c **** 234:user_src/soft_flow.c **** Dev.Flow.facid = FAC_MIMO_SIG; 852 .loc 1 234 20 853 000e 554B ldr r3, .L58 854 0010 0522 movs r2, #5 855 0012 83F87C20 strb r2, [r3, #124] 235:user_src/soft_flow.c **** Dev.Flow_Link1.connect_status = COMP_NORMAL; 856 .loc 1 235 35 857 0016 534B ldr r3, .L58 858 0018 0122 movs r2, #1 859 001a 83F89C20 strb r2, [r3, #156] 236:user_src/soft_flow.c **** Dev.Flow_Link1.recv_time = HAL_GetTick(); 860 .loc 1 236 32 861 001e FFF7FEFF bl HAL_GetTick 862 0022 0346 mov r3, r0 863 .loc 1 236 30 864 0024 4F4A ldr r2, .L58 865 0026 C2F89430 str r3, [r2, #148] 237:user_src/soft_flow.c **** 238:user_src/soft_flow.c **** if(Dev.Flow_Link2.connect_status == COMP_NORMAL) 866 .loc 1 238 22 867 002a 4E4B ldr r3, .L58 868 002c 93F8A830 ldrb r3, [r3, #168] @ zero_extendqisi2 869 .loc 1 238 7 870 0030 012B cmp r3, #1 871 0032 03D1 bne .L40 239:user_src/soft_flow.c **** { 240:user_src/soft_flow.c **** Dev.Flow.facid = FAC_MIMO_DOU; 872 .loc 1 240 24 873 0034 4B4B ldr r3, .L58 874 0036 0622 movs r2, #6 875 0038 83F87C20 strb r2, [r3, #124] 876 .L40: 241:user_src/soft_flow.c **** } 242:user_src/soft_flow.c **** if(CanID == CAN_MIMO_FLOW) 877 .loc 1 242 7 878 003c FB68 ldr r3, [r7, #12] 879 003e B3F5047F cmp r3, #528 880 0042 48D1 bne .L41 243:user_src/soft_flow.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 21 244:user_src/soft_flow.c **** switch (data[0]) 881 .loc 1 244 21 882 0044 BB68 ldr r3, [r7, #8] 883 0046 1B78 ldrb r3, [r3] @ zero_extendqisi2 884 .loc 1 244 9 885 0048 002B cmp r3, #0 886 004a 02D0 beq .L42 887 004c 012B cmp r3, #1 888 004e 1CD0 beq .L43 245:user_src/soft_flow.c **** { 246:user_src/soft_flow.c **** case 0: 247:user_src/soft_flow.c **** 248:user_src/soft_flow.c **** memcpy(&flow_mimo1.ch,&data[0],8); 249:user_src/soft_flow.c **** 250:user_src/soft_flow.c **** if(flow_mimo1.last_total_ml > flow_mimo1.total_ml) 251:user_src/soft_flow.c **** { 252:user_src/soft_flow.c **** flow_mimo1.overturn_count++; 253:user_src/soft_flow.c **** } 254:user_src/soft_flow.c **** 255:user_src/soft_flow.c **** flow_mimo1.last_total_ml = flow_mimo1.total_ml; 256:user_src/soft_flow.c **** 257:user_src/soft_flow.c **** break; 258:user_src/soft_flow.c **** case 1: 259:user_src/soft_flow.c **** Dev.Flow_Link2.connect_status = COMP_NORMAL; 260:user_src/soft_flow.c **** Dev.Flow_Link2.recv_time = HAL_GetTick(); 261:user_src/soft_flow.c **** 262:user_src/soft_flow.c **** memcpy(&flow_mimo2.ch,&data[0],8); 263:user_src/soft_flow.c **** 264:user_src/soft_flow.c **** if(flow_mimo2.last_total_ml > flow_mimo2.total_ml) 265:user_src/soft_flow.c **** { 266:user_src/soft_flow.c **** flow_mimo2.overturn_count++; 267:user_src/soft_flow.c **** } 268:user_src/soft_flow.c **** 269:user_src/soft_flow.c **** flow_mimo2.last_total_ml = flow_mimo2.total_ml; 270:user_src/soft_flow.c **** break; 271:user_src/soft_flow.c **** default: 272:user_src/soft_flow.c **** break; 889 .loc 1 272 13 890 0050 83E0 b .L48 891 .L42: 248:user_src/soft_flow.c **** 892 .loc 1 248 13 893 0052 0822 movs r2, #8 894 0054 B968 ldr r1, [r7, #8] 895 0056 4448 ldr r0, .L58+4 896 0058 FFF7FEFF bl memcpy 250:user_src/soft_flow.c **** { 897 .loc 1 250 26 898 005c 424B ldr r3, .L58+4 899 005e DA8B ldrh r2, [r3, #30] 250:user_src/soft_flow.c **** { 900 .loc 1 250 53 901 0060 414B ldr r3, .L58+4 902 0062 B3F80330 ldrh r3, [r3, #3] @ unaligned 903 0066 9BB2 uxth r3, r3 250:user_src/soft_flow.c **** { 904 .loc 1 250 15 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 22 905 0068 9A42 cmp r2, r3 906 006a 07D9 bls .L45 252:user_src/soft_flow.c **** } 907 .loc 1 252 27 908 006c 3E4B ldr r3, .L58+4 909 006e 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 252:user_src/soft_flow.c **** } 910 .loc 1 252 42 911 0072 0133 adds r3, r3, #1 912 0074 DAB2 uxtb r2, r3 913 0076 3C4B ldr r3, .L58+4 914 0078 83F82020 strb r2, [r3, #32] 915 .L45: 255:user_src/soft_flow.c **** 916 .loc 1 255 50 917 007c 3A4B ldr r3, .L58+4 918 007e B3F80330 ldrh r3, [r3, #3] @ unaligned 919 0082 9AB2 uxth r2, r3 255:user_src/soft_flow.c **** 920 .loc 1 255 38 921 0084 384B ldr r3, .L58+4 922 0086 DA83 strh r2, [r3, #30] @ movhi 257:user_src/soft_flow.c **** case 1: 923 .loc 1 257 13 924 0088 67E0 b .L48 925 .L43: 259:user_src/soft_flow.c **** Dev.Flow_Link2.recv_time = HAL_GetTick(); 926 .loc 1 259 43 927 008a 364B ldr r3, .L58 928 008c 0122 movs r2, #1 929 008e 83F8A820 strb r2, [r3, #168] 260:user_src/soft_flow.c **** 930 .loc 1 260 40 931 0092 FFF7FEFF bl HAL_GetTick 932 0096 0346 mov r3, r0 260:user_src/soft_flow.c **** 933 .loc 1 260 38 934 0098 324A ldr r2, .L58 935 009a C2F8A030 str r3, [r2, #160] 262:user_src/soft_flow.c **** 936 .loc 1 262 13 937 009e 0822 movs r2, #8 938 00a0 B968 ldr r1, [r7, #8] 939 00a2 3248 ldr r0, .L58+8 940 00a4 FFF7FEFF bl memcpy 264:user_src/soft_flow.c **** { 941 .loc 1 264 26 942 00a8 304B ldr r3, .L58+8 943 00aa DA8B ldrh r2, [r3, #30] 264:user_src/soft_flow.c **** { 944 .loc 1 264 53 945 00ac 2F4B ldr r3, .L58+8 946 00ae B3F80330 ldrh r3, [r3, #3] @ unaligned 947 00b2 9BB2 uxth r3, r3 264:user_src/soft_flow.c **** { 948 .loc 1 264 15 949 00b4 9A42 cmp r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 23 950 00b6 07D9 bls .L47 266:user_src/soft_flow.c **** } 951 .loc 1 266 27 952 00b8 2C4B ldr r3, .L58+8 953 00ba 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 266:user_src/soft_flow.c **** } 954 .loc 1 266 42 955 00be 0133 adds r3, r3, #1 956 00c0 DAB2 uxtb r2, r3 957 00c2 2A4B ldr r3, .L58+8 958 00c4 83F82020 strb r2, [r3, #32] 959 .L47: 269:user_src/soft_flow.c **** break; 960 .loc 1 269 50 961 00c8 284B ldr r3, .L58+8 962 00ca B3F80330 ldrh r3, [r3, #3] @ unaligned 963 00ce 9AB2 uxth r2, r3 269:user_src/soft_flow.c **** break; 964 .loc 1 269 38 965 00d0 264B ldr r3, .L58+8 966 00d2 DA83 strh r2, [r3, #30] @ movhi 270:user_src/soft_flow.c **** default: 967 .loc 1 270 13 968 00d4 41E0 b .L48 969 .L41: 273:user_src/soft_flow.c **** } 274:user_src/soft_flow.c **** } 275:user_src/soft_flow.c **** else if(CanID == CAN_MIMO_FLOW_K) 970 .loc 1 275 12 971 00d6 FB68 ldr r3, [r7, #12] 972 00d8 FB2B cmp r3, #251 973 00da 39D1 bne .L54 276:user_src/soft_flow.c **** { 277:user_src/soft_flow.c **** if(data[1] == 0xFB && data[2] == 0x01) 974 .loc 1 277 16 975 00dc BB68 ldr r3, [r7, #8] 976 00de 0133 adds r3, r3, #1 977 00e0 1B78 ldrb r3, [r3] @ zero_extendqisi2 978 .loc 1 277 11 979 00e2 FB2B cmp r3, #251 980 00e4 34D1 bne .L54 981 .loc 1 277 35 discriminator 1 982 00e6 BB68 ldr r3, [r7, #8] 983 00e8 0233 adds r3, r3, #2 984 00ea 1B78 ldrb r3, [r3] @ zero_extendqisi2 985 .loc 1 277 28 discriminator 1 986 00ec 012B cmp r3, #1 987 00ee 2FD1 bne .L54 278:user_src/soft_flow.c **** switch (data[2]) 988 .loc 1 278 21 989 00f0 BB68 ldr r3, [r7, #8] 990 00f2 0233 adds r3, r3, #2 991 00f4 1B78 ldrb r3, [r3] @ zero_extendqisi2 992 .loc 1 278 9 993 00f6 002B cmp r3, #0 994 00f8 02D0 beq .L49 995 00fa 012B cmp r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 24 996 00fc 14D0 beq .L50 279:user_src/soft_flow.c **** { 280:user_src/soft_flow.c **** case 0: 281:user_src/soft_flow.c **** if(data[4] == 0XD1) 282:user_src/soft_flow.c **** { 283:user_src/soft_flow.c **** flow_mimo1.flow_k = data[5] * 256 + data[6]; 284:user_src/soft_flow.c **** } 285:user_src/soft_flow.c **** break; 286:user_src/soft_flow.c **** case 1: 287:user_src/soft_flow.c **** if(data[4] == 0XD1) 288:user_src/soft_flow.c **** { 289:user_src/soft_flow.c **** flow_mimo2.flow_k = data[5] * 256 + data[6]; 290:user_src/soft_flow.c **** } 291:user_src/soft_flow.c **** break; 292:user_src/soft_flow.c **** default: 293:user_src/soft_flow.c **** break; 997 .loc 1 293 13 998 00fe 2CE0 b .L48 999 .L49: 281:user_src/soft_flow.c **** { 1000 .loc 1 281 20 1001 0100 BB68 ldr r3, [r7, #8] 1002 0102 0433 adds r3, r3, #4 1003 0104 1B78 ldrb r3, [r3] @ zero_extendqisi2 281:user_src/soft_flow.c **** { 1004 .loc 1 281 15 1005 0106 D12B cmp r3, #209 1006 0108 24D1 bne .L55 283:user_src/soft_flow.c **** } 1007 .loc 1 283 40 1008 010a BB68 ldr r3, [r7, #8] 1009 010c 0533 adds r3, r3, #5 1010 010e 1B78 ldrb r3, [r3] @ zero_extendqisi2 283:user_src/soft_flow.c **** } 1011 .loc 1 283 50 1012 0110 9BB2 uxth r3, r3 1013 0112 1B02 lsls r3, r3, #8 1014 0114 9AB2 uxth r2, r3 283:user_src/soft_flow.c **** } 1015 .loc 1 283 56 1016 0116 BB68 ldr r3, [r7, #8] 1017 0118 0633 adds r3, r3, #6 1018 011a 1B78 ldrb r3, [r3] @ zero_extendqisi2 1019 011c 9BB2 uxth r3, r3 283:user_src/soft_flow.c **** } 1020 .loc 1 283 50 1021 011e 1344 add r3, r3, r2 1022 0120 9AB2 uxth r2, r3 283:user_src/soft_flow.c **** } 1023 .loc 1 283 34 1024 0122 114B ldr r3, .L58+4 1025 0124 5A81 strh r2, [r3, #10] @ movhi 285:user_src/soft_flow.c **** case 1: 1026 .loc 1 285 13 1027 0126 15E0 b .L55 1028 .L50: 287:user_src/soft_flow.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 25 1029 .loc 1 287 20 1030 0128 BB68 ldr r3, [r7, #8] 1031 012a 0433 adds r3, r3, #4 1032 012c 1B78 ldrb r3, [r3] @ zero_extendqisi2 287:user_src/soft_flow.c **** { 1033 .loc 1 287 15 1034 012e D12B cmp r3, #209 1035 0130 12D1 bne .L56 289:user_src/soft_flow.c **** } 1036 .loc 1 289 41 1037 0132 BB68 ldr r3, [r7, #8] 1038 0134 0533 adds r3, r3, #5 1039 0136 1B78 ldrb r3, [r3] @ zero_extendqisi2 289:user_src/soft_flow.c **** } 1040 .loc 1 289 51 1041 0138 9BB2 uxth r3, r3 1042 013a 1B02 lsls r3, r3, #8 1043 013c 9AB2 uxth r2, r3 289:user_src/soft_flow.c **** } 1044 .loc 1 289 57 1045 013e BB68 ldr r3, [r7, #8] 1046 0140 0633 adds r3, r3, #6 1047 0142 1B78 ldrb r3, [r3] @ zero_extendqisi2 1048 0144 9BB2 uxth r3, r3 289:user_src/soft_flow.c **** } 1049 .loc 1 289 51 1050 0146 1344 add r3, r3, r2 1051 0148 9AB2 uxth r2, r3 289:user_src/soft_flow.c **** } 1052 .loc 1 289 35 1053 014a 084B ldr r3, .L58+8 1054 014c 5A81 strh r2, [r3, #10] @ movhi 291:user_src/soft_flow.c **** default: 1055 .loc 1 291 13 1056 014e 03E0 b .L56 1057 .L54: 294:user_src/soft_flow.c **** } 295:user_src/soft_flow.c **** } 1058 .loc 1 295 5 1059 0150 00BF nop 1060 0152 02E0 b .L57 1061 .L55: 285:user_src/soft_flow.c **** case 1: 1062 .loc 1 285 13 1063 0154 00BF nop 1064 0156 00E0 b .L57 1065 .L56: 291:user_src/soft_flow.c **** default: 1066 .loc 1 291 13 1067 0158 00BF nop 1068 .L48: 1069 .L57: 296:user_src/soft_flow.c **** } 1070 .loc 1 296 1 1071 015a 00BF nop 1072 015c 1037 adds r7, r7, #16 1073 .LCFI25: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 26 1074 .cfi_def_cfa_offset 8 1075 015e BD46 mov sp, r7 1076 .LCFI26: 1077 .cfi_def_cfa_register 13 1078 @ sp needed 1079 0160 80BD pop {r7, pc} 1080 .L59: 1081 0162 00BF .align 2 1082 .L58: 1083 0164 00000000 .word Dev 1084 0168 00000000 .word flow_mimo1 1085 016c 00000000 .word flow_mimo2 1086 .cfi_endproc 1087 .LFE137: 1089 .global flow_vkdev1 1090 .section .bss.flow_vkdev1,"aw",%nobits 1091 .align 2 1094 flow_vkdev1: 1095 0000 00000000 .space 12 1095 00000000 1095 00000000 1096 .global flow_vkdev2 1097 .section .bss.flow_vkdev2,"aw",%nobits 1098 .align 2 1101 flow_vkdev2: 1102 0000 00000000 .space 12 1102 00000000 1102 00000000 1103 .section .bss.l1l2_time.3,"aw",%nobits 1104 .align 2 1107 l1l2_time.3: 1108 0000 00000000 .space 4 1109 .section .bss.jet_active.2,"aw",%nobits 1112 jet_active.2: 1113 0000 00 .space 1 1114 .section .bss.jet_time.1,"aw",%nobits 1115 .align 2 1118 jet_time.1: 1119 0000 00000000 .space 4 1120 .section .bss.jet_ack_flag.0,"aw",%nobits 1123 jet_ack_flag.0: 1124 0000 00 .space 1 1125 .text 1126 .Letext0: 1127 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 1128 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 1129 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 1130 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h" 1131 .file 6 "user_inc/common.h" 1132 .file 7 "user_inc/soft_flow.h" 1133 .file 8 "user_inc/soft_flash.h" 1134 .file 9 "user_inc/soft_eft.h" 1135 .file 10 "user_inc/soft_seed_device.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s page 27 DEFINED SYMBOLS *ABS*:00000000 soft_flow.c C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:24 .bss.flow_dev1:00000000 flow_dev1 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:21 .bss.flow_dev1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:31 .bss.flow_dev2:00000000 flow_dev2 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:28 .bss.flow_dev2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:34 .text.HAL_GPIO_EXTI_Callback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:40 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:147 .text.flow_count_add:00000000 flow_count_add C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:136 .text.HAL_GPIO_EXTI_Callback:0000007c $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:141 .text.flow_count_add:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:355 .text.flow_count_add:00000140 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:366 .data.L3_status:00000000 L3_status C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:372 .data.L4_status:00000000 L4_status C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:375 .text.L1L2_GPIO_check:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:381 .text.L1L2_GPIO_check:00000000 L1L2_GPIO_check C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:569 .text.L1L2_GPIO_check:00000110 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1107 .bss.l1l2_time.3:00000000 l1l2_time.3 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1112 .bss.jet_active.2:00000000 jet_active.2 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1118 .bss.jet_time.1:00000000 jet_time.1 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1123 .bss.jet_ack_flag.0:00000000 jet_ack_flag.0 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:582 .text.flow_function:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:588 .text.flow_function:00000000 flow_function C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:801 .text.flow_function:0000016c $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:815 .bss.flow_mimo1:00000000 flow_mimo1 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:812 .bss.flow_mimo1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:822 .bss.flow_mimo2:00000000 flow_mimo2 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:819 .bss.flow_mimo2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:825 .text.can_recv_mimor_flow_function:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:831 .text.can_recv_mimor_flow_function:00000000 can_recv_mimor_flow_function C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1083 .text.can_recv_mimor_flow_function:00000164 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1094 .bss.flow_vkdev1:00000000 flow_vkdev1 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1091 .bss.flow_vkdev1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1101 .bss.flow_vkdev2:00000000 flow_vkdev2 C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1098 .bss.flow_vkdev2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1104 .bss.l1l2_time.3:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1113 .bss.jet_active.2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1115 .bss.jet_time.1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccDSH1Jq.s:1124 .bss.jet_ack_flag.0:00000000 $d UNDEFINED SYMBOLS HAL_GPIO_ReadPin Get_Systimer_Us HAL_GetTick pmu_set_ack current_pmu_par Dev memcpy