ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.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_p_2_c.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .global msg_buf 20 .section .bss.msg_buf,"aw",%nobits 21 .align 2 24 msg_buf: 25 0000 00000000 .space 256 25 00000000 25 00000000 25 00000000 25 00000000 26 .global crc 27 .section .bss.crc,"aw",%nobits 28 .align 1 31 crc: 32 0000 0000 .space 2 33 .global pmu 34 .section .bss.pmu,"aw",%nobits 35 .align 2 38 pmu: 39 0000 00000000 .space 32 39 00000000 39 00000000 39 00000000 39 00000000 40 .global planep 41 .section .bss.planep,"aw",%nobits 42 .align 2 45 planep: 46 0000 00000000 .space 62 46 00000000 46 00000000 46 00000000 46 00000000 47 .section .text.Update_ack_func,"ax",%progbits 48 .align 1 49 .global Update_ack_func 50 .syntax unified 51 .thumb 52 .thumb_func 54 Update_ack_func: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 2 55 .LFB133: 56 .file 1 "user_src/soft_p_2_c.c" 1:user_src/soft_p_2_c.c **** #include "soft_p_2_c.h" 2:user_src/soft_p_2_c.c **** #include "soft_uart.h" 3:user_src/soft_p_2_c.c **** #include "usart.h" 4:user_src/soft_p_2_c.c **** #include "stdbool.h" 5:user_src/soft_p_2_c.c **** #include "soft_timer.h" 6:user_src/soft_p_2_c.c **** #include "soft_adc.h" 7:user_src/soft_p_2_c.c **** #include "soft_flow.h" 8:user_src/soft_p_2_c.c **** #include "soft_crc.h" 9:user_src/soft_p_2_c.c **** #include 10:user_src/soft_p_2_c.c **** #include "stdbool.h" 11:user_src/soft_p_2_c.c **** #include "tim.h" 12:user_src/soft_p_2_c.c **** #include "hard_led.h" 13:user_src/soft_p_2_c.c **** #include "soft_can.h" 14:user_src/soft_p_2_c.c **** #include "stdio.h" 15:user_src/soft_p_2_c.c **** #include "soft_bms.h" 16:user_src/soft_p_2_c.c **** #include "soft_terrain.h" 17:user_src/soft_p_2_c.c **** #include "soft_obstacle.h" 18:user_src/soft_p_2_c.c **** #include "soft_okcell.h" 19:user_src/soft_p_2_c.c **** #include "soft_adc.h" 20:user_src/soft_p_2_c.c **** #include "config.h" 21:user_src/soft_p_2_c.c **** #include "soft_calibration.h" 22:user_src/soft_p_2_c.c **** #include "soft_flash.h" 23:user_src/soft_p_2_c.c **** #include "bsp_serial.h" 24:user_src/soft_p_2_c.c **** #include "rkfifo.h" 25:user_src/soft_p_2_c.c **** #include "soft_engine.h" 26:user_src/soft_p_2_c.c **** #include "soft_eft.h" 27:user_src/soft_p_2_c.c **** #include "math.h" 28:user_src/soft_p_2_c.c **** #include "stdlib.h" 29:user_src/soft_p_2_c.c **** #include "soft_water_device.h" 30:user_src/soft_p_2_c.c **** #include "soft_seed_device.h" 31:user_src/soft_p_2_c.c **** #include "soft_test.h" 32:user_src/soft_p_2_c.c **** #include "can_debug.h" 33:user_src/soft_p_2_c.c **** #include "soft_version.h" 34:user_src/soft_p_2_c.c **** #include "soft_update.h" 35:user_src/soft_p_2_c.c **** #include "qingxie_bms.h" 36:user_src/soft_p_2_c.c **** #include "soft_flash.h" 37:user_src/soft_p_2_c.c **** 38:user_src/soft_p_2_c.c **** 39:user_src/soft_p_2_c.c **** uint8_t msg_buf[256] = {0}; 40:user_src/soft_p_2_c.c **** uint16_t crc = 0; 41:user_src/soft_p_2_c.c **** pmu_data pmu; 42:user_src/soft_p_2_c.c **** plane_para planep = {.Candebug_flag = 0}; 43:user_src/soft_p_2_c.c **** 44:user_src/soft_p_2_c.c **** /** 45:user_src/soft_p_2_c.c **** * @file Update_ack_func 46:user_src/soft_p_2_c.c **** * @brief PMU回复ACK 回复升级工具 47:user_src/soft_p_2_c.c **** * @param 组件ID,消息ID,ACK数据 48:user_src/soft_p_2_c.c **** * @details 升级应答FMU透传,协议和升级工具一致,和FMU不一样 49:user_src/soft_p_2_c.c **** * @author Zhang Sir 50:user_src/soft_p_2_c.c **** **/ 51:user_src/soft_p_2_c.c **** void Update_ack_func(uint8_t group_id, uint8_t msg_id, uint8_t *ackbuf) 52:user_src/soft_p_2_c.c **** { 57 .loc 1 52 1 58 .cfi_startproc 59 @ args = 0, pretend = 0, frame = 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 3 60 @ frame_needed = 1, uses_anonymous_args = 0 61 0000 80B5 push {r7, lr} 62 .LCFI0: 63 .cfi_def_cfa_offset 8 64 .cfi_offset 7, -8 65 .cfi_offset 14, -4 66 0002 84B0 sub sp, sp, #16 67 .LCFI1: 68 .cfi_def_cfa_offset 24 69 0004 00AF add r7, sp, #0 70 .LCFI2: 71 .cfi_def_cfa_register 7 72 0006 0346 mov r3, r0 73 0008 3A60 str r2, [r7] 74 000a FB71 strb r3, [r7, #7] 75 000c 0B46 mov r3, r1 76 000e BB71 strb r3, [r7, #6] 53:user_src/soft_p_2_c.c **** 54:user_src/soft_p_2_c.c **** int index = 0; 77 .loc 1 54 9 78 0010 0023 movs r3, #0 79 0012 FB60 str r3, [r7, #12] 55:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 80 .loc 1 55 18 81 0014 FB68 ldr r3, [r7, #12] 82 0016 5A1C adds r2, r3, #1 83 0018 FA60 str r2, [r7, #12] 84 .loc 1 55 22 85 001a 2D4A ldr r2, .L2 86 001c FE21 movs r1, #254 87 001e D154 strb r1, [r2, r3] 56:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 88 .loc 1 56 18 89 0020 FB68 ldr r3, [r7, #12] 90 0022 5A1C adds r2, r3, #1 91 0024 FA60 str r2, [r7, #12] 92 .loc 1 56 22 93 0026 2A4A ldr r2, .L2 94 0028 0021 movs r1, #0 95 002a D154 strb r1, [r2, r3] 57:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 96 .loc 1 57 18 97 002c FB68 ldr r3, [r7, #12] 98 002e 5A1C adds r2, r3, #1 99 0030 FA60 str r2, [r7, #12] 100 .loc 1 57 22 101 0032 274A ldr r2, .L2 102 0034 0021 movs r1, #0 103 0036 D154 strb r1, [r2, r3] 58:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 104 .loc 1 58 18 105 0038 FB68 ldr r3, [r7, #12] 106 003a 5A1C adds r2, r3, #1 107 003c FA60 str r2, [r7, #12] 108 .loc 1 58 22 109 003e 244A ldr r2, .L2 110 0040 0021 movs r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 4 111 0042 D154 strb r1, [r2, r3] 59:user_src/soft_p_2_c.c **** msg_buf[index++] = group_id; 112 .loc 1 59 18 113 0044 FB68 ldr r3, [r7, #12] 114 0046 5A1C adds r2, r3, #1 115 0048 FA60 str r2, [r7, #12] 116 .loc 1 59 22 117 004a 2149 ldr r1, .L2 118 004c FA79 ldrb r2, [r7, #7] 119 004e CA54 strb r2, [r1, r3] 60:user_src/soft_p_2_c.c **** msg_buf[index++] = 21; 120 .loc 1 60 18 121 0050 FB68 ldr r3, [r7, #12] 122 0052 5A1C adds r2, r3, #1 123 0054 FA60 str r2, [r7, #12] 124 .loc 1 60 22 125 0056 1E4A ldr r2, .L2 126 0058 1521 movs r1, #21 127 005a D154 strb r1, [r2, r3] 61:user_src/soft_p_2_c.c **** 62:user_src/soft_p_2_c.c **** msg_buf[index++] = msg_id; 128 .loc 1 62 18 129 005c FB68 ldr r3, [r7, #12] 130 005e 5A1C adds r2, r3, #1 131 0060 FA60 str r2, [r7, #12] 132 .loc 1 62 22 133 0062 1B49 ldr r1, .L2 134 0064 BA79 ldrb r2, [r7, #6] 135 0066 CA54 strb r2, [r1, r3] 63:user_src/soft_p_2_c.c **** msg_buf[index++] = *ackbuf; 136 .loc 1 63 18 137 0068 FB68 ldr r3, [r7, #12] 138 006a 5A1C adds r2, r3, #1 139 006c FA60 str r2, [r7, #12] 140 .loc 1 63 24 141 006e 3A68 ldr r2, [r7] 142 0070 1178 ldrb r1, [r2] @ zero_extendqisi2 143 .loc 1 63 22 144 0072 174A ldr r2, .L2 145 0074 D154 strb r1, [r2, r3] 64:user_src/soft_p_2_c.c **** msg_buf[index++] = *(ackbuf + 1); 146 .loc 1 64 18 147 0076 FB68 ldr r3, [r7, #12] 148 0078 5A1C adds r2, r3, #1 149 007a FA60 str r2, [r7, #12] 150 .loc 1 64 22 151 007c 3A68 ldr r2, [r7] 152 007e 5178 ldrb r1, [r2, #1] @ zero_extendqisi2 153 0080 134A ldr r2, .L2 154 0082 D154 strb r1, [r2, r3] 65:user_src/soft_p_2_c.c **** msg_buf[index++] = 1; 155 .loc 1 65 18 156 0084 FB68 ldr r3, [r7, #12] 157 0086 5A1C adds r2, r3, #1 158 0088 FA60 str r2, [r7, #12] 159 .loc 1 65 22 160 008a 114A ldr r2, .L2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 5 161 008c 0121 movs r1, #1 162 008e D154 strb r1, [r2, r3] 66:user_src/soft_p_2_c.c **** 67:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 163 .loc 1 67 24 164 0090 FB68 ldr r3, [r7, #12] 165 0092 DBB2 uxtb r3, r3 166 0094 063B subs r3, r3, #6 167 0096 DAB2 uxtb r2, r3 168 .loc 1 67 16 169 0098 0D4B ldr r3, .L2 170 009a 5A70 strb r2, [r3, #1] 68:user_src/soft_p_2_c.c **** uint16_t uart_crc = Get_Crc16(msg_buf, index); 171 .loc 1 68 25 172 009c FB68 ldr r3, [r7, #12] 173 009e 9BB2 uxth r3, r3 174 00a0 1946 mov r1, r3 175 00a2 0B48 ldr r0, .L2 176 00a4 FFF7FEFF bl Get_Crc16 177 00a8 0346 mov r3, r0 178 .loc 1 68 14 179 00aa 7B81 strh r3, [r7, #10] @ movhi 69:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &uart_crc, 2); 180 .loc 1 69 12 181 00ac FB68 ldr r3, [r7, #12] 182 00ae 084A ldr r2, .L2 183 00b0 1344 add r3, r3, r2 184 00b2 7A89 ldrh r2, [r7, #10] 185 .loc 1 69 5 186 00b4 1A80 strh r2, [r3] @ unaligned 70:user_src/soft_p_2_c.c **** index += 2; 187 .loc 1 70 11 188 00b6 FB68 ldr r3, [r7, #12] 189 00b8 0233 adds r3, r3, #2 190 00ba FB60 str r3, [r7, #12] 71:user_src/soft_p_2_c.c **** 72:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 191 .loc 1 72 5 192 00bc FB68 ldr r3, [r7, #12] 193 00be DBB2 uxtb r3, r3 194 00c0 1946 mov r1, r3 195 00c2 0348 ldr r0, .L2 196 00c4 FFF7FEFF bl uart2_send_msg 73:user_src/soft_p_2_c.c **** } 197 .loc 1 73 1 198 00c8 00BF nop 199 00ca 1037 adds r7, r7, #16 200 .LCFI3: 201 .cfi_def_cfa_offset 8 202 00cc BD46 mov sp, r7 203 .LCFI4: 204 .cfi_def_cfa_register 13 205 @ sp needed 206 00ce 80BD pop {r7, pc} 207 .L3: 208 .align 2 209 .L2: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 6 210 00d0 00000000 .word msg_buf 211 .cfi_endproc 212 .LFE133: 214 .section .text.pmu_set_ack,"ax",%progbits 215 .align 1 216 .global pmu_set_ack 217 .syntax unified 218 .thumb 219 .thumb_func 221 pmu_set_ack: 222 .LFB134: 74:user_src/soft_p_2_c.c **** 75:user_src/soft_p_2_c.c **** 76:user_src/soft_p_2_c.c **** /** 77:user_src/soft_p_2_c.c **** * @file pmu_set_ack 78:user_src/soft_p_2_c.c **** * @brief PMU应答FMU 79:user_src/soft_p_2_c.c **** * @param 命令 命令内容 123 80:user_src/soft_p_2_c.c **** * @details 81:user_src/soft_p_2_c.c **** * @author Zhang Sir 82:user_src/soft_p_2_c.c **** **/ 83:user_src/soft_p_2_c.c **** void pmu_set_ack(uint8_t id,short content1, short content2,short content3) 84:user_src/soft_p_2_c.c **** { 223 .loc 1 84 1 224 .cfi_startproc 225 @ args = 0, pretend = 0, frame = 8 226 @ frame_needed = 1, uses_anonymous_args = 0 227 @ link register save eliminated. 228 0000 90B4 push {r4, r7} 229 .LCFI5: 230 .cfi_def_cfa_offset 8 231 .cfi_offset 4, -8 232 .cfi_offset 7, -4 233 0002 82B0 sub sp, sp, #8 234 .LCFI6: 235 .cfi_def_cfa_offset 16 236 0004 00AF add r7, sp, #0 237 .LCFI7: 238 .cfi_def_cfa_register 7 239 0006 0446 mov r4, r0 240 0008 0846 mov r0, r1 241 000a 1146 mov r1, r2 242 000c 1A46 mov r2, r3 243 000e 2346 mov r3, r4 244 0010 FB71 strb r3, [r7, #7] 245 0012 0346 mov r3, r0 @ movhi 246 0014 BB80 strh r3, [r7, #4] @ movhi 247 0016 0B46 mov r3, r1 @ movhi 248 0018 7B80 strh r3, [r7, #2] @ movhi 249 001a 1346 mov r3, r2 @ movhi 250 001c 3B80 strh r3, [r7] @ movhi 85:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_ACK; 251 .loc 1 85 14 252 001e 0A4B ldr r3, .L5 253 0020 0322 movs r2, #3 254 0022 1A70 strb r2, [r3] 86:user_src/soft_p_2_c.c **** ack_id = id; 255 .loc 1 86 12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 7 256 0024 094A ldr r2, .L5+4 257 0026 FB79 ldrb r3, [r7, #7] 258 0028 1370 strb r3, [r2] 87:user_src/soft_p_2_c.c **** ack_content = content1; 259 .loc 1 87 17 260 002a 094A ldr r2, .L5+8 261 002c BB88 ldrh r3, [r7, #4] @ movhi 262 002e 1380 strh r3, [r2] @ movhi 88:user_src/soft_p_2_c.c **** ack_content1 = content2; 263 .loc 1 88 18 264 0030 084A ldr r2, .L5+12 265 0032 7B88 ldrh r3, [r7, #2] @ movhi 266 0034 1380 strh r3, [r2] @ movhi 89:user_src/soft_p_2_c.c **** ack_content2 = content3; 267 .loc 1 89 18 268 0036 084A ldr r2, .L5+16 269 0038 3B88 ldrh r3, [r7] @ movhi 270 003a 1380 strh r3, [r2] @ movhi 90:user_src/soft_p_2_c.c **** } 271 .loc 1 90 1 272 003c 00BF nop 273 003e 0837 adds r7, r7, #8 274 .LCFI8: 275 .cfi_def_cfa_offset 8 276 0040 BD46 mov sp, r7 277 .LCFI9: 278 .cfi_def_cfa_register 13 279 @ sp needed 280 0042 90BC pop {r4, r7} 281 .LCFI10: 282 .cfi_restore 7 283 .cfi_restore 4 284 .cfi_def_cfa_offset 0 285 0044 7047 bx lr 286 .L6: 287 0046 00BF .align 2 288 .L5: 289 0048 00000000 .word pmu_send 290 004c 00000000 .word ack_id 291 0050 00000000 .word ack_content 292 0054 00000000 .word ack_content1 293 0058 00000000 .word ack_content2 294 .cfi_endproc 295 .LFE134: 297 .section .text.pmu_to_con_voltage_data,"ax",%progbits 298 .align 1 299 .global pmu_to_con_voltage_data 300 .syntax unified 301 .thumb 302 .thumb_func 304 pmu_to_con_voltage_data: 305 .LFB135: 91:user_src/soft_p_2_c.c **** 92:user_src/soft_p_2_c.c **** 93:user_src/soft_p_2_c.c **** /** 94:user_src/soft_p_2_c.c **** * @file pmu_to_con_voltage_data 95:user_src/soft_p_2_c.c **** * @brief PMU发送电压、温度信息 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 8 96:user_src/soft_p_2_c.c **** * @param none 97:user_src/soft_p_2_c.c **** * @details 98:user_src/soft_p_2_c.c **** * @author Zhang Sir 99:user_src/soft_p_2_c.c **** **/ 100:user_src/soft_p_2_c.c **** void pmu_to_con_voltage_data() 101:user_src/soft_p_2_c.c **** { 306 .loc 1 101 1 307 .cfi_startproc 308 @ args = 0, pretend = 0, frame = 8 309 @ frame_needed = 1, uses_anonymous_args = 0 310 0000 80B5 push {r7, lr} 311 .LCFI11: 312 .cfi_def_cfa_offset 8 313 .cfi_offset 7, -8 314 .cfi_offset 14, -4 315 0002 82B0 sub sp, sp, #8 316 .LCFI12: 317 .cfi_def_cfa_offset 16 318 0004 00AF add r7, sp, #0 319 .LCFI13: 320 .cfi_def_cfa_register 7 102:user_src/soft_p_2_c.c **** int index = 0; 321 .loc 1 102 9 322 0006 0023 movs r3, #0 323 0008 7B60 str r3, [r7, #4] 103:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 324 .loc 1 103 18 325 000a 7B68 ldr r3, [r7, #4] 326 000c 5A1C adds r2, r3, #1 327 000e 7A60 str r2, [r7, #4] 328 .loc 1 103 22 329 0010 4B4A ldr r2, .L8 330 0012 FE21 movs r1, #254 331 0014 D154 strb r1, [r2, r3] 104:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 332 .loc 1 104 18 333 0016 7B68 ldr r3, [r7, #4] 334 0018 5A1C adds r2, r3, #1 335 001a 7A60 str r2, [r7, #4] 336 .loc 1 104 22 337 001c 484A ldr r2, .L8 338 001e 0021 movs r1, #0 339 0020 D154 strb r1, [r2, r3] 105:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; //组件计数 340 .loc 1 105 18 341 0022 7B68 ldr r3, [r7, #4] 342 0024 5A1C adds r2, r3, #1 343 0026 7A60 str r2, [r7, #4] 344 .loc 1 105 22 345 0028 454A ldr r2, .L8 346 002a 0021 movs r1, #0 347 002c D154 strb r1, [r2, r3] 106:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 348 .loc 1 106 18 349 002e 7B68 ldr r3, [r7, #4] 350 0030 5A1C adds r2, r3, #1 351 0032 7A60 str r2, [r7, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 9 352 .loc 1 106 22 353 0034 424A ldr r2, .L8 354 0036 0021 movs r1, #0 355 0038 D154 strb r1, [r2, r3] 107:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 356 .loc 1 107 18 357 003a 7B68 ldr r3, [r7, #4] 358 003c 5A1C adds r2, r3, #1 359 003e 7A60 str r2, [r7, #4] 360 .loc 1 107 22 361 0040 3F4A ldr r2, .L8 362 0042 0021 movs r1, #0 363 0044 D154 strb r1, [r2, r3] 108:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_VOL; 364 .loc 1 108 18 365 0046 7B68 ldr r3, [r7, #4] 366 0048 5A1C adds r2, r3, #1 367 004a 7A60 str r2, [r7, #4] 368 .loc 1 108 22 369 004c 3C4A ldr r2, .L8 370 004e 0121 movs r1, #1 371 0050 D154 strb r1, [r2, r3] 109:user_src/soft_p_2_c.c **** 110:user_src/soft_p_2_c.c **** pmu.voltage = ADC_gather() / 10.0f + current_pmu_par.cal_vol * 10; // 获取当前板子电压 372 .loc 1 110 19 373 0052 FFF7FEFF bl ADC_gather 374 0056 F0EE407A vmov.f32 s15, s0 375 .loc 1 110 32 376 005a F2EE046A vmov.f32 s13, #1.0e+1 377 005e 87EEA67A vdiv.f32 s14, s15, s13 378 .loc 1 110 57 379 0062 384B ldr r3, .L8+4 380 0064 B3F90030 ldrsh r3, [r3] 381 0068 1A46 mov r2, r3 382 .loc 1 110 66 383 006a 1346 mov r3, r2 384 006c 9B00 lsls r3, r3, #2 385 006e 1344 add r3, r3, r2 386 0070 5B00 lsls r3, r3, #1 387 0072 07EE903A vmov s15, r3 @ int 388 .loc 1 110 40 389 0076 F8EEE77A vcvt.f32.s32 s15, s15 390 007a 77EE277A vadd.f32 s15, s14, s15 391 .loc 1 110 17 392 007e FCEEE77A vcvt.u32.f32 s15, s15 393 0082 17EE903A vmov r3, s15 @ int 394 0086 9AB2 uxth r2, r3 395 0088 2F4B ldr r3, .L8+8 396 008a 5A81 strh r2, [r3, #10] @ movhi 111:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &pmu.voltage, 2); 397 .loc 1 111 12 398 008c 7B68 ldr r3, [r7, #4] 399 008e 2C4A ldr r2, .L8 400 0090 1344 add r3, r3, r2 401 0092 2D4A ldr r2, .L8+8 402 0094 5289 ldrh r2, [r2, #10] 403 .loc 1 111 5 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 10 404 0096 1A80 strh r2, [r3] @ unaligned 112:user_src/soft_p_2_c.c **** index += 2; 405 .loc 1 112 11 406 0098 7B68 ldr r3, [r7, #4] 407 009a 0233 adds r3, r3, #2 408 009c 7B60 str r3, [r7, #4] 113:user_src/soft_p_2_c.c **** 114:user_src/soft_p_2_c.c **** pmu.temperature = ADC_read_temptrue(); 409 .loc 1 114 23 410 009e FFF7FEFF bl ADC_read_temptrue 411 00a2 0346 mov r3, r0 412 00a4 1A46 mov r2, r3 413 .loc 1 114 21 414 00a6 284B ldr r3, .L8+8 415 00a8 9A81 strh r2, [r3, #12] @ movhi 115:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &pmu.temperature, 2); 416 .loc 1 115 12 417 00aa 7B68 ldr r3, [r7, #4] 418 00ac 244A ldr r2, .L8 419 00ae 1344 add r3, r3, r2 420 00b0 254A ldr r2, .L8+8 421 00b2 9289 ldrh r2, [r2, #12] 422 .loc 1 115 5 423 00b4 1A80 strh r2, [r3] @ unaligned 116:user_src/soft_p_2_c.c **** index += 2; 424 .loc 1 116 11 425 00b6 7B68 ldr r3, [r7, #4] 426 00b8 0233 adds r3, r3, #2 427 00ba 7B60 str r3, [r7, #4] 117:user_src/soft_p_2_c.c **** 118:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 428 .loc 1 118 18 429 00bc 7B68 ldr r3, [r7, #4] 430 00be 5A1C adds r2, r3, #1 431 00c0 7A60 str r2, [r7, #4] 432 .loc 1 118 22 433 00c2 1F4A ldr r2, .L8 434 00c4 0021 movs r1, #0 435 00c6 D154 strb r1, [r2, r3] 119:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 436 .loc 1 119 18 437 00c8 7B68 ldr r3, [r7, #4] 438 00ca 5A1C adds r2, r3, #1 439 00cc 7A60 str r2, [r7, #4] 440 .loc 1 119 22 441 00ce 1C4A ldr r2, .L8 442 00d0 0021 movs r1, #0 443 00d2 D154 strb r1, [r2, r3] 120:user_src/soft_p_2_c.c **** 121:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], ¤t_pmu_par.abnormal_outage_flag, 2); 444 .loc 1 121 12 445 00d4 7B68 ldr r3, [r7, #4] 446 00d6 1A4A ldr r2, .L8 447 00d8 1344 add r3, r3, r2 448 00da 1A4A ldr r2, .L8+4 449 00dc 9288 ldrh r2, [r2, #4] 450 .loc 1 121 5 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 11 451 00de 1A80 strh r2, [r3] @ unaligned 122:user_src/soft_p_2_c.c **** index += 2; 452 .loc 1 122 11 453 00e0 7B68 ldr r3, [r7, #4] 454 00e2 0233 adds r3, r3, #2 455 00e4 7B60 str r3, [r7, #4] 123:user_src/soft_p_2_c.c **** 124:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 456 .loc 1 124 24 457 00e6 7B68 ldr r3, [r7, #4] 458 00e8 DBB2 uxtb r3, r3 459 00ea 063B subs r3, r3, #6 460 00ec DAB2 uxtb r2, r3 461 .loc 1 124 16 462 00ee 144B ldr r3, .L8 463 00f0 5A70 strb r2, [r3, #1] 125:user_src/soft_p_2_c.c **** 126:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 464 .loc 1 126 11 465 00f2 7B68 ldr r3, [r7, #4] 466 00f4 9BB2 uxth r3, r3 467 00f6 1946 mov r1, r3 468 00f8 1148 ldr r0, .L8 469 00fa FFF7FEFF bl Get_Crc16 470 00fe 0346 mov r3, r0 471 0100 1A46 mov r2, r3 472 .loc 1 126 9 473 0102 124B ldr r3, .L8+12 474 0104 1A80 strh r2, [r3] @ movhi 127:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 475 .loc 1 127 22 476 0106 114B ldr r3, .L8+12 477 0108 1988 ldrh r1, [r3] 478 .loc 1 127 18 479 010a 7B68 ldr r3, [r7, #4] 480 010c 5A1C adds r2, r3, #1 481 010e 7A60 str r2, [r7, #4] 482 .loc 1 127 22 483 0110 C9B2 uxtb r1, r1 484 0112 0B4A ldr r2, .L8 485 0114 D154 strb r1, [r2, r3] 128:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 486 .loc 1 128 22 487 0116 0D4B ldr r3, .L8+12 488 0118 1B88 ldrh r3, [r3] 489 011a 1B0A lsrs r3, r3, #8 490 011c 99B2 uxth r1, r3 491 .loc 1 128 18 492 011e 7B68 ldr r3, [r7, #4] 493 0120 5A1C adds r2, r3, #1 494 0122 7A60 str r2, [r7, #4] 495 .loc 1 128 22 496 0124 C9B2 uxtb r1, r1 497 0126 064A ldr r2, .L8 498 0128 D154 strb r1, [r2, r3] 129:user_src/soft_p_2_c.c **** 130:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); //10 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 12 499 .loc 1 130 5 500 012a 7B68 ldr r3, [r7, #4] 501 012c DBB2 uxtb r3, r3 502 012e 1946 mov r1, r3 503 0130 0348 ldr r0, .L8 504 0132 FFF7FEFF bl uart2_send_msg 131:user_src/soft_p_2_c.c **** //for(int i = 0;i<10;i++){ 132:user_src/soft_p_2_c.c **** //printf("%d ",msg_buf[6]); 133:user_src/soft_p_2_c.c **** //printf("%d\n",msg_buf[7]); 134:user_src/soft_p_2_c.c **** //} 135:user_src/soft_p_2_c.c **** } 505 .loc 1 135 1 506 0136 00BF nop 507 0138 0837 adds r7, r7, #8 508 .LCFI14: 509 .cfi_def_cfa_offset 8 510 013a BD46 mov sp, r7 511 .LCFI15: 512 .cfi_def_cfa_register 13 513 @ sp needed 514 013c 80BD pop {r7, pc} 515 .L9: 516 013e 00BF .align 2 517 .L8: 518 0140 00000000 .word msg_buf 519 0144 00000000 .word current_pmu_par 520 0148 00000000 .word pmu 521 014c 00000000 .word crc 522 .cfi_endproc 523 .LFE135: 525 .section .text.get_radar_info,"ax",%progbits 526 .align 1 527 .global get_radar_info 528 .syntax unified 529 .thumb 530 .thumb_func 532 get_radar_info: 533 .LFB136: 136:user_src/soft_p_2_c.c **** 137:user_src/soft_p_2_c.c **** /** 138:user_src/soft_p_2_c.c **** * @file get_radar_info 139:user_src/soft_p_2_c.c **** * @brief 获取雷达信息 140:user_src/soft_p_2_c.c **** * @param Info_Type:避障雷达 X:1 Y:2 141:user_src/soft_p_2_c.c **** * @details 142:user_src/soft_p_2_c.c **** * @author Zhang Sir 143:user_src/soft_p_2_c.c **** **/ 144:user_src/soft_p_2_c.c **** short get_radar_info(uint8_t Radar_Type,uint8_t Info_Type) 145:user_src/soft_p_2_c.c **** { 534 .loc 1 145 1 535 .cfi_startproc 536 @ args = 0, pretend = 0, frame = 16 537 @ frame_needed = 1, uses_anonymous_args = 0 538 @ link register save eliminated. 539 0000 80B4 push {r7} 540 .LCFI16: 541 .cfi_def_cfa_offset 4 542 .cfi_offset 7, -4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 13 543 0002 85B0 sub sp, sp, #20 544 .LCFI17: 545 .cfi_def_cfa_offset 24 546 0004 00AF add r7, sp, #0 547 .LCFI18: 548 .cfi_def_cfa_register 7 549 0006 0346 mov r3, r0 550 0008 0A46 mov r2, r1 551 000a FB71 strb r3, [r7, #7] 552 000c 1346 mov r3, r2 553 000e BB71 strb r3, [r7, #6] 146:user_src/soft_p_2_c.c **** uavr_terrain *Ptr_T = NULL; 554 .loc 1 146 19 555 0010 0023 movs r3, #0 556 0012 FB60 str r3, [r7, #12] 147:user_src/soft_p_2_c.c **** uavr_obs *Ptr_O = NULL; 557 .loc 1 147 15 558 0014 0023 movs r3, #0 559 0016 BB60 str r3, [r7, #8] 148:user_src/soft_p_2_c.c **** 149:user_src/soft_p_2_c.c **** if(Radar_Type == MSGID_SET_T_RADAR) 560 .loc 1 149 7 561 0018 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 562 001a 062B cmp r3, #6 563 001c 25D1 bne .L11 150:user_src/soft_p_2_c.c **** { 151:user_src/soft_p_2_c.c **** if(mimo_ter_info.Link.connect_status != COMP_NOEXIST) 564 .loc 1 151 30 565 001e 474B ldr r3, .L31 566 0020 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 567 .loc 1 151 11 568 0022 002B cmp r3, #0 569 0024 02D0 beq .L12 152:user_src/soft_p_2_c.c **** Ptr_T = &mimo_ter_info; 570 .loc 1 152 19 571 0026 454B ldr r3, .L31 572 0028 FB60 str r3, [r7, #12] 573 002a 0CE0 b .L13 574 .L12: 153:user_src/soft_p_2_c.c **** else if(DM_ter_info.Link.connect_status != COMP_NOEXIST) 575 .loc 1 153 33 576 002c 444B ldr r3, .L31+4 577 002e 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 578 .loc 1 153 16 579 0030 002B cmp r3, #0 580 0032 02D0 beq .L14 154:user_src/soft_p_2_c.c **** Ptr_T = &DM_ter_info; 581 .loc 1 154 19 582 0034 424B ldr r3, .L31+4 583 0036 FB60 str r3, [r7, #12] 584 0038 05E0 b .L13 585 .L14: 155:user_src/soft_p_2_c.c **** else if(uavr56_info.Link.connect_status != COMP_NOEXIST) 586 .loc 1 155 33 587 003a 424B ldr r3, .L31+8 588 003c 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 589 .loc 1 155 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 14 590 003e 002B cmp r3, #0 591 0040 01D0 beq .L13 156:user_src/soft_p_2_c.c **** Ptr_T = &uavr56_info; 592 .loc 1 156 19 593 0042 404B ldr r3, .L31+8 594 0044 FB60 str r3, [r7, #12] 595 .L13: 157:user_src/soft_p_2_c.c **** 158:user_src/soft_p_2_c.c **** 159:user_src/soft_p_2_c.c **** if(Ptr_T->Link.connect_status == COMP_LOST) {return -2;} 596 .loc 1 159 23 597 0046 FB68 ldr r3, [r7, #12] 598 0048 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 599 .loc 1 159 11 600 004a 022B cmp r3, #2 601 004c 02D1 bne .L15 602 .loc 1 159 61 discriminator 1 603 004e 6FF00103 mvn r3, #1 604 0052 6CE0 b .L16 605 .L15: 160:user_src/soft_p_2_c.c **** else if(Ptr_T == NULL) {return -1;} 606 .loc 1 160 16 607 0054 FB68 ldr r3, [r7, #12] 608 0056 002B cmp r3, #0 609 0058 02D1 bne .L17 610 .loc 1 160 40 discriminator 1 611 005a 4FF0FF33 mov r3, #-1 612 005e 66E0 b .L16 613 .L17: 161:user_src/soft_p_2_c.c **** else {return Ptr_T->height;} 614 .loc 1 161 27 615 0060 FB68 ldr r3, [r7, #12] 616 0062 B3F90C30 ldrsh r3, [r3, #12] @ unaligned 617 0066 1BB2 sxth r3, r3 618 0068 61E0 b .L16 619 .L11: 162:user_src/soft_p_2_c.c **** } 163:user_src/soft_p_2_c.c **** else if(Radar_Type == MSGID_SET_F_RADAR) 620 .loc 1 163 12 621 006a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 622 006c 012B cmp r3, #1 623 006e 30D1 bne .L18 164:user_src/soft_p_2_c.c **** { 165:user_src/soft_p_2_c.c **** if(uavr11_info.Link.connect_status != COMP_NOEXIST) 624 .loc 1 165 28 625 0070 354B ldr r3, .L31+12 626 0072 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 627 .loc 1 165 11 628 0074 002B cmp r3, #0 629 0076 02D0 beq .L19 166:user_src/soft_p_2_c.c **** Ptr_O = &uavr11_info; 630 .loc 1 166 19 631 0078 334B ldr r3, .L31+12 632 007a BB60 str r3, [r7, #8] 633 007c 0CE0 b .L20 634 .L19: 167:user_src/soft_p_2_c.c **** else if(mimo_f_info.Link.connect_status != COMP_NOEXIST) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 15 635 .loc 1 167 33 636 007e 334B ldr r3, .L31+16 637 0080 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 638 .loc 1 167 16 639 0082 002B cmp r3, #0 640 0084 02D0 beq .L21 168:user_src/soft_p_2_c.c **** Ptr_O = &mimo_f_info; 641 .loc 1 168 19 642 0086 314B ldr r3, .L31+16 643 0088 BB60 str r3, [r7, #8] 644 008a 05E0 b .L20 645 .L21: 169:user_src/soft_p_2_c.c **** else if(DM_f_info.Link.connect_status != COMP_NOEXIST) 646 .loc 1 169 31 647 008c 304B ldr r3, .L31+20 648 008e 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 649 .loc 1 169 16 650 0090 002B cmp r3, #0 651 0092 01D0 beq .L20 170:user_src/soft_p_2_c.c **** Ptr_O = &DM_f_info; 652 .loc 1 170 19 653 0094 2E4B ldr r3, .L31+20 654 0096 BB60 str r3, [r7, #8] 655 .L20: 171:user_src/soft_p_2_c.c **** 172:user_src/soft_p_2_c.c **** if(Ptr_O->Link.connect_status == COMP_LOST) {return -2;} 656 .loc 1 172 23 657 0098 BB68 ldr r3, [r7, #8] 658 009a 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 659 .loc 1 172 11 660 009c 022B cmp r3, #2 661 009e 02D1 bne .L22 662 .loc 1 172 61 discriminator 1 663 00a0 6FF00103 mvn r3, #1 664 00a4 43E0 b .L16 665 .L22: 173:user_src/soft_p_2_c.c **** else if(Ptr_O == NULL) {return -1;} 666 .loc 1 173 16 667 00a6 BB68 ldr r3, [r7, #8] 668 00a8 002B cmp r3, #0 669 00aa 02D1 bne .L23 670 .loc 1 173 40 discriminator 1 671 00ac 4FF0FF33 mov r3, #-1 672 00b0 3DE0 b .L16 673 .L23: 174:user_src/soft_p_2_c.c **** else 175:user_src/soft_p_2_c.c **** { 176:user_src/soft_p_2_c.c **** if(Info_Type == OBS_X) 674 .loc 1 176 15 675 00b2 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 676 00b4 012B cmp r3, #1 677 00b6 04D1 bne .L24 177:user_src/soft_p_2_c.c **** return Ptr_O->distance_x; 678 .loc 1 177 29 679 00b8 BB68 ldr r3, [r7, #8] 680 00ba B3F90C30 ldrsh r3, [r3, #12] @ unaligned 681 00be 1BB2 sxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 16 682 00c0 35E0 b .L16 683 .L24: 178:user_src/soft_p_2_c.c **** else if((Info_Type == OBS_Y)) 684 .loc 1 178 20 685 00c2 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 686 00c4 022B cmp r3, #2 687 00c6 31D1 bne .L25 179:user_src/soft_p_2_c.c **** return Ptr_O->distance_y; 688 .loc 1 179 29 689 00c8 BB68 ldr r3, [r7, #8] 690 00ca B3F90E30 ldrsh r3, [r3, #14] @ unaligned 691 00ce 1BB2 sxth r3, r3 692 00d0 2DE0 b .L16 693 .L18: 180:user_src/soft_p_2_c.c **** } 181:user_src/soft_p_2_c.c **** } 182:user_src/soft_p_2_c.c **** else if(Radar_Type == MSGID_SET_B_RADAR) 694 .loc 1 182 12 695 00d2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 696 00d4 022B cmp r3, #2 697 00d6 29D1 bne .L25 183:user_src/soft_p_2_c.c **** { 184:user_src/soft_p_2_c.c **** if(uavr12_info.Link.connect_status != COMP_NOEXIST) 698 .loc 1 184 28 699 00d8 1E4B ldr r3, .L31+24 700 00da 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 701 .loc 1 184 11 702 00dc 002B cmp r3, #0 703 00de 02D0 beq .L26 185:user_src/soft_p_2_c.c **** Ptr_O = &uavr12_info; 704 .loc 1 185 19 705 00e0 1C4B ldr r3, .L31+24 706 00e2 BB60 str r3, [r7, #8] 707 00e4 05E0 b .L27 708 .L26: 186:user_src/soft_p_2_c.c **** else if(mimo_b_info.Link.connect_status != COMP_NOEXIST) 709 .loc 1 186 33 710 00e6 1C4B ldr r3, .L31+28 711 00e8 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 712 .loc 1 186 16 713 00ea 002B cmp r3, #0 714 00ec 01D0 beq .L27 187:user_src/soft_p_2_c.c **** Ptr_O = &mimo_b_info; 715 .loc 1 187 19 716 00ee 1A4B ldr r3, .L31+28 717 00f0 BB60 str r3, [r7, #8] 718 .L27: 188:user_src/soft_p_2_c.c **** 189:user_src/soft_p_2_c.c **** if(Ptr_O->Link.connect_status == COMP_LOST) {return -2;} 719 .loc 1 189 23 720 00f2 BB68 ldr r3, [r7, #8] 721 00f4 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 722 .loc 1 189 11 723 00f6 022B cmp r3, #2 724 00f8 02D1 bne .L28 725 .loc 1 189 61 discriminator 1 726 00fa 6FF00103 mvn r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 17 727 00fe 16E0 b .L16 728 .L28: 190:user_src/soft_p_2_c.c **** else if(Ptr_O == NULL) {return -1;} 729 .loc 1 190 16 730 0100 BB68 ldr r3, [r7, #8] 731 0102 002B cmp r3, #0 732 0104 02D1 bne .L29 733 .loc 1 190 40 discriminator 1 734 0106 4FF0FF33 mov r3, #-1 735 010a 10E0 b .L16 736 .L29: 191:user_src/soft_p_2_c.c **** else 192:user_src/soft_p_2_c.c **** { 193:user_src/soft_p_2_c.c **** if(Info_Type == OBS_X) 737 .loc 1 193 15 738 010c BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 739 010e 012B cmp r3, #1 740 0110 04D1 bne .L30 194:user_src/soft_p_2_c.c **** return Ptr_O->distance_x; 741 .loc 1 194 29 742 0112 BB68 ldr r3, [r7, #8] 743 0114 B3F90C30 ldrsh r3, [r3, #12] @ unaligned 744 0118 1BB2 sxth r3, r3 745 011a 08E0 b .L16 746 .L30: 195:user_src/soft_p_2_c.c **** else if((Info_Type == OBS_Y)) 747 .loc 1 195 20 748 011c BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 749 011e 022B cmp r3, #2 750 0120 04D1 bne .L25 196:user_src/soft_p_2_c.c **** return Ptr_O->distance_y; 751 .loc 1 196 29 752 0122 BB68 ldr r3, [r7, #8] 753 0124 B3F90E30 ldrsh r3, [r3, #14] @ unaligned 754 0128 1BB2 sxth r3, r3 755 012a 00E0 b .L16 756 .L25: 197:user_src/soft_p_2_c.c **** } 198:user_src/soft_p_2_c.c **** } 199:user_src/soft_p_2_c.c **** return 0; 757 .loc 1 199 12 758 012c 0023 movs r3, #0 759 .L16: 200:user_src/soft_p_2_c.c **** } 760 .loc 1 200 1 761 012e 1846 mov r0, r3 762 0130 1437 adds r7, r7, #20 763 .LCFI19: 764 .cfi_def_cfa_offset 4 765 0132 BD46 mov sp, r7 766 .LCFI20: 767 .cfi_def_cfa_register 13 768 @ sp needed 769 0134 5DF8047B ldr r7, [sp], #4 770 .LCFI21: 771 .cfi_restore 7 772 .cfi_def_cfa_offset 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 18 773 0138 7047 bx lr 774 .L32: 775 013a 00BF .align 2 776 .L31: 777 013c 00000000 .word mimo_ter_info 778 0140 00000000 .word DM_ter_info 779 0144 00000000 .word uavr56_info 780 0148 00000000 .word uavr11_info 781 014c 00000000 .word mimo_f_info 782 0150 00000000 .word DM_f_info 783 0154 00000000 .word uavr12_info 784 0158 00000000 .word mimo_b_info 785 .cfi_endproc 786 .LFE136: 788 .section .text.pmu_to_con_radar_data,"ax",%progbits 789 .align 1 790 .global pmu_to_con_radar_data 791 .syntax unified 792 .thumb 793 .thumb_func 795 pmu_to_con_radar_data: 796 .LFB137: 201:user_src/soft_p_2_c.c **** 202:user_src/soft_p_2_c.c **** /** 203:user_src/soft_p_2_c.c **** * @file pmu_to_con_radar_data 204:user_src/soft_p_2_c.c **** * @brief PMU发送雷达信息 205:user_src/soft_p_2_c.c **** * @param none 206:user_src/soft_p_2_c.c **** * @details 207:user_src/soft_p_2_c.c **** * @author Zhang Sir 208:user_src/soft_p_2_c.c **** **/ 209:user_src/soft_p_2_c.c **** void pmu_to_con_radar_data() 210:user_src/soft_p_2_c.c **** { 797 .loc 1 210 1 798 .cfi_startproc 799 @ args = 0, pretend = 0, frame = 8 800 @ frame_needed = 1, uses_anonymous_args = 0 801 0000 80B5 push {r7, lr} 802 .LCFI22: 803 .cfi_def_cfa_offset 8 804 .cfi_offset 7, -8 805 .cfi_offset 14, -4 806 0002 82B0 sub sp, sp, #8 807 .LCFI23: 808 .cfi_def_cfa_offset 16 809 0004 00AF add r7, sp, #0 810 .LCFI24: 811 .cfi_def_cfa_register 7 211:user_src/soft_p_2_c.c **** int index = 0; 812 .loc 1 211 9 813 0006 0023 movs r3, #0 814 0008 7B60 str r3, [r7, #4] 212:user_src/soft_p_2_c.c **** //检查各种雷达连接状态 213:user_src/soft_p_2_c.c **** check_radar_link_status(); 815 .loc 1 213 5 816 000a FFF7FEFF bl check_radar_link_status 214:user_src/soft_p_2_c.c **** 215:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 19 817 .loc 1 215 18 818 000e 7B68 ldr r3, [r7, #4] 819 0010 5A1C adds r2, r3, #1 820 0012 7A60 str r2, [r7, #4] 821 .loc 1 215 22 822 0014 4D4A ldr r2, .L34 823 0016 FE21 movs r1, #254 824 0018 D154 strb r1, [r2, r3] 216:user_src/soft_p_2_c.c **** msg_buf[index++] = 10; 825 .loc 1 216 18 826 001a 7B68 ldr r3, [r7, #4] 827 001c 5A1C adds r2, r3, #1 828 001e 7A60 str r2, [r7, #4] 829 .loc 1 216 22 830 0020 4A4A ldr r2, .L34 831 0022 0A21 movs r1, #10 832 0024 D154 strb r1, [r2, r3] 217:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 833 .loc 1 217 18 834 0026 7B68 ldr r3, [r7, #4] 835 0028 5A1C adds r2, r3, #1 836 002a 7A60 str r2, [r7, #4] 837 .loc 1 217 22 838 002c 474A ldr r2, .L34 839 002e 0021 movs r1, #0 840 0030 D154 strb r1, [r2, r3] 218:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 841 .loc 1 218 18 842 0032 7B68 ldr r3, [r7, #4] 843 0034 5A1C adds r2, r3, #1 844 0036 7A60 str r2, [r7, #4] 845 .loc 1 218 22 846 0038 444A ldr r2, .L34 847 003a 0021 movs r1, #0 848 003c D154 strb r1, [r2, r3] 219:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 849 .loc 1 219 18 850 003e 7B68 ldr r3, [r7, #4] 851 0040 5A1C adds r2, r3, #1 852 0042 7A60 str r2, [r7, #4] 853 .loc 1 219 22 854 0044 414A ldr r2, .L34 855 0046 0021 movs r1, #0 856 0048 D154 strb r1, [r2, r3] 220:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_RADAR; 857 .loc 1 220 18 858 004a 7B68 ldr r3, [r7, #4] 859 004c 5A1C adds r2, r3, #1 860 004e 7A60 str r2, [r7, #4] 861 .loc 1 220 22 862 0050 3E4A ldr r2, .L34 863 0052 0221 movs r1, #2 864 0054 D154 strb r1, [r2, r3] 221:user_src/soft_p_2_c.c **** 222:user_src/soft_p_2_c.c **** pmu.radar_buf[0] = get_radar_info(MSGID_SET_T_RADAR,0); 865 .loc 1 222 24 866 0056 0021 movs r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 20 867 0058 0620 movs r0, #6 868 005a FFF7FEFF bl get_radar_info 869 005e 0346 mov r3, r0 870 0060 1A46 mov r2, r3 871 .loc 1 222 22 872 0062 3B4B ldr r3, .L34+4 873 0064 1A80 strh r2, [r3] @ movhi 223:user_src/soft_p_2_c.c **** pmu.radar_buf[1] = get_radar_info(MSGID_SET_F_RADAR,OBS_Y); 874 .loc 1 223 24 875 0066 0221 movs r1, #2 876 0068 0120 movs r0, #1 877 006a FFF7FEFF bl get_radar_info 878 006e 0346 mov r3, r0 879 0070 1A46 mov r2, r3 880 .loc 1 223 22 881 0072 374B ldr r3, .L34+4 882 0074 5A80 strh r2, [r3, #2] @ movhi 224:user_src/soft_p_2_c.c **** pmu.radar_buf[2] = get_radar_info(MSGID_SET_F_RADAR,OBS_X); 883 .loc 1 224 24 884 0076 0121 movs r1, #1 885 0078 0120 movs r0, #1 886 007a FFF7FEFF bl get_radar_info 887 007e 0346 mov r3, r0 888 0080 1A46 mov r2, r3 889 .loc 1 224 22 890 0082 334B ldr r3, .L34+4 891 0084 9A80 strh r2, [r3, #4] @ movhi 225:user_src/soft_p_2_c.c **** pmu.radar_buf[3] = get_radar_info(MSGID_SET_B_RADAR,OBS_Y); 892 .loc 1 225 24 893 0086 0221 movs r1, #2 894 0088 0220 movs r0, #2 895 008a FFF7FEFF bl get_radar_info 896 008e 0346 mov r3, r0 897 0090 1A46 mov r2, r3 898 .loc 1 225 22 899 0092 2F4B ldr r3, .L34+4 900 0094 DA80 strh r2, [r3, #6] @ movhi 226:user_src/soft_p_2_c.c **** pmu.radar_buf[4] = get_radar_info(MSGID_SET_B_RADAR,OBS_X); 901 .loc 1 226 24 902 0096 0121 movs r1, #1 903 0098 0220 movs r0, #2 904 009a FFF7FEFF bl get_radar_info 905 009e 0346 mov r3, r0 906 00a0 1A46 mov r2, r3 907 .loc 1 226 22 908 00a2 2B4B ldr r3, .L34+4 909 00a4 1A81 strh r2, [r3, #8] @ movhi 227:user_src/soft_p_2_c.c **** 228:user_src/soft_p_2_c.c **** terrain_is_link = pmu.radar_buf[0] > -1? true:false; 910 .loc 1 228 36 911 00a6 2A4B ldr r3, .L34+4 912 00a8 B3F90030 ldrsh r3, [r3] 913 .loc 1 228 50 914 00ac DB43 mvns r3, r3 915 00ae 9BB2 uxth r3, r3 916 00b0 DB0B lsrs r3, r3, #15 917 00b2 DAB2 uxtb r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 21 918 .loc 1 228 21 919 00b4 274B ldr r3, .L34+8 920 00b6 1A70 strb r2, [r3] 229:user_src/soft_p_2_c.c **** obs_f_is_link = pmu.radar_buf[1] > -1? true:false; 921 .loc 1 229 34 922 00b8 254B ldr r3, .L34+4 923 00ba B3F90230 ldrsh r3, [r3, #2] 924 .loc 1 229 48 925 00be DB43 mvns r3, r3 926 00c0 9BB2 uxth r3, r3 927 00c2 DB0B lsrs r3, r3, #15 928 00c4 DAB2 uxtb r2, r3 929 .loc 1 229 19 930 00c6 244B ldr r3, .L34+12 931 00c8 1A70 strb r2, [r3] 230:user_src/soft_p_2_c.c **** obs_b_is_link = pmu.radar_buf[3] > -1? true:false; 932 .loc 1 230 34 933 00ca 214B ldr r3, .L34+4 934 00cc B3F90630 ldrsh r3, [r3, #6] 935 .loc 1 230 48 936 00d0 DB43 mvns r3, r3 937 00d2 9BB2 uxth r3, r3 938 00d4 DB0B lsrs r3, r3, #15 939 00d6 DAB2 uxtb r2, r3 940 .loc 1 230 19 941 00d8 204B ldr r3, .L34+16 942 00da 1A70 strb r2, [r3] 231:user_src/soft_p_2_c.c **** // //发送木牛或者恩曌数据或者莫之比仿地 232:user_src/soft_p_2_c.c **** // if ((muniu_ter_info.muniu_time == 0) && (mimo_ter_info.heart_time == 0) && (uavr56_info.hear 233:user_src/soft_p_2_c.c **** // { 234:user_src/soft_p_2_c.c **** // pmu.radar_buf[0] = -1; 235:user_src/soft_p_2_c.c **** // terrain_is_link = false; 236:user_src/soft_p_2_c.c **** // } 237:user_src/soft_p_2_c.c **** // else if ((muniu_ter_info.muniu_heart_flag == false) && (mimo_ter_info.heart_flag == false) & 238:user_src/soft_p_2_c.c **** // (uavr56_info.heart_flag == false)) //持续3秒没有接收到数据 显示断开 239:user_src/soft_p_2_c.c **** // { 240:user_src/soft_p_2_c.c **** // pmu.radar_buf[0] = -2; 241:user_src/soft_p_2_c.c **** // terrain_is_link = false; 242:user_src/soft_p_2_c.c **** // } 243:user_src/soft_p_2_c.c **** // else 244:user_src/soft_p_2_c.c **** // { 245:user_src/soft_p_2_c.c **** // if (muniu_ter_info.muniu_heart_flag == true) 246:user_src/soft_p_2_c.c **** // { 247:user_src/soft_p_2_c.c **** // pmu.radar_buf[0] = muniu_ter_info.muniu_hight; 248:user_src/soft_p_2_c.c **** // terrain_height = muniu_ter_info.muniu_hight; 249:user_src/soft_p_2_c.c **** // //printf("%d\n", muniu_hight); 250:user_src/soft_p_2_c.c **** // } 251:user_src/soft_p_2_c.c **** // else if (uavr56_info.heart_flag == true) 252:user_src/soft_p_2_c.c **** // { 253:user_src/soft_p_2_c.c **** // pmu.radar_buf[0] = uavr56_info.height; 254:user_src/soft_p_2_c.c **** // terrain_height = uavr56_info.height; 255:user_src/soft_p_2_c.c **** // // printf("%d\n",uavr56_info.height); 256:user_src/soft_p_2_c.c **** // } 257:user_src/soft_p_2_c.c **** // else if (mimo_ter_info.heart_flag == true) 258:user_src/soft_p_2_c.c **** // { 259:user_src/soft_p_2_c.c **** // pmu.radar_buf[0] = mimo_ter_info.height; 260:user_src/soft_p_2_c.c **** // terrain_height = mimo_ter_info.height; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 22 261:user_src/soft_p_2_c.c **** // // printf("%d %d %d %d\n",mimo_ter_info.height,keep_time,ez_count,ez_count2); 262:user_src/soft_p_2_c.c **** // } 263:user_src/soft_p_2_c.c **** // terrain_is_link = true; 264:user_src/soft_p_2_c.c **** // } 265:user_src/soft_p_2_c.c **** 266:user_src/soft_p_2_c.c **** // //前避障 267:user_src/soft_p_2_c.c **** // if (uavr11_info.heart_time == 0 && mimo_f_info.heart_time == 0) 268:user_src/soft_p_2_c.c **** // { 269:user_src/soft_p_2_c.c **** // pmu.radar_buf[1] = -1; 270:user_src/soft_p_2_c.c **** // obs_f_is_link = false; 271:user_src/soft_p_2_c.c **** // } 272:user_src/soft_p_2_c.c **** // else if (uavr11_info.heart_flag == false && mimo_f_info.heart_flag == false) 273:user_src/soft_p_2_c.c **** // { 274:user_src/soft_p_2_c.c **** // pmu.radar_buf[1] = -2; 275:user_src/soft_p_2_c.c **** // obs_f_is_link = false; 276:user_src/soft_p_2_c.c **** // } 277:user_src/soft_p_2_c.c **** // else 278:user_src/soft_p_2_c.c **** // { 279:user_src/soft_p_2_c.c **** // if (uavr11_info.heart_flag == true) 280:user_src/soft_p_2_c.c **** // { 281:user_src/soft_p_2_c.c **** // if(Fobs_handle_function()) 282:user_src/soft_p_2_c.c **** // { 283:user_src/soft_p_2_c.c **** 284:user_src/soft_p_2_c.c **** // pmu.radar_buf[1] = uavr11_info.distance_y; 285:user_src/soft_p_2_c.c **** // pmu.radar_buf[2] = uavr11_info.distance_x; 286:user_src/soft_p_2_c.c **** 287:user_src/soft_p_2_c.c **** // } 288:user_src/soft_p_2_c.c **** // else 289:user_src/soft_p_2_c.c **** // { 290:user_src/soft_p_2_c.c **** // pmu.radar_buf[1] = 0; 291:user_src/soft_p_2_c.c **** // pmu.radar_buf[2] = 0; 292:user_src/soft_p_2_c.c **** // } 293:user_src/soft_p_2_c.c **** // } 294:user_src/soft_p_2_c.c **** // if (mimo_f_info.heart_flag == true) 295:user_src/soft_p_2_c.c **** // { 296:user_src/soft_p_2_c.c **** // if(Fobs_handle_function()) 297:user_src/soft_p_2_c.c **** // { 298:user_src/soft_p_2_c.c **** // pmu.radar_buf[1] = mimo_f_info.distance_y; 299:user_src/soft_p_2_c.c **** // pmu.radar_buf[2] = mimo_f_info.distance_x; 300:user_src/soft_p_2_c.c **** // } 301:user_src/soft_p_2_c.c **** // else 302:user_src/soft_p_2_c.c **** // { 303:user_src/soft_p_2_c.c **** // pmu.radar_buf[1] = 0; 304:user_src/soft_p_2_c.c **** // pmu.radar_buf[2] = 0; 305:user_src/soft_p_2_c.c **** // } 306:user_src/soft_p_2_c.c **** // //printf("%d\n",ez_obs_distance_y); 307:user_src/soft_p_2_c.c **** // // printf("%d %d %d %d\n",mimo_f_info.distance_y,keep_time,ez_count,ez_count2); 308:user_src/soft_p_2_c.c **** // } 309:user_src/soft_p_2_c.c **** // obs_f_is_link = true; 310:user_src/soft_p_2_c.c **** // } 311:user_src/soft_p_2_c.c **** // //后避障 312:user_src/soft_p_2_c.c **** // if (uavr12_info.heart_time == 0 && mimo_b_info.heart_time == 0) 313:user_src/soft_p_2_c.c **** // { 314:user_src/soft_p_2_c.c **** // pmu.radar_buf[3] = -1; 315:user_src/soft_p_2_c.c **** // obs_b_is_link = false; 316:user_src/soft_p_2_c.c **** // } 317:user_src/soft_p_2_c.c **** // else if (uavr12_info.heart_flag == false && mimo_b_info.heart_flag == false) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 23 318:user_src/soft_p_2_c.c **** // { 319:user_src/soft_p_2_c.c **** // pmu.radar_buf[3] = -2; 320:user_src/soft_p_2_c.c **** // obs_b_is_link = false; 321:user_src/soft_p_2_c.c **** // } 322:user_src/soft_p_2_c.c **** // else 323:user_src/soft_p_2_c.c **** // { 324:user_src/soft_p_2_c.c **** // if (uavr12_info.heart_flag == true) 325:user_src/soft_p_2_c.c **** // { 326:user_src/soft_p_2_c.c **** // if(Bobs_handle_function()) 327:user_src/soft_p_2_c.c **** // { 328:user_src/soft_p_2_c.c **** // pmu.radar_buf[3] = uavr12_info.distance_y; 329:user_src/soft_p_2_c.c **** // pmu.radar_buf[4] = uavr12_info.distance_x; 330:user_src/soft_p_2_c.c **** // } 331:user_src/soft_p_2_c.c **** // else 332:user_src/soft_p_2_c.c **** // { 333:user_src/soft_p_2_c.c **** // pmu.radar_buf[3] = 0; 334:user_src/soft_p_2_c.c **** // pmu.radar_buf[4] = 0; 335:user_src/soft_p_2_c.c **** // } 336:user_src/soft_p_2_c.c **** // } 337:user_src/soft_p_2_c.c **** // else if(mimo_b_info.heart_flag == true) 338:user_src/soft_p_2_c.c **** // { 339:user_src/soft_p_2_c.c **** // if(Bobs_handle_function()) 340:user_src/soft_p_2_c.c **** // { 341:user_src/soft_p_2_c.c **** // pmu.radar_buf[3] = mimo_b_info.distance_y; 342:user_src/soft_p_2_c.c **** // pmu.radar_buf[4] = mimo_b_info.distance_x; 343:user_src/soft_p_2_c.c **** // } 344:user_src/soft_p_2_c.c **** // else 345:user_src/soft_p_2_c.c **** // { 346:user_src/soft_p_2_c.c **** // pmu.radar_buf[3] = 0; 347:user_src/soft_p_2_c.c **** // pmu.radar_buf[4] = 0; 348:user_src/soft_p_2_c.c **** // } 349:user_src/soft_p_2_c.c **** // } 350:user_src/soft_p_2_c.c **** 351:user_src/soft_p_2_c.c **** // obs_b_is_link = true; 352:user_src/soft_p_2_c.c **** // } 353:user_src/soft_p_2_c.c **** 354:user_src/soft_p_2_c.c **** 355:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &pmu.radar_buf[0], 10); 943 .loc 1 355 12 944 00dc 7B68 ldr r3, [r7, #4] 945 00de 1B4A ldr r2, .L34 946 00e0 1344 add r3, r3, r2 947 .loc 1 355 5 948 00e2 0A22 movs r2, #10 949 00e4 1A49 ldr r1, .L34+4 950 00e6 1846 mov r0, r3 951 00e8 FFF7FEFF bl memcpy 356:user_src/soft_p_2_c.c **** index += 10; 952 .loc 1 356 11 953 00ec 7B68 ldr r3, [r7, #4] 954 00ee 0A33 adds r3, r3, #10 955 00f0 7B60 str r3, [r7, #4] 357:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 956 .loc 1 357 24 957 00f2 7B68 ldr r3, [r7, #4] 958 00f4 DBB2 uxtb r3, r3 959 00f6 063B subs r3, r3, #6 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 24 960 00f8 DAB2 uxtb r2, r3 961 .loc 1 357 16 962 00fa 144B ldr r3, .L34 963 00fc 5A70 strb r2, [r3, #1] 358:user_src/soft_p_2_c.c **** 359:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 964 .loc 1 359 11 965 00fe 7B68 ldr r3, [r7, #4] 966 0100 9BB2 uxth r3, r3 967 0102 1946 mov r1, r3 968 0104 1148 ldr r0, .L34 969 0106 FFF7FEFF bl Get_Crc16 970 010a 0346 mov r3, r0 971 010c 1A46 mov r2, r3 972 .loc 1 359 9 973 010e 144B ldr r3, .L34+20 974 0110 1A80 strh r2, [r3] @ movhi 360:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 975 .loc 1 360 22 976 0112 134B ldr r3, .L34+20 977 0114 1988 ldrh r1, [r3] 978 .loc 1 360 18 979 0116 7B68 ldr r3, [r7, #4] 980 0118 5A1C adds r2, r3, #1 981 011a 7A60 str r2, [r7, #4] 982 .loc 1 360 22 983 011c C9B2 uxtb r1, r1 984 011e 0B4A ldr r2, .L34 985 0120 D154 strb r1, [r2, r3] 361:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 986 .loc 1 361 22 987 0122 0F4B ldr r3, .L34+20 988 0124 1B88 ldrh r3, [r3] 989 0126 1B0A lsrs r3, r3, #8 990 0128 99B2 uxth r1, r3 991 .loc 1 361 18 992 012a 7B68 ldr r3, [r7, #4] 993 012c 5A1C adds r2, r3, #1 994 012e 7A60 str r2, [r7, #4] 995 .loc 1 361 22 996 0130 C9B2 uxtb r1, r1 997 0132 064A ldr r2, .L34 998 0134 D154 strb r1, [r2, r3] 362:user_src/soft_p_2_c.c **** 363:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 999 .loc 1 363 5 1000 0136 7B68 ldr r3, [r7, #4] 1001 0138 DBB2 uxtb r3, r3 1002 013a 1946 mov r1, r3 1003 013c 0348 ldr r0, .L34 1004 013e FFF7FEFF bl uart2_send_msg 364:user_src/soft_p_2_c.c **** 365:user_src/soft_p_2_c.c **** } 1005 .loc 1 365 1 1006 0142 00BF nop 1007 0144 0837 adds r7, r7, #8 1008 .LCFI25: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 25 1009 .cfi_def_cfa_offset 8 1010 0146 BD46 mov sp, r7 1011 .LCFI26: 1012 .cfi_def_cfa_register 13 1013 @ sp needed 1014 0148 80BD pop {r7, pc} 1015 .L35: 1016 014a 00BF .align 2 1017 .L34: 1018 014c 00000000 .word msg_buf 1019 0150 00000000 .word pmu 1020 0154 00000000 .word terrain_is_link 1021 0158 00000000 .word obs_f_is_link 1022 015c 00000000 .word obs_b_is_link 1023 0160 00000000 .word crc 1024 .cfi_endproc 1025 .LFE137: 1027 .section .text.pmu_to_con_barttery_data,"ax",%progbits 1028 .align 1 1029 .global pmu_to_con_barttery_data 1030 .syntax unified 1031 .thumb 1032 .thumb_func 1034 pmu_to_con_barttery_data: 1035 .LFB138: 366:user_src/soft_p_2_c.c **** 367:user_src/soft_p_2_c.c **** 368:user_src/soft_p_2_c.c **** 369:user_src/soft_p_2_c.c **** /** 370:user_src/soft_p_2_c.c **** * @file pmu_to_con_barttery_data 371:user_src/soft_p_2_c.c **** * @brief PMU发送智能电池信息 372:user_src/soft_p_2_c.c **** * @param none 373:user_src/soft_p_2_c.c **** * @details 374:user_src/soft_p_2_c.c **** * @author Zhang Sir 375:user_src/soft_p_2_c.c **** **/ 376:user_src/soft_p_2_c.c **** void pmu_to_con_barttery_data() 377:user_src/soft_p_2_c.c **** { 1036 .loc 1 377 1 1037 .cfi_startproc 1038 @ args = 0, pretend = 0, frame = 8 1039 @ frame_needed = 1, uses_anonymous_args = 0 1040 0000 80B5 push {r7, lr} 1041 .LCFI27: 1042 .cfi_def_cfa_offset 8 1043 .cfi_offset 7, -8 1044 .cfi_offset 14, -4 1045 0002 82B0 sub sp, sp, #8 1046 .LCFI28: 1047 .cfi_def_cfa_offset 16 1048 0004 00AF add r7, sp, #0 1049 .LCFI29: 1050 .cfi_def_cfa_register 7 378:user_src/soft_p_2_c.c **** int index = 0; 1051 .loc 1 378 9 1052 0006 0023 movs r3, #0 1053 0008 7B60 str r3, [r7, #4] 379:user_src/soft_p_2_c.c **** if (Dev.Bms_Link.connect_status == COMP_NORMAL) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 26 1054 .loc 1 379 21 1055 000a 724B ldr r3, .L40 1056 000c 93F8E031 ldrb r3, [r3, #480] @ zero_extendqisi2 1057 .loc 1 379 8 1058 0010 012B cmp r3, #1 1059 0012 40F0DB80 bne .L39 1060 .LBB85: 380:user_src/soft_p_2_c.c **** { 381:user_src/soft_p_2_c.c **** uint8_t size_elong = 3 + 1 + 1 + bms_data.bms_num * 2; //前5字节:协议版本3 电池串 1061 .loc 1 381 50 1062 0016 704B ldr r3, .L40+4 1063 0018 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 1064 .loc 1 381 40 1065 001a 5B00 lsls r3, r3, #1 1066 001c DBB2 uxtb r3, r3 1067 .loc 1 381 17 1068 001e 0533 adds r3, r3, #5 1069 0020 FB70 strb r3, [r7, #3] 382:user_src/soft_p_2_c.c **** uint8_t size_elong2 = 1 + bms_data2.bms_num * 2; //电池串数 加 电压 1070 .loc 1 382 44 1071 0022 6E4B ldr r3, .L40+8 1072 0024 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 1073 .loc 1 382 33 1074 0026 5B00 lsls r3, r3, #1 1075 0028 DBB2 uxtb r3, r3 1076 .loc 1 382 17 1077 002a 0133 adds r3, r3, #1 1078 002c BB70 strb r3, [r7, #2] 383:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 1079 .loc 1 383 22 1080 002e 7B68 ldr r3, [r7, #4] 1081 0030 5A1C adds r2, r3, #1 1082 0032 7A60 str r2, [r7, #4] 1083 .loc 1 383 26 1084 0034 6A4A ldr r2, .L40+12 1085 0036 FE21 movs r1, #254 1086 0038 D154 strb r1, [r2, r3] 384:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; // 31 电池ID后的变量字节数 1087 .loc 1 384 22 1088 003a 7B68 ldr r3, [r7, #4] 1089 003c 5A1C adds r2, r3, #1 1090 003e 7A60 str r2, [r7, #4] 1091 .loc 1 384 26 1092 0040 674A ldr r2, .L40+12 1093 0042 0021 movs r1, #0 1094 0044 D154 strb r1, [r2, r3] 385:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 1095 .loc 1 385 22 1096 0046 7B68 ldr r3, [r7, #4] 1097 0048 5A1C adds r2, r3, #1 1098 004a 7A60 str r2, [r7, #4] 1099 .loc 1 385 26 1100 004c 644A ldr r2, .L40+12 1101 004e 0021 movs r1, #0 1102 0050 D154 strb r1, [r2, r3] 386:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1103 .loc 1 386 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 27 1104 0052 7B68 ldr r3, [r7, #4] 1105 0054 5A1C adds r2, r3, #1 1106 0056 7A60 str r2, [r7, #4] 1107 .loc 1 386 26 1108 0058 614A ldr r2, .L40+12 1109 005a 0021 movs r1, #0 1110 005c D154 strb r1, [r2, r3] 387:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1111 .loc 1 387 22 1112 005e 7B68 ldr r3, [r7, #4] 1113 0060 5A1C adds r2, r3, #1 1114 0062 7A60 str r2, [r7, #4] 1115 .loc 1 387 26 1116 0064 5E4A ldr r2, .L40+12 1117 0066 0021 movs r1, #0 1118 0068 D154 strb r1, [r2, r3] 388:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_BMS; 1119 .loc 1 388 22 1120 006a 7B68 ldr r3, [r7, #4] 1121 006c 5A1C adds r2, r3, #1 1122 006e 7A60 str r2, [r7, #4] 1123 .loc 1 388 26 1124 0070 5B4A ldr r2, .L40+12 1125 0072 0421 movs r1, #4 1126 0074 D154 strb r1, [r2, r3] 389:user_src/soft_p_2_c.c **** 390:user_src/soft_p_2_c.c **** bms_data.bms_version[0] = 'V'; 1127 .loc 1 390 33 1128 0076 584B ldr r3, .L40+4 1129 0078 5622 movs r2, #86 1130 007a 1A70 strb r2, [r3] 391:user_src/soft_p_2_c.c **** bms_data.bms_version[1] = 'K'; 1131 .loc 1 391 33 1132 007c 564B ldr r3, .L40+4 1133 007e 4B22 movs r2, #75 1134 0080 5A70 strb r2, [r3, #1] 392:user_src/soft_p_2_c.c **** bms_data.bms_version[2] = '3'; 1135 .loc 1 392 33 1136 0082 554B ldr r3, .L40+4 1137 0084 3322 movs r2, #51 1138 0086 9A70 strb r2, [r3, #2] 393:user_src/soft_p_2_c.c **** 394:user_src/soft_p_2_c.c **** bms_data.bms_group = group_num; 1139 .loc 1 394 28 1140 0088 564B ldr r3, .L40+16 1141 008a 1A78 ldrb r2, [r3] @ zero_extendqisi2 1142 008c 524B ldr r3, .L40+4 1143 008e DA70 strb r2, [r3, #3] 395:user_src/soft_p_2_c.c **** 396:user_src/soft_p_2_c.c **** //一组电池 397:user_src/soft_p_2_c.c **** if (bms_data.bms_group == 1) 1144 .loc 1 397 21 1145 0090 514B ldr r3, .L40+4 1146 0092 DB78 ldrb r3, [r3, #3] @ zero_extendqisi2 1147 .loc 1 397 12 1148 0094 012B cmp r3, #1 1149 0096 3FD1 bne .L38 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 28 398:user_src/soft_p_2_c.c **** { 399:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data, size_elong); //变长数组 赋值到最后一个电 1150 .loc 1 399 20 1151 0098 7B68 ldr r3, [r7, #4] 1152 009a 514A ldr r2, .L40+12 1153 009c 1344 add r3, r3, r2 1154 .loc 1 399 13 1155 009e FA78 ldrb r2, [r7, #3] @ zero_extendqisi2 1156 00a0 4D49 ldr r1, .L40+4 1157 00a2 1846 mov r0, r3 1158 00a4 FFF7FEFF bl memcpy 400:user_src/soft_p_2_c.c **** index += size_elong; 1159 .loc 1 400 19 1160 00a8 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 1161 00aa 7A68 ldr r2, [r7, #4] 1162 00ac 1344 add r3, r3, r2 1163 00ae 7B60 str r3, [r7, #4] 401:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data.bms_ids, 45); //从id 到状态 31字节 + 2字节 1164 .loc 1 401 20 1165 00b0 7B68 ldr r3, [r7, #4] 1166 00b2 4B4A ldr r2, .L40+12 1167 00b4 1344 add r3, r3, r2 1168 .loc 1 401 13 1169 00b6 2D22 movs r2, #45 1170 00b8 4B49 ldr r1, .L40+20 1171 00ba 1846 mov r0, r3 1172 00bc FFF7FEFF bl memcpy 402:user_src/soft_p_2_c.c **** index += 45; //新加32字节 33+12=45 1173 .loc 1 402 19 1174 00c0 7B68 ldr r3, [r7, #4] 1175 00c2 2D33 adds r3, r3, #45 1176 00c4 7B60 str r3, [r7, #4] 403:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 1177 .loc 1 403 32 1178 00c6 7B68 ldr r3, [r7, #4] 1179 00c8 DBB2 uxtb r3, r3 1180 00ca 063B subs r3, r3, #6 1181 00cc DAB2 uxtb r2, r3 1182 .loc 1 403 24 1183 00ce 444B ldr r3, .L40+12 1184 00d0 5A70 strb r2, [r3, #1] 404:user_src/soft_p_2_c.c **** 405:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 1185 .loc 1 405 19 1186 00d2 7B68 ldr r3, [r7, #4] 1187 00d4 9BB2 uxth r3, r3 1188 00d6 1946 mov r1, r3 1189 00d8 4148 ldr r0, .L40+12 1190 00da FFF7FEFF bl Get_Crc16 1191 00de 0346 mov r3, r0 1192 00e0 1A46 mov r2, r3 1193 .loc 1 405 17 1194 00e2 424B ldr r3, .L40+24 1195 00e4 1A80 strh r2, [r3] @ movhi 406:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 1196 .loc 1 406 30 1197 00e6 414B ldr r3, .L40+24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 29 1198 00e8 1988 ldrh r1, [r3] 1199 .loc 1 406 26 1200 00ea 7B68 ldr r3, [r7, #4] 1201 00ec 5A1C adds r2, r3, #1 1202 00ee 7A60 str r2, [r7, #4] 1203 .loc 1 406 30 1204 00f0 C9B2 uxtb r1, r1 1205 00f2 3B4A ldr r2, .L40+12 1206 00f4 D154 strb r1, [r2, r3] 407:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 1207 .loc 1 407 30 1208 00f6 3D4B ldr r3, .L40+24 1209 00f8 1B88 ldrh r3, [r3] 1210 00fa 1B0A lsrs r3, r3, #8 1211 00fc 99B2 uxth r1, r3 1212 .loc 1 407 26 1213 00fe 7B68 ldr r3, [r7, #4] 1214 0100 5A1C adds r2, r3, #1 1215 0102 7A60 str r2, [r7, #4] 1216 .loc 1 407 30 1217 0104 C9B2 uxtb r1, r1 1218 0106 364A ldr r2, .L40+12 1219 0108 D154 strb r1, [r2, r3] 408:user_src/soft_p_2_c.c **** 409:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 1220 .loc 1 409 13 1221 010a 7B68 ldr r3, [r7, #4] 1222 010c DBB2 uxtb r3, r3 1223 010e 1946 mov r1, r3 1224 0110 3348 ldr r0, .L40+12 1225 0112 FFF7FEFF bl uart2_send_msg 1226 .LBE85: 410:user_src/soft_p_2_c.c **** } 411:user_src/soft_p_2_c.c **** //两组电池 412:user_src/soft_p_2_c.c **** else if (bms_data.bms_group == 2) 413:user_src/soft_p_2_c.c **** { 414:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data, size_elong); //变长数组 赋值到最后一个电 415:user_src/soft_p_2_c.c **** index += size_elong; 416:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data.bms_ids, 45); //从id 到状态 31字节 417:user_src/soft_p_2_c.c **** index += 45; 418:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data2.bms_num, size_elong2); 419:user_src/soft_p_2_c.c **** index += size_elong2; 420:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data2.bms_ids, 45); 421:user_src/soft_p_2_c.c **** index += 45; 422:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 423:user_src/soft_p_2_c.c **** 424:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 425:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 426:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 427:user_src/soft_p_2_c.c **** 428:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 429:user_src/soft_p_2_c.c **** } 430:user_src/soft_p_2_c.c **** } 431:user_src/soft_p_2_c.c **** } 1227 .loc 1 431 1 1228 0116 59E0 b .L39 1229 .L38: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 30 1230 .LBB86: 412:user_src/soft_p_2_c.c **** { 1231 .loc 1 412 26 1232 0118 2F4B ldr r3, .L40+4 1233 011a DB78 ldrb r3, [r3, #3] @ zero_extendqisi2 412:user_src/soft_p_2_c.c **** { 1234 .loc 1 412 17 1235 011c 022B cmp r3, #2 1236 011e 55D1 bne .L39 414:user_src/soft_p_2_c.c **** index += size_elong; 1237 .loc 1 414 20 1238 0120 7B68 ldr r3, [r7, #4] 1239 0122 2F4A ldr r2, .L40+12 1240 0124 1344 add r3, r3, r2 414:user_src/soft_p_2_c.c **** index += size_elong; 1241 .loc 1 414 13 1242 0126 FA78 ldrb r2, [r7, #3] @ zero_extendqisi2 1243 0128 2B49 ldr r1, .L40+4 1244 012a 1846 mov r0, r3 1245 012c FFF7FEFF bl memcpy 415:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data.bms_ids, 45); //从id 到状态 31字节 1246 .loc 1 415 19 1247 0130 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 1248 0132 7A68 ldr r2, [r7, #4] 1249 0134 1344 add r3, r3, r2 1250 0136 7B60 str r3, [r7, #4] 416:user_src/soft_p_2_c.c **** index += 45; 1251 .loc 1 416 20 1252 0138 7B68 ldr r3, [r7, #4] 1253 013a 294A ldr r2, .L40+12 1254 013c 1344 add r3, r3, r2 416:user_src/soft_p_2_c.c **** index += 45; 1255 .loc 1 416 13 1256 013e 2D22 movs r2, #45 1257 0140 2949 ldr r1, .L40+20 1258 0142 1846 mov r0, r3 1259 0144 FFF7FEFF bl memcpy 417:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data2.bms_num, size_elong2); 1260 .loc 1 417 19 1261 0148 7B68 ldr r3, [r7, #4] 1262 014a 2D33 adds r3, r3, #45 1263 014c 7B60 str r3, [r7, #4] 418:user_src/soft_p_2_c.c **** index += size_elong2; 1264 .loc 1 418 20 1265 014e 7B68 ldr r3, [r7, #4] 1266 0150 234A ldr r2, .L40+12 1267 0152 1344 add r3, r3, r2 418:user_src/soft_p_2_c.c **** index += size_elong2; 1268 .loc 1 418 13 1269 0154 BA78 ldrb r2, [r7, #2] @ zero_extendqisi2 1270 0156 2649 ldr r1, .L40+28 1271 0158 1846 mov r0, r3 1272 015a FFF7FEFF bl memcpy 419:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &bms_data2.bms_ids, 45); 1273 .loc 1 419 19 1274 015e BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 1275 0160 7A68 ldr r2, [r7, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 31 1276 0162 1344 add r3, r3, r2 1277 0164 7B60 str r3, [r7, #4] 420:user_src/soft_p_2_c.c **** index += 45; 1278 .loc 1 420 20 1279 0166 7B68 ldr r3, [r7, #4] 1280 0168 1D4A ldr r2, .L40+12 1281 016a 1344 add r3, r3, r2 420:user_src/soft_p_2_c.c **** index += 45; 1282 .loc 1 420 13 1283 016c 2D22 movs r2, #45 1284 016e 2149 ldr r1, .L40+32 1285 0170 1846 mov r0, r3 1286 0172 FFF7FEFF bl memcpy 421:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 1287 .loc 1 421 19 1288 0176 7B68 ldr r3, [r7, #4] 1289 0178 2D33 adds r3, r3, #45 1290 017a 7B60 str r3, [r7, #4] 422:user_src/soft_p_2_c.c **** 1291 .loc 1 422 32 1292 017c 7B68 ldr r3, [r7, #4] 1293 017e DBB2 uxtb r3, r3 1294 0180 063B subs r3, r3, #6 1295 0182 DAB2 uxtb r2, r3 422:user_src/soft_p_2_c.c **** 1296 .loc 1 422 24 1297 0184 164B ldr r3, .L40+12 1298 0186 5A70 strb r2, [r3, #1] 424:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 1299 .loc 1 424 19 1300 0188 7B68 ldr r3, [r7, #4] 1301 018a 9BB2 uxth r3, r3 1302 018c 1946 mov r1, r3 1303 018e 1448 ldr r0, .L40+12 1304 0190 FFF7FEFF bl Get_Crc16 1305 0194 0346 mov r3, r0 1306 0196 1A46 mov r2, r3 424:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 1307 .loc 1 424 17 1308 0198 144B ldr r3, .L40+24 1309 019a 1A80 strh r2, [r3] @ movhi 425:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 1310 .loc 1 425 30 1311 019c 134B ldr r3, .L40+24 1312 019e 1988 ldrh r1, [r3] 425:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 1313 .loc 1 425 26 1314 01a0 7B68 ldr r3, [r7, #4] 1315 01a2 5A1C adds r2, r3, #1 1316 01a4 7A60 str r2, [r7, #4] 425:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 1317 .loc 1 425 30 1318 01a6 C9B2 uxtb r1, r1 1319 01a8 0D4A ldr r2, .L40+12 1320 01aa D154 strb r1, [r2, r3] 426:user_src/soft_p_2_c.c **** 1321 .loc 1 426 30 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 32 1322 01ac 0F4B ldr r3, .L40+24 1323 01ae 1B88 ldrh r3, [r3] 1324 01b0 1B0A lsrs r3, r3, #8 1325 01b2 99B2 uxth r1, r3 426:user_src/soft_p_2_c.c **** 1326 .loc 1 426 26 1327 01b4 7B68 ldr r3, [r7, #4] 1328 01b6 5A1C adds r2, r3, #1 1329 01b8 7A60 str r2, [r7, #4] 426:user_src/soft_p_2_c.c **** 1330 .loc 1 426 30 1331 01ba C9B2 uxtb r1, r1 1332 01bc 084A ldr r2, .L40+12 1333 01be D154 strb r1, [r2, r3] 428:user_src/soft_p_2_c.c **** } 1334 .loc 1 428 13 1335 01c0 7B68 ldr r3, [r7, #4] 1336 01c2 DBB2 uxtb r3, r3 1337 01c4 1946 mov r1, r3 1338 01c6 0648 ldr r0, .L40+12 1339 01c8 FFF7FEFF bl uart2_send_msg 1340 .L39: 1341 .LBE86: 1342 .loc 1 431 1 1343 01cc 00BF nop 1344 01ce 0837 adds r7, r7, #8 1345 .LCFI30: 1346 .cfi_def_cfa_offset 8 1347 01d0 BD46 mov sp, r7 1348 .LCFI31: 1349 .cfi_def_cfa_register 13 1350 @ sp needed 1351 01d2 80BD pop {r7, pc} 1352 .L41: 1353 .align 2 1354 .L40: 1355 01d4 00000000 .word Dev 1356 01d8 00000000 .word bms_data 1357 01dc 00000000 .word bms_data2 1358 01e0 00000000 .word msg_buf 1359 01e4 00000000 .word group_num 1360 01e8 39000000 .word bms_data+57 1361 01ec 00000000 .word crc 1362 01f0 04000000 .word bms_data2+4 1363 01f4 39000000 .word bms_data2+57 1364 .cfi_endproc 1365 .LFE138: 1367 .section .text.pmu_to_con_engine_data,"ax",%progbits 1368 .align 1 1369 .global pmu_to_con_engine_data 1370 .syntax unified 1371 .thumb 1372 .thumb_func 1374 pmu_to_con_engine_data: 1375 .LFB139: 432:user_src/soft_p_2_c.c **** 433:user_src/soft_p_2_c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 33 434:user_src/soft_p_2_c.c **** /** 435:user_src/soft_p_2_c.c **** * @file pmu_to_con_engin_data 436:user_src/soft_p_2_c.c **** * @brief PMU发送发动机信息 437:user_src/soft_p_2_c.c **** * @param none 438:user_src/soft_p_2_c.c **** * @details 439:user_src/soft_p_2_c.c **** * @author Zhang Sir 440:user_src/soft_p_2_c.c **** **/ 441:user_src/soft_p_2_c.c **** void pmu_to_con_engine_data(void) 442:user_src/soft_p_2_c.c **** { 1376 .loc 1 442 1 1377 .cfi_startproc 1378 @ args = 0, pretend = 0, frame = 8 1379 @ frame_needed = 1, uses_anonymous_args = 0 1380 0000 80B5 push {r7, lr} 1381 .LCFI32: 1382 .cfi_def_cfa_offset 8 1383 .cfi_offset 7, -8 1384 .cfi_offset 14, -4 1385 0002 82B0 sub sp, sp, #8 1386 .LCFI33: 1387 .cfi_def_cfa_offset 16 1388 0004 00AF add r7, sp, #0 1389 .LCFI34: 1390 .cfi_def_cfa_register 7 443:user_src/soft_p_2_c.c **** uint8_t index = 0; 1391 .loc 1 443 13 1392 0006 0023 movs r3, #0 1393 0008 FB71 strb r3, [r7, #7] 444:user_src/soft_p_2_c.c **** if(engine_link_status == COMP_NORMAL) 1394 .loc 1 444 27 1395 000a 324B ldr r3, .L45 1396 000c 1B78 ldrb r3, [r3] @ zero_extendqisi2 1397 .loc 1 444 7 1398 000e 012B cmp r3, #1 1399 0010 5CD1 bne .L44 445:user_src/soft_p_2_c.c **** { 446:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 1400 .loc 1 446 22 1401 0012 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1402 0014 5A1C adds r2, r3, #1 1403 0016 FA71 strb r2, [r7, #7] 1404 0018 1A46 mov r2, r3 1405 .loc 1 446 26 1406 001a 2F4B ldr r3, .L45+4 1407 001c FE21 movs r1, #254 1408 001e 9954 strb r1, [r3, r2] 447:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 1409 .loc 1 447 22 1410 0020 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1411 0022 5A1C adds r2, r3, #1 1412 0024 FA71 strb r2, [r7, #7] 1413 0026 1A46 mov r2, r3 1414 .loc 1 447 26 1415 0028 2B4B ldr r3, .L45+4 1416 002a 0021 movs r1, #0 1417 002c 9954 strb r1, [r3, r2] 448:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; //组件计数 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 34 1418 .loc 1 448 22 1419 002e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1420 0030 5A1C adds r2, r3, #1 1421 0032 FA71 strb r2, [r7, #7] 1422 0034 1A46 mov r2, r3 1423 .loc 1 448 26 1424 0036 284B ldr r3, .L45+4 1425 0038 0021 movs r1, #0 1426 003a 9954 strb r1, [r3, r2] 449:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1427 .loc 1 449 22 1428 003c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1429 003e 5A1C adds r2, r3, #1 1430 0040 FA71 strb r2, [r7, #7] 1431 0042 1A46 mov r2, r3 1432 .loc 1 449 26 1433 0044 244B ldr r3, .L45+4 1434 0046 0021 movs r1, #0 1435 0048 9954 strb r1, [r3, r2] 450:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1436 .loc 1 450 22 1437 004a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1438 004c 5A1C adds r2, r3, #1 1439 004e FA71 strb r2, [r7, #7] 1440 0050 1A46 mov r2, r3 1441 .loc 1 450 26 1442 0052 214B ldr r3, .L45+4 1443 0054 0021 movs r1, #0 1444 0056 9954 strb r1, [r3, r2] 451:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSG_ENGIN; 1445 .loc 1 451 22 1446 0058 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1447 005a 5A1C adds r2, r3, #1 1448 005c FA71 strb r2, [r7, #7] 1449 005e 1A46 mov r2, r3 1450 .loc 1 451 26 1451 0060 1D4B ldr r3, .L45+4 1452 0062 0A21 movs r1, #10 1453 0064 9954 strb r1, [r3, r2] 452:user_src/soft_p_2_c.c **** 453:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&engine_data.engine_type,sizeof(engine_data)); 1454 .loc 1 453 24 1455 0066 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1456 .loc 1 453 16 1457 0068 1B4A ldr r2, .L45+4 1458 006a 1344 add r3, r3, r2 1459 .loc 1 453 9 1460 006c 2922 movs r2, #41 1461 006e 1B49 ldr r1, .L45+8 1462 0070 1846 mov r0, r3 1463 0072 FFF7FEFF bl memcpy 454:user_src/soft_p_2_c.c **** index += (sizeof(engine_data)); 1464 .loc 1 454 15 1465 0076 FB79 ldrb r3, [r7, #7] 1466 0078 2933 adds r3, r3, #41 1467 007a FB71 strb r3, [r7, #7] 455:user_src/soft_p_2_c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 35 456:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 1468 .loc 1 456 28 1469 007c FB79 ldrb r3, [r7, #7] 1470 007e 063B subs r3, r3, #6 1471 0080 DAB2 uxtb r2, r3 1472 .loc 1 456 20 1473 0082 154B ldr r3, .L45+4 1474 0084 5A70 strb r2, [r3, #1] 457:user_src/soft_p_2_c.c **** 458:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 1475 .loc 1 458 15 1476 0086 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1477 0088 9BB2 uxth r3, r3 1478 008a 1946 mov r1, r3 1479 008c 1248 ldr r0, .L45+4 1480 008e FFF7FEFF bl Get_Crc16 1481 0092 0346 mov r3, r0 1482 0094 1A46 mov r2, r3 1483 .loc 1 458 13 1484 0096 124B ldr r3, .L45+12 1485 0098 1A80 strh r2, [r3] @ movhi 459:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 1486 .loc 1 459 26 1487 009a 114B ldr r3, .L45+12 1488 009c 1988 ldrh r1, [r3] 1489 .loc 1 459 22 1490 009e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1491 00a0 5A1C adds r2, r3, #1 1492 00a2 FA71 strb r2, [r7, #7] 1493 00a4 1A46 mov r2, r3 1494 .loc 1 459 26 1495 00a6 C9B2 uxtb r1, r1 1496 00a8 0B4B ldr r3, .L45+4 1497 00aa 9954 strb r1, [r3, r2] 460:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 1498 .loc 1 460 26 1499 00ac 0C4B ldr r3, .L45+12 1500 00ae 1B88 ldrh r3, [r3] 1501 00b0 1B0A lsrs r3, r3, #8 1502 00b2 99B2 uxth r1, r3 1503 .loc 1 460 22 1504 00b4 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1505 00b6 5A1C adds r2, r3, #1 1506 00b8 FA71 strb r2, [r7, #7] 1507 00ba 1A46 mov r2, r3 1508 .loc 1 460 26 1509 00bc C9B2 uxtb r1, r1 1510 00be 064B ldr r3, .L45+4 1511 00c0 9954 strb r1, [r3, r2] 461:user_src/soft_p_2_c.c **** 462:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 1512 .loc 1 462 9 1513 00c2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1514 00c4 1946 mov r1, r3 1515 00c6 0448 ldr r0, .L45+4 1516 00c8 FFF7FEFF bl uart2_send_msg 1517 .L44: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 36 463:user_src/soft_p_2_c.c **** } 464:user_src/soft_p_2_c.c **** } 1518 .loc 1 464 1 1519 00cc 00BF nop 1520 00ce 0837 adds r7, r7, #8 1521 .LCFI35: 1522 .cfi_def_cfa_offset 8 1523 00d0 BD46 mov sp, r7 1524 .LCFI36: 1525 .cfi_def_cfa_register 13 1526 @ sp needed 1527 00d2 80BD pop {r7, pc} 1528 .L46: 1529 .align 2 1530 .L45: 1531 00d4 00000000 .word engine_link_status 1532 00d8 00000000 .word msg_buf 1533 00dc 00000000 .word engine_data 1534 00e0 00000000 .word crc 1535 .cfi_endproc 1536 .LFE139: 1538 .section .text.calculate_packages,"ax",%progbits 1539 .align 1 1540 .global calculate_packages 1541 .syntax unified 1542 .thumb 1543 .thumb_func 1545 calculate_packages: 1546 .LFB140: 465:user_src/soft_p_2_c.c **** 466:user_src/soft_p_2_c.c **** 467:user_src/soft_p_2_c.c **** // /** 468:user_src/soft_p_2_c.c **** // * @file pmu_to_con_radar360_data 469:user_src/soft_p_2_c.c **** // * @brief PMU发送360信息 470:user_src/soft_p_2_c.c **** // * @param none 471:user_src/soft_p_2_c.c **** // * @details 472:user_src/soft_p_2_c.c **** // * @author Zhang Sir 473:user_src/soft_p_2_c.c **** // **/ 474:user_src/soft_p_2_c.c **** // void pmu_to_con_radar360_data(void) 475:user_src/soft_p_2_c.c **** // { 476:user_src/soft_p_2_c.c **** // uint8_t index = 0; 477:user_src/soft_p_2_c.c **** // uint32_t send_byte = 0; 478:user_src/soft_p_2_c.c **** // if(mimo_360_info.connect_status == COMP_NORMAL) 479:user_src/soft_p_2_c.c **** // { 480:user_src/soft_p_2_c.c **** // msg_buf[index++] = 0xFE; 481:user_src/soft_p_2_c.c **** // msg_buf[index++] = 0; 482:user_src/soft_p_2_c.c **** // msg_buf[index++] = 0; 483:user_src/soft_p_2_c.c **** // msg_buf[index++] = 0x00; 484:user_src/soft_p_2_c.c **** // msg_buf[index++] = 0x00; 485:user_src/soft_p_2_c.c **** // msg_buf[index++] = _MSGID_360RADAR; 486:user_src/soft_p_2_c.c **** 487:user_src/soft_p_2_c.c **** // radar360_proflag = 1; 488:user_src/soft_p_2_c.c **** 489:user_src/soft_p_2_c.c **** // send_byte = sizeof(mimo_360_data) * fmu_360info.total_tar + 2; 490:user_src/soft_p_2_c.c **** 491:user_src/soft_p_2_c.c **** // memcpy(&msg_buf[index],&fmu_360info,send_byte); 492:user_src/soft_p_2_c.c **** // index += send_byte; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 37 493:user_src/soft_p_2_c.c **** // radar360_proflag = 0; 494:user_src/soft_p_2_c.c **** 495:user_src/soft_p_2_c.c **** // msg_buf[1] = index - 6; 496:user_src/soft_p_2_c.c **** 497:user_src/soft_p_2_c.c **** // crc = Get_Crc16(msg_buf, index); 498:user_src/soft_p_2_c.c **** // msg_buf[index++] = crc; 499:user_src/soft_p_2_c.c **** // msg_buf[index++] = (crc >> 8) & 0xff; 500:user_src/soft_p_2_c.c **** 501:user_src/soft_p_2_c.c **** // uart2_send_msg(msg_buf, index); 502:user_src/soft_p_2_c.c **** // } 503:user_src/soft_p_2_c.c **** // } 504:user_src/soft_p_2_c.c **** 505:user_src/soft_p_2_c.c **** 506:user_src/soft_p_2_c.c **** /** 507:user_src/soft_p_2_c.c **** * @file pmu_to_con_radar360_data 508:user_src/soft_p_2_c.c **** * @brief PMU发送360信息 509:user_src/soft_p_2_c.c **** * @param none 510:user_src/soft_p_2_c.c **** * @details 511:user_src/soft_p_2_c.c **** * @author Zhang Sir 512:user_src/soft_p_2_c.c **** **/ 513:user_src/soft_p_2_c.c **** /** 514:user_src/soft_p_2_c.c **** * 计算需要的包数 515:user_src/soft_p_2_c.c **** * @param total_points 总点数 M 516:user_src/soft_p_2_c.c **** * @param points_per_package 每包最大点数 n 517:user_src/soft_p_2_c.c **** * @return 需要的包数 518:user_src/soft_p_2_c.c **** */ 519:user_src/soft_p_2_c.c **** int calculate_packages(int total_points, int points_per_package) { 1547 .loc 1 519 66 1548 .cfi_startproc 1549 @ args = 0, pretend = 0, frame = 8 1550 @ frame_needed = 1, uses_anonymous_args = 0 1551 @ link register save eliminated. 1552 0000 80B4 push {r7} 1553 .LCFI37: 1554 .cfi_def_cfa_offset 4 1555 .cfi_offset 7, -4 1556 0002 83B0 sub sp, sp, #12 1557 .LCFI38: 1558 .cfi_def_cfa_offset 16 1559 0004 00AF add r7, sp, #0 1560 .LCFI39: 1561 .cfi_def_cfa_register 7 1562 0006 7860 str r0, [r7, #4] 1563 0008 3960 str r1, [r7] 520:user_src/soft_p_2_c.c **** if (points_per_package <= 0) { 1564 .loc 1 520 8 1565 000a 3B68 ldr r3, [r7] 1566 000c 002B cmp r3, #0 1567 000e 01DC bgt .L48 521:user_src/soft_p_2_c.c **** return 0; // 每包容量必须大于0 1568 .loc 1 521 16 1569 0010 0023 movs r3, #0 1570 0012 0BE0 b .L49 1571 .L48: 522:user_src/soft_p_2_c.c **** } 523:user_src/soft_p_2_c.c **** 524:user_src/soft_p_2_c.c **** if (total_points == 0) { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 38 1572 .loc 1 524 8 1573 0014 7B68 ldr r3, [r7, #4] 1574 0016 002B cmp r3, #0 1575 0018 01D1 bne .L50 525:user_src/soft_p_2_c.c **** return 1; // 没有点不需要包 1576 .loc 1 525 16 1577 001a 0123 movs r3, #1 1578 001c 06E0 b .L49 1579 .L50: 526:user_src/soft_p_2_c.c **** } 527:user_src/soft_p_2_c.c **** 528:user_src/soft_p_2_c.c **** // 使用整数除法向上取整的技巧:(a + b - 1) / b 529:user_src/soft_p_2_c.c **** return (total_points + points_per_package - 1) / points_per_package; 1580 .loc 1 529 26 1581 001e 7A68 ldr r2, [r7, #4] 1582 0020 3B68 ldr r3, [r7] 1583 0022 1344 add r3, r3, r2 1584 .loc 1 529 47 1585 0024 5A1E subs r2, r3, #1 1586 .loc 1 529 52 1587 0026 3B68 ldr r3, [r7] 1588 0028 92FBF3F3 sdiv r3, r2, r3 1589 .L49: 530:user_src/soft_p_2_c.c **** } 1590 .loc 1 530 1 1591 002c 1846 mov r0, r3 1592 002e 0C37 adds r7, r7, #12 1593 .LCFI40: 1594 .cfi_def_cfa_offset 4 1595 0030 BD46 mov sp, r7 1596 .LCFI41: 1597 .cfi_def_cfa_register 13 1598 @ sp needed 1599 0032 5DF8047B ldr r7, [sp], #4 1600 .LCFI42: 1601 .cfi_restore 7 1602 .cfi_def_cfa_offset 0 1603 0036 7047 bx lr 1604 .cfi_endproc 1605 .LFE140: 1607 .section .text.pmu_to_con_DMradar_data,"ax",%progbits 1608 .align 1 1609 .global pmu_to_con_DMradar_data 1610 .syntax unified 1611 .thumb 1612 .thumb_func 1614 pmu_to_con_DMradar_data: 1615 .LFB141: 531:user_src/soft_p_2_c.c **** 532:user_src/soft_p_2_c.c **** void pmu_to_con_DMradar_data(void) 533:user_src/soft_p_2_c.c **** { 1616 .loc 1 533 1 1617 .cfi_startproc 1618 @ args = 0, pretend = 0, frame = 8 1619 @ frame_needed = 1, uses_anonymous_args = 0 1620 0000 80B5 push {r7, lr} 1621 .LCFI43: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 39 1622 .cfi_def_cfa_offset 8 1623 .cfi_offset 7, -8 1624 .cfi_offset 14, -4 1625 0002 82B0 sub sp, sp, #8 1626 .LCFI44: 1627 .cfi_def_cfa_offset 16 1628 0004 00AF add r7, sp, #0 1629 .LCFI45: 1630 .cfi_def_cfa_register 7 534:user_src/soft_p_2_c.c **** uint8_t index = 0; 1631 .loc 1 534 13 1632 0006 0023 movs r3, #0 1633 0008 FB71 strb r3, [r7, #7] 535:user_src/soft_p_2_c.c **** if(DM_status.connect_status == COMP_NORMAL) 1634 .loc 1 535 17 1635 000a 434B ldr r3, .L54 1636 000c 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1637 .loc 1 535 7 1638 000e 012B cmp r3, #1 1639 0010 7ED1 bne .L53 536:user_src/soft_p_2_c.c **** { 537:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 1640 .loc 1 537 22 1641 0012 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1642 0014 5A1C adds r2, r3, #1 1643 0016 FA71 strb r2, [r7, #7] 1644 0018 1A46 mov r2, r3 1645 .loc 1 537 26 1646 001a 404B ldr r3, .L54+4 1647 001c FE21 movs r1, #254 1648 001e 9954 strb r1, [r3, r2] 538:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 1649 .loc 1 538 22 1650 0020 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1651 0022 5A1C adds r2, r3, #1 1652 0024 FA71 strb r2, [r7, #7] 1653 0026 1A46 mov r2, r3 1654 .loc 1 538 26 1655 0028 3C4B ldr r3, .L54+4 1656 002a 0021 movs r1, #0 1657 002c 9954 strb r1, [r3, r2] 539:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 1658 .loc 1 539 22 1659 002e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1660 0030 5A1C adds r2, r3, #1 1661 0032 FA71 strb r2, [r7, #7] 1662 0034 1A46 mov r2, r3 1663 .loc 1 539 26 1664 0036 394B ldr r3, .L54+4 1665 0038 0021 movs r1, #0 1666 003a 9954 strb r1, [r3, r2] 540:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1667 .loc 1 540 22 1668 003c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1669 003e 5A1C adds r2, r3, #1 1670 0040 FA71 strb r2, [r7, #7] 1671 0042 1A46 mov r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 40 1672 .loc 1 540 26 1673 0044 354B ldr r3, .L54+4 1674 0046 0021 movs r1, #0 1675 0048 9954 strb r1, [r3, r2] 541:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1676 .loc 1 541 22 1677 004a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1678 004c 5A1C adds r2, r3, #1 1679 004e FA71 strb r2, [r7, #7] 1680 0050 1A46 mov r2, r3 1681 .loc 1 541 26 1682 0052 324B ldr r3, .L54+4 1683 0054 0021 movs r1, #0 1684 0056 9954 strb r1, [r3, r2] 542:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_DMRADAR; 1685 .loc 1 542 22 1686 0058 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1687 005a 5A1C adds r2, r3, #1 1688 005c FA71 strb r2, [r7, #7] 1689 005e 1A46 mov r2, r3 1690 .loc 1 542 26 1691 0060 2E4B ldr r3, .L54+4 1692 0062 1F21 movs r1, #31 1693 0064 9954 strb r1, [r3, r2] 543:user_src/soft_p_2_c.c **** 544:user_src/soft_p_2_c.c **** DM_recv_flag = 1; 1694 .loc 1 544 22 1695 0066 2E4B ldr r3, .L54+8 1696 0068 0122 movs r2, #1 1697 006a 1A70 strb r2, [r3] 545:user_src/soft_p_2_c.c **** 546:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&FMU_DM_info.target_num,3); 1698 .loc 1 546 24 1699 006c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1700 .loc 1 546 16 1701 006e 2B4A ldr r2, .L54+4 1702 0070 1344 add r3, r3, r2 1703 .loc 1 546 9 1704 0072 0322 movs r2, #3 1705 0074 2B49 ldr r1, .L54+12 1706 0076 1846 mov r0, r3 1707 0078 FFF7FEFF bl memcpy 547:user_src/soft_p_2_c.c **** index += 3; 1708 .loc 1 547 15 1709 007c FB79 ldrb r3, [r7, #7] 1710 007e 0333 adds r3, r3, #3 1711 0080 FB71 strb r3, [r7, #7] 548:user_src/soft_p_2_c.c **** 549:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&FMU_DM_info.warn,2); 1712 .loc 1 549 24 1713 0082 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1714 .loc 1 549 16 1715 0084 254A ldr r2, .L54+4 1716 0086 1344 add r3, r3, r2 1717 0088 264A ldr r2, .L54+12 1718 008a B2F80520 ldrh r2, [r2, #5] @ unaligned 1719 008e 92B2 uxth r2, r2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 41 1720 .loc 1 549 9 1721 0090 1A80 strh r2, [r3] @ unaligned 550:user_src/soft_p_2_c.c **** index += 2; 1722 .loc 1 550 15 1723 0092 FB79 ldrb r3, [r7, #7] 1724 0094 0233 adds r3, r3, #2 1725 0096 FB71 strb r3, [r7, #7] 551:user_src/soft_p_2_c.c **** 552:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],FMU_DM_info.buf,DM_T_info.target_num * 4); 1726 .loc 1 552 24 1727 0098 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1728 .loc 1 552 16 1729 009a 204A ldr r2, .L54+4 1730 009c 1344 add r3, r3, r2 1731 .loc 1 552 57 1732 009e 224A ldr r2, .L54+16 1733 00a0 1278 ldrb r2, [r2] @ zero_extendqisi2 1734 .loc 1 552 69 1735 00a2 9200 lsls r2, r2, #2 1736 .loc 1 552 9 1737 00a4 2149 ldr r1, .L54+20 1738 00a6 1846 mov r0, r3 1739 00a8 FFF7FEFF bl memcpy 553:user_src/soft_p_2_c.c **** index += DM_T_info.target_num * 4; 1740 .loc 1 553 27 1741 00ac 1E4B ldr r3, .L54+16 1742 00ae 1B78 ldrb r3, [r3] @ zero_extendqisi2 1743 .loc 1 553 15 1744 00b0 9B00 lsls r3, r3, #2 1745 00b2 DAB2 uxtb r2, r3 1746 00b4 FB79 ldrb r3, [r7, #7] 1747 00b6 1344 add r3, r3, r2 1748 00b8 FB71 strb r3, [r7, #7] 554:user_src/soft_p_2_c.c **** 555:user_src/soft_p_2_c.c **** DM_recv_flag = 0; 1749 .loc 1 555 22 1750 00ba 194B ldr r3, .L54+8 1751 00bc 0022 movs r2, #0 1752 00be 1A70 strb r2, [r3] 556:user_src/soft_p_2_c.c **** 557:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 1753 .loc 1 557 28 1754 00c0 FB79 ldrb r3, [r7, #7] 1755 00c2 063B subs r3, r3, #6 1756 00c4 DAB2 uxtb r2, r3 1757 .loc 1 557 20 1758 00c6 154B ldr r3, .L54+4 1759 00c8 5A70 strb r2, [r3, #1] 558:user_src/soft_p_2_c.c **** 559:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 1760 .loc 1 559 15 1761 00ca FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1762 00cc 9BB2 uxth r3, r3 1763 00ce 1946 mov r1, r3 1764 00d0 1248 ldr r0, .L54+4 1765 00d2 FFF7FEFF bl Get_Crc16 1766 00d6 0346 mov r3, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 42 1767 00d8 1A46 mov r2, r3 1768 .loc 1 559 13 1769 00da 154B ldr r3, .L54+24 1770 00dc 1A80 strh r2, [r3] @ movhi 560:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 1771 .loc 1 560 26 1772 00de 144B ldr r3, .L54+24 1773 00e0 1988 ldrh r1, [r3] 1774 .loc 1 560 22 1775 00e2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1776 00e4 5A1C adds r2, r3, #1 1777 00e6 FA71 strb r2, [r7, #7] 1778 00e8 1A46 mov r2, r3 1779 .loc 1 560 26 1780 00ea C9B2 uxtb r1, r1 1781 00ec 0B4B ldr r3, .L54+4 1782 00ee 9954 strb r1, [r3, r2] 561:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 1783 .loc 1 561 26 1784 00f0 0F4B ldr r3, .L54+24 1785 00f2 1B88 ldrh r3, [r3] 1786 00f4 1B0A lsrs r3, r3, #8 1787 00f6 99B2 uxth r1, r3 1788 .loc 1 561 22 1789 00f8 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1790 00fa 5A1C adds r2, r3, #1 1791 00fc FA71 strb r2, [r7, #7] 1792 00fe 1A46 mov r2, r3 1793 .loc 1 561 26 1794 0100 C9B2 uxtb r1, r1 1795 0102 064B ldr r3, .L54+4 1796 0104 9954 strb r1, [r3, r2] 562:user_src/soft_p_2_c.c **** 563:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 1797 .loc 1 563 9 1798 0106 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1799 0108 1946 mov r1, r3 1800 010a 0448 ldr r0, .L54+4 1801 010c FFF7FEFF bl uart2_send_msg 1802 .L53: 564:user_src/soft_p_2_c.c **** } 565:user_src/soft_p_2_c.c **** 566:user_src/soft_p_2_c.c **** 567:user_src/soft_p_2_c.c **** } 1803 .loc 1 567 1 1804 0110 00BF nop 1805 0112 0837 adds r7, r7, #8 1806 .LCFI46: 1807 .cfi_def_cfa_offset 8 1808 0114 BD46 mov sp, r7 1809 .LCFI47: 1810 .cfi_def_cfa_register 13 1811 @ sp needed 1812 0116 80BD pop {r7, pc} 1813 .L55: 1814 .align 2 1815 .L54: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 43 1816 0118 00000000 .word DM_status 1817 011c 00000000 .word msg_buf 1818 0120 00000000 .word DM_recv_flag 1819 0124 00000000 .word FMU_DM_info 1820 0128 00000000 .word DM_T_info 1821 012c 08000000 .word FMU_DM_info+8 1822 0130 00000000 .word crc 1823 .cfi_endproc 1824 .LFE141: 1826 .section .text.pmu_to_con_DM4DFradar_data,"ax",%progbits 1827 .align 1 1828 .global pmu_to_con_DM4DFradar_data 1829 .syntax unified 1830 .thumb 1831 .thumb_func 1833 pmu_to_con_DM4DFradar_data: 1834 .LFB142: 568:user_src/soft_p_2_c.c **** 569:user_src/soft_p_2_c.c **** void pmu_to_con_DM4DFradar_data(void) 570:user_src/soft_p_2_c.c **** { 1835 .loc 1 570 1 1836 .cfi_startproc 1837 @ args = 0, pretend = 0, frame = 16 1838 @ frame_needed = 1, uses_anonymous_args = 0 1839 0000 80B5 push {r7, lr} 1840 .LCFI48: 1841 .cfi_def_cfa_offset 8 1842 .cfi_offset 7, -8 1843 .cfi_offset 14, -4 1844 0002 84B0 sub sp, sp, #16 1845 .LCFI49: 1846 .cfi_def_cfa_offset 24 1847 0004 00AF add r7, sp, #0 1848 .LCFI50: 1849 .cfi_def_cfa_register 7 571:user_src/soft_p_2_c.c **** uint8_t index = 0; 1850 .loc 1 571 13 1851 0006 0023 movs r3, #0 1852 0008 FB71 strb r3, [r7, #7] 572:user_src/soft_p_2_c.c **** int8_t pack_count = 0;//需要发送包数 1853 .loc 1 572 12 1854 000a 0023 movs r3, #0 1855 000c BB71 strb r3, [r7, #6] 573:user_src/soft_p_2_c.c **** int8_t remain_lastcount = 0; //余数 1856 .loc 1 573 12 1857 000e 0023 movs r3, #0 1858 0010 FB73 strb r3, [r7, #15] 574:user_src/soft_p_2_c.c **** uint8_t send_bytes = 0; //需要发送字节 1859 .loc 1 574 13 1860 0012 0023 movs r3, #0 1861 0014 BB73 strb r3, [r7, #14] 575:user_src/soft_p_2_c.c **** uint8_t send_pack = 1; //当前发送包数 1862 .loc 1 575 13 1863 0016 0123 movs r3, #1 1864 0018 7B73 strb r3, [r7, #13] 576:user_src/soft_p_2_c.c **** int16_t remain_target_num = 0; //剩余发送目标点 1865 .loc 1 576 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 44 1866 001a 0023 movs r3, #0 1867 001c 7B81 strh r3, [r7, #10] @ movhi 577:user_src/soft_p_2_c.c **** int16_t complete_bytes_i= 0; 1868 .loc 1 577 13 1869 001e 0023 movs r3, #0 1870 0020 3B81 strh r3, [r7, #8] @ movhi 578:user_src/soft_p_2_c.c **** 579:user_src/soft_p_2_c.c **** DM4d_recv_flag = 1; 1871 .loc 1 579 20 1872 0022 6C4B ldr r3, .L65 1873 0024 0122 movs r2, #1 1874 0026 1A70 strb r2, [r3] 580:user_src/soft_p_2_c.c **** 581:user_src/soft_p_2_c.c **** remain_target_num = FMU_4D_info.target_num; 1875 .loc 1 581 36 1876 0028 6B4B ldr r3, .L65+4 1877 002a 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 1878 .loc 1 581 23 1879 002c 7B81 strh r3, [r7, #10] @ movhi 582:user_src/soft_p_2_c.c **** pack_count = calculate_packages(remain_target_num,48); 1880 .loc 1 582 18 1881 002e B7F90A30 ldrsh r3, [r7, #10] 1882 0032 3021 movs r1, #48 1883 0034 1846 mov r0, r3 1884 0036 FFF7FEFF bl calculate_packages 1885 003a 0346 mov r3, r0 1886 .loc 1 582 16 1887 003c BB71 strb r3, [r7, #6] 583:user_src/soft_p_2_c.c **** while (remain_target_num > 0) 1888 .loc 1 583 11 1889 003e BAE0 b .L57 1890 .L63: 584:user_src/soft_p_2_c.c **** { 585:user_src/soft_p_2_c.c **** index = 0; 1891 .loc 1 585 15 1892 0040 0023 movs r3, #0 1893 0042 FB71 strb r3, [r7, #7] 586:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 1894 .loc 1 586 22 1895 0044 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1896 0046 5A1C adds r2, r3, #1 1897 0048 FA71 strb r2, [r7, #7] 1898 004a 1A46 mov r2, r3 1899 .loc 1 586 26 1900 004c 634B ldr r3, .L65+8 1901 004e FE21 movs r1, #254 1902 0050 9954 strb r1, [r3, r2] 587:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 1903 .loc 1 587 22 1904 0052 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1905 0054 5A1C adds r2, r3, #1 1906 0056 FA71 strb r2, [r7, #7] 1907 0058 1A46 mov r2, r3 1908 .loc 1 587 26 1909 005a 604B ldr r3, .L65+8 1910 005c 0021 movs r1, #0 1911 005e 9954 strb r1, [r3, r2] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 45 588:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 1912 .loc 1 588 22 1913 0060 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1914 0062 5A1C adds r2, r3, #1 1915 0064 FA71 strb r2, [r7, #7] 1916 0066 1A46 mov r2, r3 1917 .loc 1 588 26 1918 0068 5C4B ldr r3, .L65+8 1919 006a 0021 movs r1, #0 1920 006c 9954 strb r1, [r3, r2] 589:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1921 .loc 1 589 22 1922 006e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1923 0070 5A1C adds r2, r3, #1 1924 0072 FA71 strb r2, [r7, #7] 1925 0074 1A46 mov r2, r3 1926 .loc 1 589 26 1927 0076 594B ldr r3, .L65+8 1928 0078 0021 movs r1, #0 1929 007a 9954 strb r1, [r3, r2] 590:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 1930 .loc 1 590 22 1931 007c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1932 007e 5A1C adds r2, r3, #1 1933 0080 FA71 strb r2, [r7, #7] 1934 0082 1A46 mov r2, r3 1935 .loc 1 590 26 1936 0084 554B ldr r3, .L65+8 1937 0086 0021 movs r1, #0 1938 0088 9954 strb r1, [r3, r2] 591:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_F4DRADAR; 1939 .loc 1 591 22 1940 008a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1941 008c 5A1C adds r2, r3, #1 1942 008e FA71 strb r2, [r7, #7] 1943 0090 1A46 mov r2, r3 1944 .loc 1 591 26 1945 0092 524B ldr r3, .L65+8 1946 0094 2021 movs r1, #32 1947 0096 9954 strb r1, [r3, r2] 592:user_src/soft_p_2_c.c **** 593:user_src/soft_p_2_c.c **** remain_lastcount = remain_target_num % 48; 1948 .loc 1 593 26 1949 0098 B7F90A20 ldrsh r2, [r7, #10] 1950 009c 504B ldr r3, .L65+12 1951 009e 83FB0213 smull r1, r3, r3, r2 1952 00a2 D910 asrs r1, r3, #3 1953 00a4 D317 asrs r3, r2, #31 1954 00a6 C91A subs r1, r1, r3 1955 00a8 0B46 mov r3, r1 1956 00aa 5B00 lsls r3, r3, #1 1957 00ac 0B44 add r3, r3, r1 1958 00ae 1B01 lsls r3, r3, #4 1959 00b0 D31A subs r3, r2, r3 1960 00b2 1BB2 sxth r3, r3 1961 00b4 FB73 strb r3, [r7, #15] 594:user_src/soft_p_2_c.c **** if(remain_target_num > 0 && remain_lastcount == 0) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 46 1962 .loc 1 594 11 1963 00b6 B7F90A30 ldrsh r3, [r7, #10] 1964 00ba 002B cmp r3, #0 1965 00bc 05DD ble .L58 1966 .loc 1 594 34 discriminator 1 1967 00be 97F90F30 ldrsb r3, [r7, #15] 1968 00c2 002B cmp r3, #0 1969 00c4 01D1 bne .L58 595:user_src/soft_p_2_c.c **** remain_lastcount = 48; 1970 .loc 1 595 30 1971 00c6 3023 movs r3, #48 1972 00c8 FB73 strb r3, [r7, #15] 1973 .L58: 596:user_src/soft_p_2_c.c **** 597:user_src/soft_p_2_c.c **** if(pack_count > send_pack) 1974 .loc 1 597 23 1975 00ca 97F90620 ldrsb r2, [r7, #6] 1976 00ce 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 1977 .loc 1 597 11 1978 00d0 9A42 cmp r2, r3 1979 00d2 02DD ble .L59 598:user_src/soft_p_2_c.c **** send_bytes = 48 * 5; 1980 .loc 1 598 24 1981 00d4 F023 movs r3, #240 1982 00d6 BB73 strb r3, [r7, #14] 1983 00d8 04E0 b .L60 1984 .L59: 599:user_src/soft_p_2_c.c **** else 600:user_src/soft_p_2_c.c **** send_bytes = remain_lastcount * 5; 1985 .loc 1 600 43 1986 00da FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 1987 .loc 1 600 24 1988 00dc 1A46 mov r2, r3 1989 00de 9200 lsls r2, r2, #2 1990 00e0 1344 add r3, r3, r2 1991 00e2 BB73 strb r3, [r7, #14] 1992 .L60: 601:user_src/soft_p_2_c.c **** 602:user_src/soft_p_2_c.c **** msg_buf[index++] = send_pack; 1993 .loc 1 602 22 1994 00e4 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 1995 00e6 5A1C adds r2, r3, #1 1996 00e8 FA71 strb r2, [r7, #7] 1997 00ea 1946 mov r1, r3 1998 .loc 1 602 26 1999 00ec 3B4A ldr r2, .L65+8 2000 00ee 7B7B ldrb r3, [r7, #13] 2001 00f0 5354 strb r3, [r2, r1] 603:user_src/soft_p_2_c.c **** msg_buf[index++] = FMU_4D_info.target_num; 2002 .loc 1 603 22 2003 00f2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2004 00f4 5A1C adds r2, r3, #1 2005 00f6 FA71 strb r2, [r7, #7] 2006 00f8 1A46 mov r2, r3 2007 .loc 1 603 39 2008 00fa 374B ldr r3, .L65+4 2009 00fc 5978 ldrb r1, [r3, #1] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 47 2010 .loc 1 603 26 2011 00fe 374B ldr r3, .L65+8 2012 0100 9954 strb r1, [r3, r2] 604:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&DM_F4d.time_delay,2); 2013 .loc 1 604 24 2014 0102 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2015 .loc 1 604 16 2016 0104 354A ldr r2, .L65+8 2017 0106 1344 add r3, r3, r2 2018 0108 364A ldr r2, .L65+16 2019 010a B2F80120 ldrh r2, [r2, #1] @ unaligned 2020 010e 92B2 uxth r2, r2 2021 .loc 1 604 9 2022 0110 1A80 strh r2, [r3] @ unaligned 605:user_src/soft_p_2_c.c **** index += 2; 2023 .loc 1 605 15 2024 0112 FB79 ldrb r3, [r7, #7] 2025 0114 0233 adds r3, r3, #2 2026 0116 FB71 strb r3, [r7, #7] 606:user_src/soft_p_2_c.c **** 607:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&FMU_4D_info.buf[complete_bytes_i],send_bytes); 2027 .loc 1 607 24 2028 0118 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2029 .loc 1 607 16 2030 011a 304A ldr r2, .L65+8 2031 011c 9818 adds r0, r3, r2 2032 .loc 1 607 48 2033 011e B7F90830 ldrsh r3, [r7, #8] 2034 .loc 1 607 32 2035 0122 2D4A ldr r2, .L65+4 2036 0124 1344 add r3, r3, r2 2037 0126 0233 adds r3, r3, #2 2038 .loc 1 607 9 2039 0128 BA7B ldrb r2, [r7, #14] @ zero_extendqisi2 2040 012a 1946 mov r1, r3 2041 012c FFF7FEFF bl memcpy 608:user_src/soft_p_2_c.c **** index += send_bytes; 2042 .loc 1 608 15 2043 0130 FA79 ldrb r2, [r7, #7] 2044 0132 BB7B ldrb r3, [r7, #14] 2045 0134 1344 add r3, r3, r2 2046 0136 FB71 strb r3, [r7, #7] 609:user_src/soft_p_2_c.c **** complete_bytes_i += send_bytes; 2047 .loc 1 609 26 2048 0138 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2049 013a 9AB2 uxth r2, r3 2050 013c 3B89 ldrh r3, [r7, #8] 2051 013e 1344 add r3, r3, r2 2052 0140 9BB2 uxth r3, r3 2053 0142 3B81 strh r3, [r7, #8] @ movhi 610:user_src/soft_p_2_c.c **** 611:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 2054 .loc 1 611 28 2055 0144 FB79 ldrb r3, [r7, #7] 2056 0146 063B subs r3, r3, #6 2057 0148 DAB2 uxtb r2, r3 2058 .loc 1 611 20 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 48 2059 014a 244B ldr r3, .L65+8 2060 014c 5A70 strb r2, [r3, #1] 612:user_src/soft_p_2_c.c **** 613:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 2061 .loc 1 613 15 2062 014e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2063 0150 9BB2 uxth r3, r3 2064 0152 1946 mov r1, r3 2065 0154 2148 ldr r0, .L65+8 2066 0156 FFF7FEFF bl Get_Crc16 2067 015a 0346 mov r3, r0 2068 015c 1A46 mov r2, r3 2069 .loc 1 613 13 2070 015e 224B ldr r3, .L65+20 2071 0160 1A80 strh r2, [r3] @ movhi 614:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 2072 .loc 1 614 26 2073 0162 214B ldr r3, .L65+20 2074 0164 1988 ldrh r1, [r3] 2075 .loc 1 614 22 2076 0166 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2077 0168 5A1C adds r2, r3, #1 2078 016a FA71 strb r2, [r7, #7] 2079 016c 1A46 mov r2, r3 2080 .loc 1 614 26 2081 016e C9B2 uxtb r1, r1 2082 0170 1A4B ldr r3, .L65+8 2083 0172 9954 strb r1, [r3, r2] 615:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 2084 .loc 1 615 26 2085 0174 1C4B ldr r3, .L65+20 2086 0176 1B88 ldrh r3, [r3] 2087 0178 1B0A lsrs r3, r3, #8 2088 017a 99B2 uxth r1, r3 2089 .loc 1 615 22 2090 017c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2091 017e 5A1C adds r2, r3, #1 2092 0180 FA71 strb r2, [r7, #7] 2093 0182 1A46 mov r2, r3 2094 .loc 1 615 26 2095 0184 C9B2 uxtb r1, r1 2096 0186 154B ldr r3, .L65+8 2097 0188 9954 strb r1, [r3, r2] 616:user_src/soft_p_2_c.c **** 617:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 2098 .loc 1 617 9 2099 018a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2100 018c 1946 mov r1, r3 2101 018e 1348 ldr r0, .L65+8 2102 0190 FFF7FEFF bl uart2_send_msg 618:user_src/soft_p_2_c.c **** 619:user_src/soft_p_2_c.c **** remain_target_num -= send_bytes / 5; 2103 .loc 1 619 27 2104 0194 7A89 ldrh r2, [r7, #10] 2105 0196 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2106 0198 1449 ldr r1, .L65+24 2107 019a A1FB0313 umull r1, r3, r1, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 49 2108 019e 9B08 lsrs r3, r3, #2 2109 01a0 DBB2 uxtb r3, r3 2110 01a2 9BB2 uxth r3, r3 2111 01a4 D31A subs r3, r2, r3 2112 01a6 9BB2 uxth r3, r3 2113 01a8 7B81 strh r3, [r7, #10] @ movhi 620:user_src/soft_p_2_c.c **** if(send_bytes < 48 * 5) 2114 .loc 1 620 11 2115 01aa BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2116 01ac EF2B cmp r3, #239 2117 01ae 08D9 bls .L64 621:user_src/soft_p_2_c.c **** break; 622:user_src/soft_p_2_c.c **** send_pack++; 2118 .loc 1 622 18 2119 01b0 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 2120 01b2 0133 adds r3, r3, #1 2121 01b4 7B73 strb r3, [r7, #13] 2122 .L57: 583:user_src/soft_p_2_c.c **** { 2123 .loc 1 583 11 2124 01b6 B7F90A30 ldrsh r3, [r7, #10] 2125 01ba 002B cmp r3, #0 2126 01bc 3FF740AF bgt .L63 2127 01c0 00E0 b .L62 2128 .L64: 621:user_src/soft_p_2_c.c **** break; 2129 .loc 1 621 13 2130 01c2 00BF nop 2131 .L62: 623:user_src/soft_p_2_c.c **** } 624:user_src/soft_p_2_c.c **** DM4d_recv_flag = 0; 2132 .loc 1 624 20 2133 01c4 034B ldr r3, .L65 2134 01c6 0022 movs r2, #0 2135 01c8 1A70 strb r2, [r3] 625:user_src/soft_p_2_c.c **** 626:user_src/soft_p_2_c.c **** } 2136 .loc 1 626 1 2137 01ca 00BF nop 2138 01cc 1037 adds r7, r7, #16 2139 .LCFI51: 2140 .cfi_def_cfa_offset 8 2141 01ce BD46 mov sp, r7 2142 .LCFI52: 2143 .cfi_def_cfa_register 13 2144 @ sp needed 2145 01d0 80BD pop {r7, pc} 2146 .L66: 2147 01d2 00BF .align 2 2148 .L65: 2149 01d4 00000000 .word DM4d_recv_flag 2150 01d8 00000000 .word FMU_4D_info 2151 01dc 00000000 .word msg_buf 2152 01e0 ABAAAA2A .word 715827883 2153 01e4 00000000 .word DM_F4d 2154 01e8 00000000 .word crc 2155 01ec CDCCCCCC .word -858993459 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 50 2156 .cfi_endproc 2157 .LFE142: 2159 .section .text.pmu_to_con_DM4DBradar_data,"ax",%progbits 2160 .align 1 2161 .global pmu_to_con_DM4DBradar_data 2162 .syntax unified 2163 .thumb 2164 .thumb_func 2166 pmu_to_con_DM4DBradar_data: 2167 .LFB143: 627:user_src/soft_p_2_c.c **** //电目4D后避障雷达 628:user_src/soft_p_2_c.c **** void pmu_to_con_DM4DBradar_data(void) 629:user_src/soft_p_2_c.c **** { 2168 .loc 1 629 1 2169 .cfi_startproc 2170 @ args = 0, pretend = 0, frame = 16 2171 @ frame_needed = 1, uses_anonymous_args = 0 2172 0000 80B5 push {r7, lr} 2173 .LCFI53: 2174 .cfi_def_cfa_offset 8 2175 .cfi_offset 7, -8 2176 .cfi_offset 14, -4 2177 0002 84B0 sub sp, sp, #16 2178 .LCFI54: 2179 .cfi_def_cfa_offset 24 2180 0004 00AF add r7, sp, #0 2181 .LCFI55: 2182 .cfi_def_cfa_register 7 630:user_src/soft_p_2_c.c **** uint8_t index = 0; 2183 .loc 1 630 13 2184 0006 0023 movs r3, #0 2185 0008 FB71 strb r3, [r7, #7] 631:user_src/soft_p_2_c.c **** int8_t pack_count = 0;//需要发送包数 2186 .loc 1 631 12 2187 000a 0023 movs r3, #0 2188 000c BB71 strb r3, [r7, #6] 632:user_src/soft_p_2_c.c **** int8_t remain_lastcount = 0; //余数 2189 .loc 1 632 12 2190 000e 0023 movs r3, #0 2191 0010 FB73 strb r3, [r7, #15] 633:user_src/soft_p_2_c.c **** uint8_t send_bytes = 0; //需要发送字节 2192 .loc 1 633 13 2193 0012 0023 movs r3, #0 2194 0014 BB73 strb r3, [r7, #14] 634:user_src/soft_p_2_c.c **** uint8_t send_pack = 1; //当前发送包数 2195 .loc 1 634 13 2196 0016 0123 movs r3, #1 2197 0018 7B73 strb r3, [r7, #13] 635:user_src/soft_p_2_c.c **** int16_t remain_target_num = 0; //剩余发送目标点 2198 .loc 1 635 13 2199 001a 0023 movs r3, #0 2200 001c 7B81 strh r3, [r7, #10] @ movhi 636:user_src/soft_p_2_c.c **** int16_t complete_bytes_i= 0; 2201 .loc 1 636 13 2202 001e 0023 movs r3, #0 2203 0020 3B81 strh r3, [r7, #8] @ movhi 637:user_src/soft_p_2_c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 51 638:user_src/soft_p_2_c.c **** DM4dB_recv_flag = 1; 2204 .loc 1 638 21 2205 0022 6C4B ldr r3, .L76 2206 0024 0122 movs r2, #1 2207 0026 1A70 strb r2, [r3] 639:user_src/soft_p_2_c.c **** 640:user_src/soft_p_2_c.c **** remain_target_num = FMU_4D_info.target_num; 2208 .loc 1 640 36 2209 0028 6B4B ldr r3, .L76+4 2210 002a 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 2211 .loc 1 640 23 2212 002c 7B81 strh r3, [r7, #10] @ movhi 641:user_src/soft_p_2_c.c **** pack_count = calculate_packages(remain_target_num,48); 2213 .loc 1 641 18 2214 002e B7F90A30 ldrsh r3, [r7, #10] 2215 0032 3021 movs r1, #48 2216 0034 1846 mov r0, r3 2217 0036 FFF7FEFF bl calculate_packages 2218 003a 0346 mov r3, r0 2219 .loc 1 641 16 2220 003c BB71 strb r3, [r7, #6] 642:user_src/soft_p_2_c.c **** while (remain_target_num > 0) 2221 .loc 1 642 11 2222 003e BAE0 b .L68 2223 .L74: 643:user_src/soft_p_2_c.c **** { 644:user_src/soft_p_2_c.c **** index = 0; 2224 .loc 1 644 15 2225 0040 0023 movs r3, #0 2226 0042 FB71 strb r3, [r7, #7] 645:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 2227 .loc 1 645 22 2228 0044 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2229 0046 5A1C adds r2, r3, #1 2230 0048 FA71 strb r2, [r7, #7] 2231 004a 1A46 mov r2, r3 2232 .loc 1 645 26 2233 004c 634B ldr r3, .L76+8 2234 004e FE21 movs r1, #254 2235 0050 9954 strb r1, [r3, r2] 646:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2236 .loc 1 646 22 2237 0052 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2238 0054 5A1C adds r2, r3, #1 2239 0056 FA71 strb r2, [r7, #7] 2240 0058 1A46 mov r2, r3 2241 .loc 1 646 26 2242 005a 604B ldr r3, .L76+8 2243 005c 0021 movs r1, #0 2244 005e 9954 strb r1, [r3, r2] 647:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2245 .loc 1 647 22 2246 0060 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2247 0062 5A1C adds r2, r3, #1 2248 0064 FA71 strb r2, [r7, #7] 2249 0066 1A46 mov r2, r3 2250 .loc 1 647 26 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 52 2251 0068 5C4B ldr r3, .L76+8 2252 006a 0021 movs r1, #0 2253 006c 9954 strb r1, [r3, r2] 648:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2254 .loc 1 648 22 2255 006e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2256 0070 5A1C adds r2, r3, #1 2257 0072 FA71 strb r2, [r7, #7] 2258 0074 1A46 mov r2, r3 2259 .loc 1 648 26 2260 0076 594B ldr r3, .L76+8 2261 0078 0021 movs r1, #0 2262 007a 9954 strb r1, [r3, r2] 649:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2263 .loc 1 649 22 2264 007c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2265 007e 5A1C adds r2, r3, #1 2266 0080 FA71 strb r2, [r7, #7] 2267 0082 1A46 mov r2, r3 2268 .loc 1 649 26 2269 0084 554B ldr r3, .L76+8 2270 0086 0021 movs r1, #0 2271 0088 9954 strb r1, [r3, r2] 650:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_B4DRADAR; 2272 .loc 1 650 22 2273 008a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2274 008c 5A1C adds r2, r3, #1 2275 008e FA71 strb r2, [r7, #7] 2276 0090 1A46 mov r2, r3 2277 .loc 1 650 26 2278 0092 524B ldr r3, .L76+8 2279 0094 2121 movs r1, #33 2280 0096 9954 strb r1, [r3, r2] 651:user_src/soft_p_2_c.c **** 652:user_src/soft_p_2_c.c **** remain_lastcount = remain_target_num % 48; 2281 .loc 1 652 26 2282 0098 B7F90A20 ldrsh r2, [r7, #10] 2283 009c 504B ldr r3, .L76+12 2284 009e 83FB0213 smull r1, r3, r3, r2 2285 00a2 D910 asrs r1, r3, #3 2286 00a4 D317 asrs r3, r2, #31 2287 00a6 C91A subs r1, r1, r3 2288 00a8 0B46 mov r3, r1 2289 00aa 5B00 lsls r3, r3, #1 2290 00ac 0B44 add r3, r3, r1 2291 00ae 1B01 lsls r3, r3, #4 2292 00b0 D31A subs r3, r2, r3 2293 00b2 1BB2 sxth r3, r3 2294 00b4 FB73 strb r3, [r7, #15] 653:user_src/soft_p_2_c.c **** if(remain_target_num > 0 && remain_lastcount == 0) 2295 .loc 1 653 11 2296 00b6 B7F90A30 ldrsh r3, [r7, #10] 2297 00ba 002B cmp r3, #0 2298 00bc 05DD ble .L69 2299 .loc 1 653 34 discriminator 1 2300 00be 97F90F30 ldrsb r3, [r7, #15] 2301 00c2 002B cmp r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 53 2302 00c4 01D1 bne .L69 654:user_src/soft_p_2_c.c **** remain_lastcount = 48; 2303 .loc 1 654 30 2304 00c6 3023 movs r3, #48 2305 00c8 FB73 strb r3, [r7, #15] 2306 .L69: 655:user_src/soft_p_2_c.c **** 656:user_src/soft_p_2_c.c **** if(pack_count > send_pack) 2307 .loc 1 656 23 2308 00ca 97F90620 ldrsb r2, [r7, #6] 2309 00ce 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 2310 .loc 1 656 11 2311 00d0 9A42 cmp r2, r3 2312 00d2 02DD ble .L70 657:user_src/soft_p_2_c.c **** send_bytes = 48 * 5; 2313 .loc 1 657 24 2314 00d4 F023 movs r3, #240 2315 00d6 BB73 strb r3, [r7, #14] 2316 00d8 04E0 b .L71 2317 .L70: 658:user_src/soft_p_2_c.c **** else 659:user_src/soft_p_2_c.c **** send_bytes = remain_lastcount * 5; 2318 .loc 1 659 43 2319 00da FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 2320 .loc 1 659 24 2321 00dc 1A46 mov r2, r3 2322 00de 9200 lsls r2, r2, #2 2323 00e0 1344 add r3, r3, r2 2324 00e2 BB73 strb r3, [r7, #14] 2325 .L71: 660:user_src/soft_p_2_c.c **** 661:user_src/soft_p_2_c.c **** msg_buf[index++] = send_pack; 2326 .loc 1 661 22 2327 00e4 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2328 00e6 5A1C adds r2, r3, #1 2329 00e8 FA71 strb r2, [r7, #7] 2330 00ea 1946 mov r1, r3 2331 .loc 1 661 26 2332 00ec 3B4A ldr r2, .L76+8 2333 00ee 7B7B ldrb r3, [r7, #13] 2334 00f0 5354 strb r3, [r2, r1] 662:user_src/soft_p_2_c.c **** msg_buf[index++] = FMU_4D_info.target_num; 2335 .loc 1 662 22 2336 00f2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2337 00f4 5A1C adds r2, r3, #1 2338 00f6 FA71 strb r2, [r7, #7] 2339 00f8 1A46 mov r2, r3 2340 .loc 1 662 39 2341 00fa 374B ldr r3, .L76+4 2342 00fc 5978 ldrb r1, [r3, #1] @ zero_extendqisi2 2343 .loc 1 662 26 2344 00fe 374B ldr r3, .L76+8 2345 0100 9954 strb r1, [r3, r2] 663:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&DM_B4d.time_delay,2); 2346 .loc 1 663 24 2347 0102 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2348 .loc 1 663 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 54 2349 0104 354A ldr r2, .L76+8 2350 0106 1344 add r3, r3, r2 2351 0108 364A ldr r2, .L76+16 2352 010a B2F80120 ldrh r2, [r2, #1] @ unaligned 2353 010e 92B2 uxth r2, r2 2354 .loc 1 663 9 2355 0110 1A80 strh r2, [r3] @ unaligned 664:user_src/soft_p_2_c.c **** index += 2; 2356 .loc 1 664 15 2357 0112 FB79 ldrb r3, [r7, #7] 2358 0114 0233 adds r3, r3, #2 2359 0116 FB71 strb r3, [r7, #7] 665:user_src/soft_p_2_c.c **** 666:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&FMU_4D_info.buf[complete_bytes_i],send_bytes); 2360 .loc 1 666 24 2361 0118 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2362 .loc 1 666 16 2363 011a 304A ldr r2, .L76+8 2364 011c 9818 adds r0, r3, r2 2365 .loc 1 666 48 2366 011e B7F90830 ldrsh r3, [r7, #8] 2367 .loc 1 666 32 2368 0122 2D4A ldr r2, .L76+4 2369 0124 1344 add r3, r3, r2 2370 0126 0233 adds r3, r3, #2 2371 .loc 1 666 9 2372 0128 BA7B ldrb r2, [r7, #14] @ zero_extendqisi2 2373 012a 1946 mov r1, r3 2374 012c FFF7FEFF bl memcpy 667:user_src/soft_p_2_c.c **** index += send_bytes; 2375 .loc 1 667 15 2376 0130 FA79 ldrb r2, [r7, #7] 2377 0132 BB7B ldrb r3, [r7, #14] 2378 0134 1344 add r3, r3, r2 2379 0136 FB71 strb r3, [r7, #7] 668:user_src/soft_p_2_c.c **** complete_bytes_i += send_bytes; 2380 .loc 1 668 26 2381 0138 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2382 013a 9AB2 uxth r2, r3 2383 013c 3B89 ldrh r3, [r7, #8] 2384 013e 1344 add r3, r3, r2 2385 0140 9BB2 uxth r3, r3 2386 0142 3B81 strh r3, [r7, #8] @ movhi 669:user_src/soft_p_2_c.c **** 670:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 2387 .loc 1 670 28 2388 0144 FB79 ldrb r3, [r7, #7] 2389 0146 063B subs r3, r3, #6 2390 0148 DAB2 uxtb r2, r3 2391 .loc 1 670 20 2392 014a 244B ldr r3, .L76+8 2393 014c 5A70 strb r2, [r3, #1] 671:user_src/soft_p_2_c.c **** 672:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 2394 .loc 1 672 15 2395 014e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2396 0150 9BB2 uxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 55 2397 0152 1946 mov r1, r3 2398 0154 2148 ldr r0, .L76+8 2399 0156 FFF7FEFF bl Get_Crc16 2400 015a 0346 mov r3, r0 2401 015c 1A46 mov r2, r3 2402 .loc 1 672 13 2403 015e 224B ldr r3, .L76+20 2404 0160 1A80 strh r2, [r3] @ movhi 673:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 2405 .loc 1 673 26 2406 0162 214B ldr r3, .L76+20 2407 0164 1988 ldrh r1, [r3] 2408 .loc 1 673 22 2409 0166 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2410 0168 5A1C adds r2, r3, #1 2411 016a FA71 strb r2, [r7, #7] 2412 016c 1A46 mov r2, r3 2413 .loc 1 673 26 2414 016e C9B2 uxtb r1, r1 2415 0170 1A4B ldr r3, .L76+8 2416 0172 9954 strb r1, [r3, r2] 674:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 2417 .loc 1 674 26 2418 0174 1C4B ldr r3, .L76+20 2419 0176 1B88 ldrh r3, [r3] 2420 0178 1B0A lsrs r3, r3, #8 2421 017a 99B2 uxth r1, r3 2422 .loc 1 674 22 2423 017c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2424 017e 5A1C adds r2, r3, #1 2425 0180 FA71 strb r2, [r7, #7] 2426 0182 1A46 mov r2, r3 2427 .loc 1 674 26 2428 0184 C9B2 uxtb r1, r1 2429 0186 154B ldr r3, .L76+8 2430 0188 9954 strb r1, [r3, r2] 675:user_src/soft_p_2_c.c **** 676:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 2431 .loc 1 676 9 2432 018a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2433 018c 1946 mov r1, r3 2434 018e 1348 ldr r0, .L76+8 2435 0190 FFF7FEFF bl uart2_send_msg 677:user_src/soft_p_2_c.c **** 678:user_src/soft_p_2_c.c **** remain_target_num -= send_bytes / 5; 2436 .loc 1 678 27 2437 0194 7A89 ldrh r2, [r7, #10] 2438 0196 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2439 0198 1449 ldr r1, .L76+24 2440 019a A1FB0313 umull r1, r3, r1, r3 2441 019e 9B08 lsrs r3, r3, #2 2442 01a0 DBB2 uxtb r3, r3 2443 01a2 9BB2 uxth r3, r3 2444 01a4 D31A subs r3, r2, r3 2445 01a6 9BB2 uxth r3, r3 2446 01a8 7B81 strh r3, [r7, #10] @ movhi 679:user_src/soft_p_2_c.c **** if(send_bytes < 48 * 5) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 56 2447 .loc 1 679 11 2448 01aa BB7B ldrb r3, [r7, #14] @ zero_extendqisi2 2449 01ac EF2B cmp r3, #239 2450 01ae 08D9 bls .L75 680:user_src/soft_p_2_c.c **** break; 681:user_src/soft_p_2_c.c **** send_pack++; 2451 .loc 1 681 18 2452 01b0 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2 2453 01b2 0133 adds r3, r3, #1 2454 01b4 7B73 strb r3, [r7, #13] 2455 .L68: 642:user_src/soft_p_2_c.c **** { 2456 .loc 1 642 11 2457 01b6 B7F90A30 ldrsh r3, [r7, #10] 2458 01ba 002B cmp r3, #0 2459 01bc 3FF740AF bgt .L74 2460 01c0 00E0 b .L73 2461 .L75: 680:user_src/soft_p_2_c.c **** break; 2462 .loc 1 680 13 2463 01c2 00BF nop 2464 .L73: 682:user_src/soft_p_2_c.c **** } 683:user_src/soft_p_2_c.c **** DM4dB_recv_flag = 0; 2465 .loc 1 683 21 2466 01c4 034B ldr r3, .L76 2467 01c6 0022 movs r2, #0 2468 01c8 1A70 strb r2, [r3] 684:user_src/soft_p_2_c.c **** } 2469 .loc 1 684 1 2470 01ca 00BF nop 2471 01cc 1037 adds r7, r7, #16 2472 .LCFI56: 2473 .cfi_def_cfa_offset 8 2474 01ce BD46 mov sp, r7 2475 .LCFI57: 2476 .cfi_def_cfa_register 13 2477 @ sp needed 2478 01d0 80BD pop {r7, pc} 2479 .L77: 2480 01d2 00BF .align 2 2481 .L76: 2482 01d4 00000000 .word DM4dB_recv_flag 2483 01d8 00000000 .word FMU_4D_info 2484 01dc 00000000 .word msg_buf 2485 01e0 ABAAAA2A .word 715827883 2486 01e4 00000000 .word DM_B4d 2487 01e8 00000000 .word crc 2488 01ec CDCCCCCC .word -858993459 2489 .cfi_endproc 2490 .LFE143: 2492 .section .text.pmu_to_con_DM4DBradar_msg,"ax",%progbits 2493 .align 1 2494 .global pmu_to_con_DM4DBradar_msg 2495 .syntax unified 2496 .thumb 2497 .thumb_func ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 57 2499 pmu_to_con_DM4DBradar_msg: 2500 .LFB144: 685:user_src/soft_p_2_c.c **** //4D雷达回复fmu 686:user_src/soft_p_2_c.c **** void pmu_to_con_DM4DBradar_msg(void) 687:user_src/soft_p_2_c.c **** { 2501 .loc 1 687 1 2502 .cfi_startproc 2503 @ args = 0, pretend = 0, frame = 8 2504 @ frame_needed = 1, uses_anonymous_args = 0 2505 0000 80B5 push {r7, lr} 2506 .LCFI58: 2507 .cfi_def_cfa_offset 8 2508 .cfi_offset 7, -8 2509 .cfi_offset 14, -4 2510 0002 82B0 sub sp, sp, #8 2511 .LCFI59: 2512 .cfi_def_cfa_offset 16 2513 0004 00AF add r7, sp, #0 2514 .LCFI60: 2515 .cfi_def_cfa_register 7 688:user_src/soft_p_2_c.c **** uint8_t index = 0; 2516 .loc 1 688 13 2517 0006 0023 movs r3, #0 2518 0008 FB71 strb r3, [r7, #7] 689:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 2519 .loc 1 689 18 2520 000a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2521 000c 5A1C adds r2, r3, #1 2522 000e FA71 strb r2, [r7, #7] 2523 0010 1A46 mov r2, r3 2524 .loc 1 689 22 2525 0012 3C4B ldr r3, .L79 2526 0014 FE21 movs r1, #254 2527 0016 9954 strb r1, [r3, r2] 690:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2528 .loc 1 690 18 2529 0018 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2530 001a 5A1C adds r2, r3, #1 2531 001c FA71 strb r2, [r7, #7] 2532 001e 1A46 mov r2, r3 2533 .loc 1 690 22 2534 0020 384B ldr r3, .L79 2535 0022 0021 movs r1, #0 2536 0024 9954 strb r1, [r3, r2] 691:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2537 .loc 1 691 18 2538 0026 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2539 0028 5A1C adds r2, r3, #1 2540 002a FA71 strb r2, [r7, #7] 2541 002c 1A46 mov r2, r3 2542 .loc 1 691 22 2543 002e 354B ldr r3, .L79 2544 0030 0021 movs r1, #0 2545 0032 9954 strb r1, [r3, r2] 692:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2546 .loc 1 692 18 2547 0034 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 58 2548 0036 5A1C adds r2, r3, #1 2549 0038 FA71 strb r2, [r7, #7] 2550 003a 1A46 mov r2, r3 2551 .loc 1 692 22 2552 003c 314B ldr r3, .L79 2553 003e 0021 movs r1, #0 2554 0040 9954 strb r1, [r3, r2] 693:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2555 .loc 1 693 18 2556 0042 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2557 0044 5A1C adds r2, r3, #1 2558 0046 FA71 strb r2, [r7, #7] 2559 0048 1A46 mov r2, r3 2560 .loc 1 693 22 2561 004a 2E4B ldr r3, .L79 2562 004c 0021 movs r1, #0 2563 004e 9954 strb r1, [r3, r2] 694:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_GET4D; 2564 .loc 1 694 18 2565 0050 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2566 0052 5A1C adds r2, r3, #1 2567 0054 FA71 strb r2, [r7, #7] 2568 0056 1A46 mov r2, r3 2569 .loc 1 694 22 2570 0058 2A4B ldr r3, .L79 2571 005a 1721 movs r1, #23 2572 005c 9954 strb r1, [r3, r2] 695:user_src/soft_p_2_c.c **** msg_buf[index++] = 'V'; 2573 .loc 1 695 18 2574 005e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2575 0060 5A1C adds r2, r3, #1 2576 0062 FA71 strb r2, [r7, #7] 2577 0064 1A46 mov r2, r3 2578 .loc 1 695 22 2579 0066 274B ldr r3, .L79 2580 0068 5621 movs r1, #86 2581 006a 9954 strb r1, [r3, r2] 696:user_src/soft_p_2_c.c **** msg_buf[index++] = 'K'; 2582 .loc 1 696 18 2583 006c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2584 006e 5A1C adds r2, r3, #1 2585 0070 FA71 strb r2, [r7, #7] 2586 0072 1A46 mov r2, r3 2587 .loc 1 696 22 2588 0074 234B ldr r3, .L79 2589 0076 4B21 movs r1, #75 2590 0078 9954 strb r1, [r3, r2] 697:user_src/soft_p_2_c.c **** msg_buf[index++] = 'Z'; 2591 .loc 1 697 18 2592 007a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2593 007c 5A1C adds r2, r3, #1 2594 007e FA71 strb r2, [r7, #7] 2595 0080 1A46 mov r2, r3 2596 .loc 1 697 22 2597 0082 204B ldr r3, .L79 2598 0084 5A21 movs r1, #90 2599 0086 9954 strb r1, [r3, r2] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 59 698:user_src/soft_p_2_c.c **** msg_buf[index++] = '1'; 2600 .loc 1 698 18 2601 0088 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2602 008a 5A1C adds r2, r3, #1 2603 008c FA71 strb r2, [r7, #7] 2604 008e 1A46 mov r2, r3 2605 .loc 1 698 22 2606 0090 1C4B ldr r3, .L79 2607 0092 3121 movs r1, #49 2608 0094 9954 strb r1, [r3, r2] 699:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&DM_4DRADARMAG.angel_4DF,12); 2609 .loc 1 699 20 2610 0096 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2611 .loc 1 699 12 2612 0098 1A4A ldr r2, .L79 2613 009a 1344 add r3, r3, r2 2614 .loc 1 699 5 2615 009c 0C22 movs r2, #12 2616 009e 1A49 ldr r1, .L79+4 2617 00a0 1846 mov r0, r3 2618 00a2 FFF7FEFF bl memcpy 700:user_src/soft_p_2_c.c **** index += 12; 2619 .loc 1 700 11 2620 00a6 FB79 ldrb r3, [r7, #7] 2621 00a8 0C33 adds r3, r3, #12 2622 00aa FB71 strb r3, [r7, #7] 701:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 2623 .loc 1 701 24 2624 00ac FB79 ldrb r3, [r7, #7] 2625 00ae 063B subs r3, r3, #6 2626 00b0 DAB2 uxtb r2, r3 2627 .loc 1 701 16 2628 00b2 144B ldr r3, .L79 2629 00b4 5A70 strb r2, [r3, #1] 702:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 2630 .loc 1 702 11 2631 00b6 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2632 00b8 9BB2 uxth r3, r3 2633 00ba 1946 mov r1, r3 2634 00bc 1148 ldr r0, .L79 2635 00be FFF7FEFF bl Get_Crc16 2636 00c2 0346 mov r3, r0 2637 00c4 1A46 mov r2, r3 2638 .loc 1 702 9 2639 00c6 114B ldr r3, .L79+8 2640 00c8 1A80 strh r2, [r3] @ movhi 703:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 2641 .loc 1 703 22 2642 00ca 104B ldr r3, .L79+8 2643 00cc 1988 ldrh r1, [r3] 2644 .loc 1 703 18 2645 00ce FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2646 00d0 5A1C adds r2, r3, #1 2647 00d2 FA71 strb r2, [r7, #7] 2648 00d4 1A46 mov r2, r3 2649 .loc 1 703 22 2650 00d6 C9B2 uxtb r1, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 60 2651 00d8 0A4B ldr r3, .L79 2652 00da 9954 strb r1, [r3, r2] 704:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 2653 .loc 1 704 22 2654 00dc 0B4B ldr r3, .L79+8 2655 00de 1B88 ldrh r3, [r3] 2656 00e0 1B0A lsrs r3, r3, #8 2657 00e2 99B2 uxth r1, r3 2658 .loc 1 704 18 2659 00e4 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2660 00e6 5A1C adds r2, r3, #1 2661 00e8 FA71 strb r2, [r7, #7] 2662 00ea 1A46 mov r2, r3 2663 .loc 1 704 22 2664 00ec C9B2 uxtb r1, r1 2665 00ee 054B ldr r3, .L79 2666 00f0 9954 strb r1, [r3, r2] 705:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 2667 .loc 1 705 5 2668 00f2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 2669 00f4 1946 mov r1, r3 2670 00f6 0348 ldr r0, .L79 2671 00f8 FFF7FEFF bl uart2_send_msg 706:user_src/soft_p_2_c.c **** } 2672 .loc 1 706 1 2673 00fc 00BF nop 2674 00fe 0837 adds r7, r7, #8 2675 .LCFI61: 2676 .cfi_def_cfa_offset 8 2677 0100 BD46 mov sp, r7 2678 .LCFI62: 2679 .cfi_def_cfa_register 13 2680 @ sp needed 2681 0102 80BD pop {r7, pc} 2682 .L80: 2683 .align 2 2684 .L79: 2685 0104 00000000 .word msg_buf 2686 0108 00000000 .word DM_4DRADARMAG 2687 010c 00000000 .word crc 2688 .cfi_endproc 2689 .LFE144: 2691 .section .text.pmu_to_con_heart_data,"ax",%progbits 2692 .align 1 2693 .global pmu_to_con_heart_data 2694 .syntax unified 2695 .thumb 2696 .thumb_func 2698 pmu_to_con_heart_data: 2699 .LFB145: 707:user_src/soft_p_2_c.c **** /** 708:user_src/soft_p_2_c.c **** * @file pmu_to_con_heart_data 709:user_src/soft_p_2_c.c **** * @brief PMU_发送心跳 710:user_src/soft_p_2_c.c **** * @param none 711:user_src/soft_p_2_c.c **** * @details 712:user_src/soft_p_2_c.c **** * @author Zhang Sir 713:user_src/soft_p_2_c.c **** **/ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 61 714:user_src/soft_p_2_c.c **** void pmu_to_con_heart_data() 715:user_src/soft_p_2_c.c **** { 2700 .loc 1 715 1 2701 .cfi_startproc 2702 @ args = 0, pretend = 0, frame = 8 2703 @ frame_needed = 1, uses_anonymous_args = 0 2704 0000 80B5 push {r7, lr} 2705 .LCFI63: 2706 .cfi_def_cfa_offset 8 2707 .cfi_offset 7, -8 2708 .cfi_offset 14, -4 2709 0002 82B0 sub sp, sp, #8 2710 .LCFI64: 2711 .cfi_def_cfa_offset 16 2712 0004 00AF add r7, sp, #0 2713 .LCFI65: 2714 .cfi_def_cfa_register 7 716:user_src/soft_p_2_c.c **** int index = 0; 2715 .loc 1 716 9 2716 0006 0023 movs r3, #0 2717 0008 7B60 str r3, [r7, #4] 717:user_src/soft_p_2_c.c **** uint32_t time = 0; 2718 .loc 1 717 14 2719 000a 0023 movs r3, #0 2720 000c 3B60 str r3, [r7] 718:user_src/soft_p_2_c.c **** 719:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 2721 .loc 1 719 18 2722 000e 7B68 ldr r3, [r7, #4] 2723 0010 5A1C adds r2, r3, #1 2724 0012 7A60 str r2, [r7, #4] 2725 .loc 1 719 22 2726 0014 3C4A ldr r2, .L82 2727 0016 FE21 movs r1, #254 2728 0018 D154 strb r1, [r2, r3] 720:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2729 .loc 1 720 18 2730 001a 7B68 ldr r3, [r7, #4] 2731 001c 5A1C adds r2, r3, #1 2732 001e 7A60 str r2, [r7, #4] 2733 .loc 1 720 22 2734 0020 394A ldr r2, .L82 2735 0022 0021 movs r1, #0 2736 0024 D154 strb r1, [r2, r3] 721:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2737 .loc 1 721 18 2738 0026 7B68 ldr r3, [r7, #4] 2739 0028 5A1C adds r2, r3, #1 2740 002a 7A60 str r2, [r7, #4] 2741 .loc 1 721 22 2742 002c 364A ldr r2, .L82 2743 002e 0021 movs r1, #0 2744 0030 D154 strb r1, [r2, r3] 722:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2745 .loc 1 722 18 2746 0032 7B68 ldr r3, [r7, #4] 2747 0034 5A1C adds r2, r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 62 2748 0036 7A60 str r2, [r7, #4] 2749 .loc 1 722 22 2750 0038 334A ldr r2, .L82 2751 003a 0021 movs r1, #0 2752 003c D154 strb r1, [r2, r3] 723:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2753 .loc 1 723 18 2754 003e 7B68 ldr r3, [r7, #4] 2755 0040 5A1C adds r2, r3, #1 2756 0042 7A60 str r2, [r7, #4] 2757 .loc 1 723 22 2758 0044 304A ldr r2, .L82 2759 0046 0021 movs r1, #0 2760 0048 D154 strb r1, [r2, r3] 724:user_src/soft_p_2_c.c **** msg_buf[index++] = 21; 2761 .loc 1 724 18 2762 004a 7B68 ldr r3, [r7, #4] 2763 004c 5A1C adds r2, r3, #1 2764 004e 7A60 str r2, [r7, #4] 2765 .loc 1 724 22 2766 0050 2D4A ldr r2, .L82 2767 0052 1521 movs r1, #21 2768 0054 D154 strb r1, [r2, r3] 725:user_src/soft_p_2_c.c **** 726:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_HEART; 2769 .loc 1 726 18 2770 0056 7B68 ldr r3, [r7, #4] 2771 0058 5A1C adds r2, r3, #1 2772 005a 7A60 str r2, [r7, #4] 2773 .loc 1 726 22 2774 005c 2A4A ldr r2, .L82 2775 005e 1B21 movs r1, #27 2776 0060 D154 strb r1, [r2, r3] 727:user_src/soft_p_2_c.c **** ack_content = 0x56; 2777 .loc 1 727 17 2778 0062 2A4B ldr r3, .L82+4 2779 0064 5622 movs r2, #86 2780 0066 1A80 strh r2, [r3] @ movhi 728:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ack_content,2); 2781 .loc 1 728 12 2782 0068 7B68 ldr r3, [r7, #4] 2783 006a 274A ldr r2, .L82 2784 006c 1344 add r3, r3, r2 2785 006e 274A ldr r2, .L82+4 2786 0070 1288 ldrh r2, [r2] 2787 .loc 1 728 5 2788 0072 1A80 strh r2, [r3] @ unaligned 729:user_src/soft_p_2_c.c **** index += 2; 2789 .loc 1 729 11 2790 0074 7B68 ldr r3, [r7, #4] 2791 0076 0233 adds r3, r3, #2 2792 0078 7B60 str r3, [r7, #4] 730:user_src/soft_p_2_c.c **** 731:user_src/soft_p_2_c.c **** ack_content1 = current_pmu_par.reset_reason; 2793 .loc 1 731 35 2794 007a 254B ldr r3, .L82+8 2795 007c B3F90620 ldrsh r2, [r3, #6] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 63 2796 .loc 1 731 18 2797 0080 244B ldr r3, .L82+12 2798 0082 1A80 strh r2, [r3] @ movhi 732:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ack_content1,2); 2799 .loc 1 732 12 2800 0084 7B68 ldr r3, [r7, #4] 2801 0086 204A ldr r2, .L82 2802 0088 1344 add r3, r3, r2 2803 008a 224A ldr r2, .L82+12 2804 008c 1288 ldrh r2, [r2] 2805 .loc 1 732 5 2806 008e 1A80 strh r2, [r3] @ unaligned 733:user_src/soft_p_2_c.c **** index += 2; 2807 .loc 1 733 11 2808 0090 7B68 ldr r3, [r7, #4] 2809 0092 0233 adds r3, r3, #2 2810 0094 7B60 str r3, [r7, #4] 734:user_src/soft_p_2_c.c **** 735:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ack_content2,2); 2811 .loc 1 735 12 2812 0096 7B68 ldr r3, [r7, #4] 2813 0098 1B4A ldr r2, .L82 2814 009a 1344 add r3, r3, r2 2815 009c 1E4A ldr r2, .L82+16 2816 009e 1288 ldrh r2, [r2] 2817 .loc 1 735 5 2818 00a0 1A80 strh r2, [r3] @ unaligned 736:user_src/soft_p_2_c.c **** index += 2; 2819 .loc 1 736 11 2820 00a2 7B68 ldr r3, [r7, #4] 2821 00a4 0233 adds r3, r3, #2 2822 00a6 7B60 str r3, [r7, #4] 737:user_src/soft_p_2_c.c **** 738:user_src/soft_p_2_c.c **** time = HAL_GetTick(); 2823 .loc 1 738 12 2824 00a8 FFF7FEFF bl HAL_GetTick 2825 00ac 0346 mov r3, r0 2826 .loc 1 738 10 2827 00ae 3B60 str r3, [r7] 739:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&time,4); 2828 .loc 1 739 12 2829 00b0 7B68 ldr r3, [r7, #4] 2830 00b2 154A ldr r2, .L82 2831 00b4 1344 add r3, r3, r2 2832 00b6 3A68 ldr r2, [r7] 2833 .loc 1 739 5 2834 00b8 1A60 str r2, [r3] @ unaligned 740:user_src/soft_p_2_c.c **** index += 4; 2835 .loc 1 740 11 2836 00ba 7B68 ldr r3, [r7, #4] 2837 00bc 0433 adds r3, r3, #4 2838 00be 7B60 str r3, [r7, #4] 741:user_src/soft_p_2_c.c **** 742:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 2839 .loc 1 742 24 2840 00c0 7B68 ldr r3, [r7, #4] 2841 00c2 DBB2 uxtb r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 64 2842 00c4 063B subs r3, r3, #6 2843 00c6 DAB2 uxtb r2, r3 2844 .loc 1 742 16 2845 00c8 0F4B ldr r3, .L82 2846 00ca 5A70 strb r2, [r3, #1] 743:user_src/soft_p_2_c.c **** 744:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 2847 .loc 1 744 11 2848 00cc 7B68 ldr r3, [r7, #4] 2849 00ce 9BB2 uxth r3, r3 2850 00d0 1946 mov r1, r3 2851 00d2 0D48 ldr r0, .L82 2852 00d4 FFF7FEFF bl Get_Crc16 2853 00d8 0346 mov r3, r0 2854 00da 1A46 mov r2, r3 2855 .loc 1 744 9 2856 00dc 0F4B ldr r3, .L82+20 2857 00de 1A80 strh r2, [r3] @ movhi 745:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &crc, 2); 2858 .loc 1 745 12 2859 00e0 7B68 ldr r3, [r7, #4] 2860 00e2 094A ldr r2, .L82 2861 00e4 1344 add r3, r3, r2 2862 00e6 0D4A ldr r2, .L82+20 2863 00e8 1288 ldrh r2, [r2] 2864 .loc 1 745 5 2865 00ea 1A80 strh r2, [r3] @ unaligned 746:user_src/soft_p_2_c.c **** index += 2; 2866 .loc 1 746 11 2867 00ec 7B68 ldr r3, [r7, #4] 2868 00ee 0233 adds r3, r3, #2 2869 00f0 7B60 str r3, [r7, #4] 747:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 2870 .loc 1 747 5 2871 00f2 7B68 ldr r3, [r7, #4] 2872 00f4 DBB2 uxtb r3, r3 2873 00f6 1946 mov r1, r3 2874 00f8 0348 ldr r0, .L82 2875 00fa FFF7FEFF bl uart2_send_msg 748:user_src/soft_p_2_c.c **** } 2876 .loc 1 748 1 2877 00fe 00BF nop 2878 0100 0837 adds r7, r7, #8 2879 .LCFI66: 2880 .cfi_def_cfa_offset 8 2881 0102 BD46 mov sp, r7 2882 .LCFI67: 2883 .cfi_def_cfa_register 13 2884 @ sp needed 2885 0104 80BD pop {r7, pc} 2886 .L83: 2887 0106 00BF .align 2 2888 .L82: 2889 0108 00000000 .word msg_buf 2890 010c 00000000 .word ack_content 2891 0110 00000000 .word current_pmu_par 2892 0114 00000000 .word ack_content1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 65 2893 0118 00000000 .word ack_content2 2894 011c 00000000 .word crc 2895 .cfi_endproc 2896 .LFE145: 2898 .section .text.pmu_to_con_devtype_data,"ax",%progbits 2899 .align 1 2900 .global pmu_to_con_devtype_data 2901 .syntax unified 2902 .thumb 2903 .thumb_func 2905 pmu_to_con_devtype_data: 2906 .LFB146: 749:user_src/soft_p_2_c.c **** 750:user_src/soft_p_2_c.c **** 751:user_src/soft_p_2_c.c **** /** 752:user_src/soft_p_2_c.c **** * @file pmu_to_con_devtype_data 753:user_src/soft_p_2_c.c **** * @brief PMU发送播撒、称重、水泵、离心喷头、在位传感器信息 754:user_src/soft_p_2_c.c **** * @param none 755:user_src/soft_p_2_c.c **** * @details 756:user_src/soft_p_2_c.c **** * @author Zhang Sir 757:user_src/soft_p_2_c.c **** **/ 758:user_src/soft_p_2_c.c **** // void check_and_put_msg(uint8_t *buf, uint16_t len) 759:user_src/soft_p_2_c.c **** // { 760:user_src/soft_p_2_c.c **** // buf[1] = len - 6; 761:user_src/soft_p_2_c.c **** 762:user_src/soft_p_2_c.c **** // uint16_t crc = Get_Crc16(buf, len); 763:user_src/soft_p_2_c.c **** // msg_buf[len++] = crc; 764:user_src/soft_p_2_c.c **** // msg_buf[len++] = (crc >> 8) & 0xff; 765:user_src/soft_p_2_c.c **** 766:user_src/soft_p_2_c.c **** // uart2_send_msg(msg_buf, len); 767:user_src/soft_p_2_c.c **** // } 768:user_src/soft_p_2_c.c **** 769:user_src/soft_p_2_c.c **** void pmu_to_con_devtype_data(void) 770:user_src/soft_p_2_c.c **** { 2907 .loc 1 770 1 2908 .cfi_startproc 2909 @ args = 0, pretend = 0, frame = 8 2910 @ frame_needed = 1, uses_anonymous_args = 0 2911 0000 80B5 push {r7, lr} 2912 .LCFI68: 2913 .cfi_def_cfa_offset 8 2914 .cfi_offset 7, -8 2915 .cfi_offset 14, -4 2916 0002 82B0 sub sp, sp, #8 2917 .LCFI69: 2918 .cfi_def_cfa_offset 16 2919 0004 00AF add r7, sp, #0 2920 .LCFI70: 2921 .cfi_def_cfa_register 7 771:user_src/soft_p_2_c.c **** uint16_t index = 0; 2922 .loc 1 771 14 2923 0006 0023 movs r3, #0 2924 0008 FB80 strh r3, [r7, #6] @ movhi 772:user_src/soft_p_2_c.c **** bool send_flag = true; 2925 .loc 1 772 10 2926 000a 0123 movs r3, #1 2927 000c 7B71 strb r3, [r7, #5] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 66 773:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 2928 .loc 1 773 18 2929 000e FB88 ldrh r3, [r7, #6] 2930 0010 5A1C adds r2, r3, #1 2931 0012 FA80 strh r2, [r7, #6] @ movhi 2932 0014 1A46 mov r2, r3 2933 .loc 1 773 22 2934 0016 994B ldr r3, .L107 2935 0018 FE21 movs r1, #254 2936 001a 9954 strb r1, [r3, r2] 774:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 2937 .loc 1 774 18 2938 001c FB88 ldrh r3, [r7, #6] 2939 001e 5A1C adds r2, r3, #1 2940 0020 FA80 strh r2, [r7, #6] @ movhi 2941 0022 1A46 mov r2, r3 2942 .loc 1 774 22 2943 0024 954B ldr r3, .L107 2944 0026 0021 movs r1, #0 2945 0028 9954 strb r1, [r3, r2] 775:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; //组件计数 2946 .loc 1 775 18 2947 002a FB88 ldrh r3, [r7, #6] 2948 002c 5A1C adds r2, r3, #1 2949 002e FA80 strh r2, [r7, #6] @ movhi 2950 0030 1A46 mov r2, r3 2951 .loc 1 775 22 2952 0032 924B ldr r3, .L107 2953 0034 0021 movs r1, #0 2954 0036 9954 strb r1, [r3, r2] 776:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2955 .loc 1 776 18 2956 0038 FB88 ldrh r3, [r7, #6] 2957 003a 5A1C adds r2, r3, #1 2958 003c FA80 strh r2, [r7, #6] @ movhi 2959 003e 1A46 mov r2, r3 2960 .loc 1 776 22 2961 0040 8E4B ldr r3, .L107 2962 0042 0021 movs r1, #0 2963 0044 9954 strb r1, [r3, r2] 777:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 2964 .loc 1 777 18 2965 0046 FB88 ldrh r3, [r7, #6] 2966 0048 5A1C adds r2, r3, #1 2967 004a FA80 strh r2, [r7, #6] @ movhi 2968 004c 1A46 mov r2, r3 2969 .loc 1 777 22 2970 004e 8B4B ldr r3, .L107 2971 0050 0021 movs r1, #0 2972 0052 9954 strb r1, [r3, r2] 778:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_DEV_INFO; 2973 .loc 1 778 18 2974 0054 FB88 ldrh r3, [r7, #6] 2975 0056 5A1C adds r2, r3, #1 2976 0058 FA80 strh r2, [r7, #6] @ movhi 2977 005a 1A46 mov r2, r3 2978 .loc 1 778 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 67 2979 005c 874B ldr r3, .L107 2980 005e 0C21 movs r1, #12 2981 0060 9954 strb r1, [r3, r2] 779:user_src/soft_p_2_c.c **** 780:user_src/soft_p_2_c.c **** 781:user_src/soft_p_2_c.c **** if((Dev.Bms_Link.connect_status == COMP_NORMAL || _Aqx_bms_link.connect_status == COMP_NORMAL) 2982 .loc 1 781 21 2983 0062 874B ldr r3, .L107+4 2984 0064 93F8E031 ldrb r3, [r3, #480] @ zero_extendqisi2 2985 .loc 1 781 7 2986 0068 012B cmp r3, #1 2987 006a 03D0 beq .L85 2988 .loc 1 781 68 discriminator 2 2989 006c 854B ldr r3, .L107+8 2990 006e 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 2991 .loc 1 781 52 discriminator 2 2992 0070 012B cmp r3, #1 2993 0072 2FD1 bne .L86 2994 .L85: 782:user_src/soft_p_2_c.c **** devinfo_time.bms == true) 2995 .loc 1 782 21 discriminator 3 2996 0074 844B ldr r3, .L107+12 2997 0076 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 781:user_src/soft_p_2_c.c **** devinfo_time.bms == true) 2998 .loc 1 781 100 discriminator 3 2999 0078 002B cmp r3, #0 3000 007a 2BD0 beq .L86 783:user_src/soft_p_2_c.c **** { 784:user_src/soft_p_2_c.c **** if(Dev.Bms.facid == FAC_QX_BMS) 3001 .loc 1 784 19 3002 007c 804B ldr r3, .L107+4 3003 007e 93F8F030 ldrb r3, [r3, #240] @ zero_extendqisi2 3004 .loc 1 784 11 3005 0082 1E2B cmp r3, #30 3006 0084 07D1 bne .L87 785:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_QQ_BMS; 3007 .loc 1 785 26 3008 0086 FB88 ldrh r3, [r7, #6] 3009 0088 5A1C adds r2, r3, #1 3010 008a FA80 strh r2, [r7, #6] @ movhi 3011 008c 1A46 mov r2, r3 3012 .loc 1 785 30 3013 008e 7B4B ldr r3, .L107 3014 0090 1121 movs r1, #17 3015 0092 9954 strb r1, [r3, r2] 3016 0094 06E0 b .L88 3017 .L87: 786:user_src/soft_p_2_c.c **** else 787:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_BMS;//设备类型 3018 .loc 1 787 26 3019 0096 FB88 ldrh r3, [r7, #6] 3020 0098 5A1C adds r2, r3, #1 3021 009a FA80 strh r2, [r7, #6] @ movhi 3022 009c 1A46 mov r2, r3 3023 .loc 1 787 30 3024 009e 774B ldr r3, .L107 3025 00a0 0921 movs r1, #9 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 68 3026 00a2 9954 strb r1, [r3, r2] 3027 .L88: 788:user_src/soft_p_2_c.c **** 789:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Bms.facid,Dev.Bms.index + 1);//厂家id 3028 .loc 1 789 24 3029 00a4 FB88 ldrh r3, [r7, #6] 3030 .loc 1 789 16 3031 00a6 754A ldr r2, .L107 3032 00a8 1344 add r3, r3, r2 3033 .loc 1 789 54 3034 00aa 754A ldr r2, .L107+4 3035 00ac 92F8D721 ldrb r2, [r2, #471] @ zero_extendqisi2 3036 .loc 1 789 61 3037 00b0 0132 adds r2, r2, #1 3038 .loc 1 789 9 3039 00b2 7649 ldr r1, .L107+16 3040 00b4 1846 mov r0, r3 3041 00b6 FFF7FEFF bl memcpy 790:user_src/soft_p_2_c.c **** index += Dev.Bms.index + 1; 3042 .loc 1 790 25 3043 00ba 714B ldr r3, .L107+4 3044 00bc 93F8D731 ldrb r3, [r3, #471] @ zero_extendqisi2 3045 00c0 9AB2 uxth r2, r3 3046 .loc 1 790 15 3047 00c2 FB88 ldrh r3, [r7, #6] @ movhi 3048 00c4 1344 add r3, r3, r2 3049 00c6 9BB2 uxth r3, r3 3050 00c8 0133 adds r3, r3, #1 3051 00ca FB80 strh r3, [r7, #6] @ movhi 791:user_src/soft_p_2_c.c **** devinfo_time.bms = false; 3052 .loc 1 791 26 3053 00cc 6E4B ldr r3, .L107+12 3054 00ce 0022 movs r2, #0 3055 00d0 1A72 strb r2, [r3, #8] 3056 00d2 E4E1 b .L89 3057 .L86: 792:user_src/soft_p_2_c.c **** } 793:user_src/soft_p_2_c.c **** else if(devinfo_time.flow == true) 3058 .loc 1 793 25 3059 00d4 6C4B ldr r3, .L107+12 3060 00d6 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2 3061 .loc 1 793 12 3062 00d8 002B cmp r3, #0 3063 00da 15D0 beq .L90 794:user_src/soft_p_2_c.c **** { 795:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_FLOW; 3064 .loc 1 795 22 3065 00dc FB88 ldrh r3, [r7, #6] 3066 00de 5A1C adds r2, r3, #1 3067 00e0 FA80 strh r2, [r7, #6] @ movhi 3068 00e2 1A46 mov r2, r3 3069 .loc 1 795 26 3070 00e4 654B ldr r3, .L107 3071 00e6 0621 movs r1, #6 3072 00e8 9954 strb r1, [r3, r2] 796:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Flow.facid,sizeof(Flow_info)); 3073 .loc 1 796 24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 69 3074 00ea FB88 ldrh r3, [r7, #6] 3075 .loc 1 796 16 3076 00ec 634A ldr r2, .L107 3077 00ee 1344 add r3, r3, r2 3078 .loc 1 796 9 3079 00f0 1522 movs r2, #21 3080 00f2 6749 ldr r1, .L107+20 3081 00f4 1846 mov r0, r3 3082 00f6 FFF7FEFF bl memcpy 797:user_src/soft_p_2_c.c **** index += sizeof(Flow_info); 3083 .loc 1 797 15 3084 00fa FB88 ldrh r3, [r7, #6] @ movhi 3085 00fc 1533 adds r3, r3, #21 3086 00fe FB80 strh r3, [r7, #6] @ movhi 798:user_src/soft_p_2_c.c **** devinfo_time.flow = false; 3087 .loc 1 798 27 3088 0100 614B ldr r3, .L107+12 3089 0102 0022 movs r2, #0 3090 0104 5A71 strb r2, [r3, #5] 3091 0106 CAE1 b .L89 3092 .L90: 799:user_src/soft_p_2_c.c **** } 800:user_src/soft_p_2_c.c **** else if (devinfo_time.radar == true) 3093 .loc 1 800 26 3094 0108 5F4B ldr r3, .L107+12 3095 010a DB79 ldrb r3, [r3, #7] @ zero_extendqisi2 3096 .loc 1 800 13 3097 010c 002B cmp r3, #0 3098 010e 15D0 beq .L91 801:user_src/soft_p_2_c.c **** { 802:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_RADAR; 3099 .loc 1 802 22 3100 0110 FB88 ldrh r3, [r7, #6] 3101 0112 5A1C adds r2, r3, #1 3102 0114 FA80 strh r2, [r7, #6] @ movhi 3103 0116 1A46 mov r2, r3 3104 .loc 1 802 26 3105 0118 584B ldr r3, .L107 3106 011a 0821 movs r1, #8 3107 011c 9954 strb r1, [r3, r2] 803:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Radar.facid_T,sizeof(Radar_info)); 3108 .loc 1 803 24 3109 011e FB88 ldrh r3, [r7, #6] 3110 .loc 1 803 16 3111 0120 564A ldr r2, .L107 3112 0122 1344 add r3, r3, r2 3113 .loc 1 803 9 3114 0124 1B22 movs r2, #27 3115 0126 5B49 ldr r1, .L107+24 3116 0128 1846 mov r0, r3 3117 012a FFF7FEFF bl memcpy 804:user_src/soft_p_2_c.c **** index += sizeof(Radar_info); 3118 .loc 1 804 15 3119 012e FB88 ldrh r3, [r7, #6] @ movhi 3120 0130 1B33 adds r3, r3, #27 3121 0132 FB80 strh r3, [r7, #6] @ movhi 805:user_src/soft_p_2_c.c **** devinfo_time.radar = false; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 70 3122 .loc 1 805 28 3123 0134 544B ldr r3, .L107+12 3124 0136 0022 movs r2, #0 3125 0138 DA71 strb r2, [r3, #7] 3126 013a B0E1 b .L89 3127 .L91: 806:user_src/soft_p_2_c.c **** } 807:user_src/soft_p_2_c.c **** else if(devinfo_time.checklow == true) 3128 .loc 1 807 25 3129 013c 524B ldr r3, .L107+12 3130 013e 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2 3131 .loc 1 807 12 3132 0140 002B cmp r3, #0 3133 0142 15D0 beq .L92 808:user_src/soft_p_2_c.c **** { 809:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_CHECKLOW; 3134 .loc 1 809 22 3135 0144 FB88 ldrh r3, [r7, #6] 3136 0146 5A1C adds r2, r3, #1 3137 0148 FA80 strh r2, [r7, #6] @ movhi 3138 014a 1A46 mov r2, r3 3139 .loc 1 809 26 3140 014c 4B4B ldr r3, .L107 3141 014e 0721 movs r1, #7 3142 0150 9954 strb r1, [r3, r2] 810:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Checklow.facid,sizeof(CheckLow_info)); 3143 .loc 1 810 24 3144 0152 FB88 ldrh r3, [r7, #6] 3145 .loc 1 810 16 3146 0154 494A ldr r2, .L107 3147 0156 1344 add r3, r3, r2 3148 .loc 1 810 9 3149 0158 0F22 movs r2, #15 3150 015a 4F49 ldr r1, .L107+28 3151 015c 1846 mov r0, r3 3152 015e FFF7FEFF bl memcpy 811:user_src/soft_p_2_c.c **** index += sizeof(CheckLow_info); 3153 .loc 1 811 15 3154 0162 FB88 ldrh r3, [r7, #6] @ movhi 3155 0164 0F33 adds r3, r3, #15 3156 0166 FB80 strh r3, [r7, #6] @ movhi 812:user_src/soft_p_2_c.c **** devinfo_time.checklow = false; 3157 .loc 1 812 31 3158 0168 474B ldr r3, .L107+12 3159 016a 0022 movs r2, #0 3160 016c 9A71 strb r2, [r3, #6] 3161 016e 96E1 b .L89 3162 .L92: 813:user_src/soft_p_2_c.c **** } 814:user_src/soft_p_2_c.c **** else if(Dev.Part_Tradar_Link.connect_status == COMP_NORMAL && devinfo_time.part_radar == true) 3163 .loc 1 814 33 3164 0170 434B ldr r3, .L107+4 3165 0172 93F83C32 ldrb r3, [r3, #572] @ zero_extendqisi2 3166 .loc 1 814 12 3167 0176 012B cmp r3, #1 3168 0178 19D1 bne .L93 3169 .loc 1 814 79 discriminator 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 71 3170 017a 434B ldr r3, .L107+12 3171 017c 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2 3172 .loc 1 814 64 discriminator 1 3173 017e 002B cmp r3, #0 3174 0180 15D0 beq .L93 815:user_src/soft_p_2_c.c **** { 816:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_PART_RADAR; 3175 .loc 1 816 22 3176 0182 FB88 ldrh r3, [r7, #6] 3177 0184 5A1C adds r2, r3, #1 3178 0186 FA80 strh r2, [r7, #6] @ movhi 3179 0188 1A46 mov r2, r3 3180 .loc 1 816 26 3181 018a 3C4B ldr r3, .L107 3182 018c 0E21 movs r1, #14 3183 018e 9954 strb r1, [r3, r2] 817:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Part_radarT.facid,sizeof(Part_Tradar)); 3184 .loc 1 817 24 3185 0190 FB88 ldrh r3, [r7, #6] 3186 .loc 1 817 16 3187 0192 3A4A ldr r2, .L107 3188 0194 1344 add r3, r3, r2 3189 .loc 1 817 9 3190 0196 0722 movs r2, #7 3191 0198 4049 ldr r1, .L107+32 3192 019a 1846 mov r0, r3 3193 019c FFF7FEFF bl memcpy 818:user_src/soft_p_2_c.c **** index += sizeof(Part_Tradar); 3194 .loc 1 818 15 3195 01a0 FB88 ldrh r3, [r7, #6] @ movhi 3196 01a2 0733 adds r3, r3, #7 3197 01a4 FB80 strh r3, [r7, #6] @ movhi 819:user_src/soft_p_2_c.c **** devinfo_time.part_radar = false; 3198 .loc 1 819 33 3199 01a6 384B ldr r3, .L107+12 3200 01a8 0022 movs r2, #0 3201 01aa 1A73 strb r2, [r3, #12] 3202 01ac 77E1 b .L89 3203 .L93: 820:user_src/soft_p_2_c.c **** } 821:user_src/soft_p_2_c.c **** else if((Dev.Part_Fradar_Link.connect_status == COMP_NORMAL && Dev.Part_radarF.facid == FAC_DM_ 3204 .loc 1 821 34 3205 01ae 344B ldr r3, .L107+4 3206 01b0 93F85C32 ldrb r3, [r3, #604] @ zero_extendqisi2 3207 .loc 1 821 12 3208 01b4 012B cmp r3, #1 3209 01b6 1ED1 bne .L94 3210 .loc 1 821 83 discriminator 1 3211 01b8 314B ldr r3, .L107+4 3212 01ba 93F84032 ldrb r3, [r3, #576] @ zero_extendqisi2 3213 .loc 1 821 65 discriminator 1 3214 01be 252B cmp r3, #37 3215 01c0 19D1 bne .L94 3216 .loc 1 821 122 discriminator 2 3217 01c2 314B ldr r3, .L107+12 3218 01c4 9B7B ldrb r3, [r3, #14] @ zero_extendqisi2 3219 .loc 1 821 107 discriminator 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 72 3220 01c6 002B cmp r3, #0 3221 01c8 15D0 beq .L94 822:user_src/soft_p_2_c.c **** { 823:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_PART_FRADAR; 3222 .loc 1 823 22 3223 01ca FB88 ldrh r3, [r7, #6] 3224 01cc 5A1C adds r2, r3, #1 3225 01ce FA80 strh r2, [r7, #6] @ movhi 3226 01d0 1A46 mov r2, r3 3227 .loc 1 823 26 3228 01d2 2A4B ldr r3, .L107 3229 01d4 0F21 movs r1, #15 3230 01d6 9954 strb r1, [r3, r2] 824:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Part_radarF.facid,sizeof(Part_Fradar)); 3231 .loc 1 824 24 3232 01d8 FB88 ldrh r3, [r7, #6] 3233 .loc 1 824 16 3234 01da 284A ldr r2, .L107 3235 01dc 1344 add r3, r3, r2 3236 .loc 1 824 9 3237 01de 1322 movs r2, #19 3238 01e0 2F49 ldr r1, .L107+36 3239 01e2 1846 mov r0, r3 3240 01e4 FFF7FEFF bl memcpy 825:user_src/soft_p_2_c.c **** index += sizeof(Part_Fradar); 3241 .loc 1 825 15 3242 01e8 FB88 ldrh r3, [r7, #6] @ movhi 3243 01ea 1333 adds r3, r3, #19 3244 01ec FB80 strh r3, [r7, #6] @ movhi 826:user_src/soft_p_2_c.c **** devinfo_time.part_Fradar = false; 3245 .loc 1 826 34 3246 01ee 264B ldr r3, .L107+12 3247 01f0 0022 movs r2, #0 3248 01f2 9A73 strb r2, [r3, #14] 3249 01f4 53E1 b .L89 3250 .L94: 827:user_src/soft_p_2_c.c **** } 828:user_src/soft_p_2_c.c **** else if((Dev.Part_Bradar_Link.connect_status == COMP_NORMAL && Dev.Part_radarB.facid == FAC_DM_ 3251 .loc 1 828 34 3252 01f6 224B ldr r3, .L107+4 3253 01f8 93F89032 ldrb r3, [r3, #656] @ zero_extendqisi2 3254 .loc 1 828 12 3255 01fc 012B cmp r3, #1 3256 01fe 1ED1 bne .L95 3257 .loc 1 828 83 discriminator 1 3258 0200 1F4B ldr r3, .L107+4 3259 0202 93F87432 ldrb r3, [r3, #628] @ zero_extendqisi2 3260 .loc 1 828 65 discriminator 1 3261 0206 262B cmp r3, #38 3262 0208 19D1 bne .L95 3263 .loc 1 828 122 discriminator 2 3264 020a 1F4B ldr r3, .L107+12 3265 020c DB7B ldrb r3, [r3, #15] @ zero_extendqisi2 3266 .loc 1 828 107 discriminator 2 3267 020e 002B cmp r3, #0 3268 0210 15D0 beq .L95 829:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 73 830:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_PART_BRADAR; 3269 .loc 1 830 22 3270 0212 FB88 ldrh r3, [r7, #6] 3271 0214 5A1C adds r2, r3, #1 3272 0216 FA80 strh r2, [r7, #6] @ movhi 3273 0218 1A46 mov r2, r3 3274 .loc 1 830 26 3275 021a 184B ldr r3, .L107 3276 021c 1021 movs r1, #16 3277 021e 9954 strb r1, [r3, r2] 831:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Part_radarB.facid,sizeof(Part_Fradar)); 3278 .loc 1 831 24 3279 0220 FB88 ldrh r3, [r7, #6] 3280 .loc 1 831 16 3281 0222 164A ldr r2, .L107 3282 0224 1344 add r3, r3, r2 3283 .loc 1 831 9 3284 0226 1322 movs r2, #19 3285 0228 1E49 ldr r1, .L107+40 3286 022a 1846 mov r0, r3 3287 022c FFF7FEFF bl memcpy 832:user_src/soft_p_2_c.c **** index += sizeof(Part_Fradar); 3288 .loc 1 832 15 3289 0230 FB88 ldrh r3, [r7, #6] @ movhi 3290 0232 1333 adds r3, r3, #19 3291 0234 FB80 strh r3, [r7, #6] @ movhi 833:user_src/soft_p_2_c.c **** devinfo_time.part_Bradar = false; 3292 .loc 1 833 34 3293 0236 144B ldr r3, .L107+12 3294 0238 0022 movs r2, #0 3295 023a DA73 strb r2, [r3, #15] 3296 023c 2FE1 b .L89 3297 .L95: 834:user_src/soft_p_2_c.c **** } 835:user_src/soft_p_2_c.c **** // else if(Dev.Bms_Link.connect_status == COMP_NORMAL && devinfo_time.bms == true) 836:user_src/soft_p_2_c.c **** // { 837:user_src/soft_p_2_c.c **** // msg_buf[index++] = DEV_BMS; 838:user_src/soft_p_2_c.c **** // memcpy(&msg_buf[index],&Dev.Bms.facid,Dev.Bms.index + 1); 839:user_src/soft_p_2_c.c **** // index += Dev.Bms.index + 1; 840:user_src/soft_p_2_c.c **** // devinfo_time.bms = false; 841:user_src/soft_p_2_c.c **** // } 842:user_src/soft_p_2_c.c **** else if(Dev.L_pump1_Link.connect_status == COMP_NORMAL && devinfo_time.L_pump1 == true) 3298 .loc 1 842 29 3299 023e 104B ldr r3, .L107+4 3300 0240 93F81432 ldrb r3, [r3, #532] @ zero_extendqisi2 3301 .loc 1 842 12 3302 0244 012B cmp r3, #1 3303 0246 31D1 bne .L96 3304 .loc 1 842 75 discriminator 1 3305 0248 0F4B ldr r3, .L107+12 3306 024a 9B7A ldrb r3, [r3, #10] @ zero_extendqisi2 3307 .loc 1 842 60 discriminator 1 3308 024c 002B cmp r3, #0 3309 024e 2DD0 beq .L96 843:user_src/soft_p_2_c.c **** { 844:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_L_PUMP1; 3310 .loc 1 844 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 74 3311 0250 FB88 ldrh r3, [r7, #6] 3312 0252 5A1C adds r2, r3, #1 3313 0254 FA80 strh r2, [r7, #6] @ movhi 3314 0256 1A46 mov r2, r3 3315 .loc 1 844 26 3316 0258 084B ldr r3, .L107 3317 025a 0C21 movs r1, #12 3318 025c 9954 strb r1, [r3, r2] 845:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.L_pump1.facid,sizeof(Linear_pump_info)); 3319 .loc 1 845 24 3320 025e FB88 ldrh r3, [r7, #6] 3321 .loc 1 845 16 3322 0260 064A ldr r2, .L107 3323 0262 1344 add r3, r3, r2 3324 .loc 1 845 9 3325 0264 0522 movs r2, #5 3326 0266 1049 ldr r1, .L107+44 3327 0268 1846 mov r0, r3 3328 026a FFF7FEFF bl memcpy 846:user_src/soft_p_2_c.c **** index += sizeof(Linear_pump_info); 3329 .loc 1 846 15 3330 026e FB88 ldrh r3, [r7, #6] @ movhi 3331 0270 0533 adds r3, r3, #5 3332 0272 FB80 strh r3, [r7, #6] @ movhi 847:user_src/soft_p_2_c.c **** devinfo_time.L_pump1 = false; 3333 .loc 1 847 30 3334 0274 044B ldr r3, .L107+12 3335 0276 0022 movs r2, #0 3336 0278 9A72 strb r2, [r3, #10] 3337 027a 10E1 b .L89 3338 .L108: 3339 .align 2 3340 .L107: 3341 027c 00000000 .word msg_buf 3342 0280 00000000 .word Dev 3343 0284 00000000 .word _Aqx_bms_link 3344 0288 00000000 .word devinfo_time 3345 028c F0000000 .word Dev+240 3346 0290 7C000000 .word Dev+124 3347 0294 C8000000 .word Dev+200 3348 0298 AC000000 .word Dev+172 3349 029c 2C020000 .word Dev+556 3350 02a0 40020000 .word Dev+576 3351 02a4 74020000 .word Dev+628 3352 02a8 04020000 .word Dev+516 3353 .L96: 848:user_src/soft_p_2_c.c **** } 849:user_src/soft_p_2_c.c **** else if(Dev.L_pump2_Link.connect_status == COMP_NORMAL && devinfo_time.L_pump2 == true) 3354 .loc 1 849 29 3355 02ac 944B ldr r3, .L109 3356 02ae 93F82832 ldrb r3, [r3, #552] @ zero_extendqisi2 3357 .loc 1 849 12 3358 02b2 012B cmp r3, #1 3359 02b4 19D1 bne .L97 3360 .loc 1 849 75 discriminator 1 3361 02b6 934B ldr r3, .L109+4 3362 02b8 DB7A ldrb r3, [r3, #11] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 75 3363 .loc 1 849 60 discriminator 1 3364 02ba 002B cmp r3, #0 3365 02bc 15D0 beq .L97 850:user_src/soft_p_2_c.c **** { 851:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_L_PUMP2; 3366 .loc 1 851 22 3367 02be FB88 ldrh r3, [r7, #6] 3368 02c0 5A1C adds r2, r3, #1 3369 02c2 FA80 strh r2, [r7, #6] @ movhi 3370 02c4 1A46 mov r2, r3 3371 .loc 1 851 26 3372 02c6 904B ldr r3, .L109+8 3373 02c8 0D21 movs r1, #13 3374 02ca 9954 strb r1, [r3, r2] 852:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.L_pump2.facid,sizeof(Linear_pump_info)); 3375 .loc 1 852 24 3376 02cc FB88 ldrh r3, [r7, #6] 3377 .loc 1 852 16 3378 02ce 8E4A ldr r2, .L109+8 3379 02d0 1344 add r3, r3, r2 3380 .loc 1 852 9 3381 02d2 0522 movs r2, #5 3382 02d4 8D49 ldr r1, .L109+12 3383 02d6 1846 mov r0, r3 3384 02d8 FFF7FEFF bl memcpy 853:user_src/soft_p_2_c.c **** index += sizeof(Linear_pump_info); 3385 .loc 1 853 15 3386 02dc FB88 ldrh r3, [r7, #6] @ movhi 3387 02de 0533 adds r3, r3, #5 3388 02e0 FB80 strh r3, [r7, #6] @ movhi 854:user_src/soft_p_2_c.c **** devinfo_time.L_pump2 = false; 3389 .loc 1 854 30 3390 02e2 884B ldr r3, .L109+4 3391 02e4 0022 movs r2, #0 3392 02e6 DA72 strb r2, [r3, #11] 3393 02e8 D9E0 b .L89 3394 .L97: 855:user_src/soft_p_2_c.c **** } 856:user_src/soft_p_2_c.c **** else if(Dev.Weight_Link.connect_status == COMP_NORMAL && devinfo_time.weight == true) 3395 .loc 1 856 28 3396 02ea 854B ldr r3, .L109 3397 02ec 93F83830 ldrb r3, [r3, #56] @ zero_extendqisi2 3398 .loc 1 856 12 3399 02f0 012B cmp r3, #1 3400 02f2 19D1 bne .L98 3401 .loc 1 856 74 discriminator 1 3402 02f4 834B ldr r3, .L109+4 3403 02f6 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 3404 .loc 1 856 59 discriminator 1 3405 02f8 002B cmp r3, #0 3406 02fa 15D0 beq .L98 857:user_src/soft_p_2_c.c **** { 858:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_WEIGHT; 3407 .loc 1 858 22 3408 02fc FB88 ldrh r3, [r7, #6] 3409 02fe 5A1C adds r2, r3, #1 3410 0300 FA80 strh r2, [r7, #6] @ movhi ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 76 3411 0302 1A46 mov r2, r3 3412 .loc 1 858 26 3413 0304 804B ldr r3, .L109+8 3414 0306 0221 movs r1, #2 3415 0308 9954 strb r1, [r3, r2] 859:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Weight.facid,sizeof(Weight_info)); 3416 .loc 1 859 24 3417 030a FB88 ldrh r3, [r7, #6] 3418 .loc 1 859 16 3419 030c 7E4A ldr r2, .L109+8 3420 030e 1344 add r3, r3, r2 3421 .loc 1 859 9 3422 0310 1C22 movs r2, #28 3423 0312 7F49 ldr r1, .L109+16 3424 0314 1846 mov r0, r3 3425 0316 FFF7FEFF bl memcpy 860:user_src/soft_p_2_c.c **** index += sizeof(Weight_info); 3426 .loc 1 860 15 3427 031a FB88 ldrh r3, [r7, #6] @ movhi 3428 031c 1C33 adds r3, r3, #28 3429 031e FB80 strh r3, [r7, #6] @ movhi 861:user_src/soft_p_2_c.c **** devinfo_time.weight = false; 3430 .loc 1 861 29 3431 0320 784B ldr r3, .L109+4 3432 0322 0022 movs r2, #0 3433 0324 5A70 strb r2, [r3, #1] 3434 0326 BAE0 b .L89 3435 .L98: 862:user_src/soft_p_2_c.c **** } 863:user_src/soft_p_2_c.c **** else if(Dev.Seed_Link.connect_status == COMP_NORMAL && devinfo_time.seed == true) 3436 .loc 1 863 26 3437 0328 754B ldr r3, .L109 3438 032a 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 3439 .loc 1 863 12 3440 032c 012B cmp r3, #1 3441 032e 19D1 bne .L99 3442 .loc 1 863 72 discriminator 1 3443 0330 744B ldr r3, .L109+4 3444 0332 1B78 ldrb r3, [r3] @ zero_extendqisi2 3445 .loc 1 863 57 discriminator 1 3446 0334 002B cmp r3, #0 3447 0336 15D0 beq .L99 864:user_src/soft_p_2_c.c **** { 865:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_SEED; 3448 .loc 1 865 22 3449 0338 FB88 ldrh r3, [r7, #6] 3450 033a 5A1C adds r2, r3, #1 3451 033c FA80 strh r2, [r7, #6] @ movhi 3452 033e 1A46 mov r2, r3 3453 .loc 1 865 26 3454 0340 714B ldr r3, .L109+8 3455 0342 0121 movs r1, #1 3456 0344 9954 strb r1, [r3, r2] 866:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Seed.facid,sizeof(Seed_info)); 3457 .loc 1 866 24 3458 0346 FB88 ldrh r3, [r7, #6] 3459 .loc 1 866 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 77 3460 0348 6F4A ldr r2, .L109+8 3461 034a 1344 add r3, r3, r2 3462 .loc 1 866 9 3463 034c 0722 movs r2, #7 3464 034e 6C49 ldr r1, .L109 3465 0350 1846 mov r0, r3 3466 0352 FFF7FEFF bl memcpy 867:user_src/soft_p_2_c.c **** index += sizeof(Seed_info); 3467 .loc 1 867 15 3468 0356 FB88 ldrh r3, [r7, #6] @ movhi 3469 0358 0733 adds r3, r3, #7 3470 035a FB80 strh r3, [r7, #6] @ movhi 868:user_src/soft_p_2_c.c **** devinfo_time.seed = false; 3471 .loc 1 868 27 3472 035c 694B ldr r3, .L109+4 3473 035e 0022 movs r2, #0 3474 0360 1A70 strb r2, [r3] 3475 0362 9CE0 b .L89 3476 .L99: 869:user_src/soft_p_2_c.c **** } 870:user_src/soft_p_2_c.c **** else if (Dev.Pump_Link.connect_status == COMP_NORMAL && devinfo_time.pump == true) 3477 .loc 1 870 27 3478 0364 664B ldr r3, .L109 3479 0366 93F85030 ldrb r3, [r3, #80] @ zero_extendqisi2 3480 .loc 1 870 13 3481 036a 012B cmp r3, #1 3482 036c 19D1 bne .L100 3483 .loc 1 870 73 discriminator 1 3484 036e 654B ldr r3, .L109+4 3485 0370 9B78 ldrb r3, [r3, #2] @ zero_extendqisi2 3486 .loc 1 870 58 discriminator 1 3487 0372 002B cmp r3, #0 3488 0374 15D0 beq .L100 871:user_src/soft_p_2_c.c **** { 872:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_PUMP; 3489 .loc 1 872 22 3490 0376 FB88 ldrh r3, [r7, #6] 3491 0378 5A1C adds r2, r3, #1 3492 037a FA80 strh r2, [r7, #6] @ movhi 3493 037c 1A46 mov r2, r3 3494 .loc 1 872 26 3495 037e 624B ldr r3, .L109+8 3496 0380 0321 movs r1, #3 3497 0382 9954 strb r1, [r3, r2] 873:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Pump.facid,sizeof(Pump_info)); 3498 .loc 1 873 24 3499 0384 FB88 ldrh r3, [r7, #6] 3500 .loc 1 873 16 3501 0386 604A ldr r2, .L109+8 3502 0388 1344 add r3, r3, r2 3503 .loc 1 873 9 3504 038a 0B22 movs r2, #11 3505 038c 6149 ldr r1, .L109+20 3506 038e 1846 mov r0, r3 3507 0390 FFF7FEFF bl memcpy 874:user_src/soft_p_2_c.c **** index += sizeof(Pump_info); 3508 .loc 1 874 15 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 78 3509 0394 FB88 ldrh r3, [r7, #6] @ movhi 3510 0396 0B33 adds r3, r3, #11 3511 0398 FB80 strh r3, [r7, #6] @ movhi 875:user_src/soft_p_2_c.c **** devinfo_time.pump = false; 3512 .loc 1 875 27 3513 039a 5A4B ldr r3, .L109+4 3514 039c 0022 movs r2, #0 3515 039e 9A70 strb r2, [r3, #2] 3516 03a0 7DE0 b .L89 3517 .L100: 876:user_src/soft_p_2_c.c **** } 877:user_src/soft_p_2_c.c **** else if (Dev.Nozzle_Link.connect_status == COMP_NORMAL && devinfo_time.nozzle == true) 3518 .loc 1 877 29 3519 03a2 574B ldr r3, .L109 3520 03a4 93F86830 ldrb r3, [r3, #104] @ zero_extendqisi2 3521 .loc 1 877 13 3522 03a8 012B cmp r3, #1 3523 03aa 19D1 bne .L101 3524 .loc 1 877 75 discriminator 1 3525 03ac 554B ldr r3, .L109+4 3526 03ae DB78 ldrb r3, [r3, #3] @ zero_extendqisi2 3527 .loc 1 877 60 discriminator 1 3528 03b0 002B cmp r3, #0 3529 03b2 15D0 beq .L101 878:user_src/soft_p_2_c.c **** { 879:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_NOZZLE; 3530 .loc 1 879 22 3531 03b4 FB88 ldrh r3, [r7, #6] 3532 03b6 5A1C adds r2, r3, #1 3533 03b8 FA80 strh r2, [r7, #6] @ movhi 3534 03ba 1A46 mov r2, r3 3535 .loc 1 879 26 3536 03bc 524B ldr r3, .L109+8 3537 03be 0421 movs r1, #4 3538 03c0 9954 strb r1, [r3, r2] 880:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Nozzle.facid,sizeof(Nozzle_info)); 3539 .loc 1 880 24 3540 03c2 FB88 ldrh r3, [r7, #6] 3541 .loc 1 880 16 3542 03c4 504A ldr r2, .L109+8 3543 03c6 1344 add r3, r3, r2 3544 .loc 1 880 9 3545 03c8 0B22 movs r2, #11 3546 03ca 5349 ldr r1, .L109+24 3547 03cc 1846 mov r0, r3 3548 03ce FFF7FEFF bl memcpy 881:user_src/soft_p_2_c.c **** index += sizeof(Nozzle_info); 3549 .loc 1 881 15 3550 03d2 FB88 ldrh r3, [r7, #6] @ movhi 3551 03d4 0B33 adds r3, r3, #11 3552 03d6 FB80 strh r3, [r7, #6] @ movhi 882:user_src/soft_p_2_c.c **** devinfo_time.nozzle = false; 3553 .loc 1 882 29 3554 03d8 4A4B ldr r3, .L109+4 3555 03da 0022 movs r2, #0 3556 03dc DA70 strb r2, [r3, #3] 3557 03de 5EE0 b .L89 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 79 3558 .L101: 883:user_src/soft_p_2_c.c **** } 884:user_src/soft_p_2_c.c **** else if (Dev.Arm_Link.connect_status == COMP_NORMAL && devinfo_time.arm == true) 3559 .loc 1 884 26 3560 03e0 474B ldr r3, .L109 3561 03e2 93F87830 ldrb r3, [r3, #120] @ zero_extendqisi2 3562 .loc 1 884 13 3563 03e6 012B cmp r3, #1 3564 03e8 19D1 bne .L102 3565 .loc 1 884 72 discriminator 1 3566 03ea 464B ldr r3, .L109+4 3567 03ec 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 3568 .loc 1 884 57 discriminator 1 3569 03ee 002B cmp r3, #0 3570 03f0 15D0 beq .L102 885:user_src/soft_p_2_c.c **** { 886:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_ARM; 3571 .loc 1 886 22 3572 03f2 FB88 ldrh r3, [r7, #6] 3573 03f4 5A1C adds r2, r3, #1 3574 03f6 FA80 strh r2, [r7, #6] @ movhi 3575 03f8 1A46 mov r2, r3 3576 .loc 1 886 26 3577 03fa 434B ldr r3, .L109+8 3578 03fc 0521 movs r1, #5 3579 03fe 9954 strb r1, [r3, r2] 887:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Arm.facid,sizeof(Arm_info)); 3580 .loc 1 887 24 3581 0400 FB88 ldrh r3, [r7, #6] 3582 .loc 1 887 16 3583 0402 414A ldr r2, .L109+8 3584 0404 1344 add r3, r3, r2 3585 .loc 1 887 9 3586 0406 0322 movs r2, #3 3587 0408 4449 ldr r1, .L109+28 3588 040a 1846 mov r0, r3 3589 040c FFF7FEFF bl memcpy 888:user_src/soft_p_2_c.c **** index += sizeof(Arm_info); 3590 .loc 1 888 15 3591 0410 FB88 ldrh r3, [r7, #6] @ movhi 3592 0412 0333 adds r3, r3, #3 3593 0414 FB80 strh r3, [r7, #6] @ movhi 889:user_src/soft_p_2_c.c **** devinfo_time.arm = false; 3594 .loc 1 889 26 3595 0416 3B4B ldr r3, .L109+4 3596 0418 0022 movs r2, #0 3597 041a 1A71 strb r2, [r3, #4] 3598 041c 3FE0 b .L89 3599 .L102: 890:user_src/soft_p_2_c.c **** } 891:user_src/soft_p_2_c.c **** else if(Dev.Current_Link.connect_status == COMP_NORMAL && devinfo_time.current == true) 3600 .loc 1 891 29 3601 041e 384B ldr r3, .L109 3602 0420 93F8F431 ldrb r3, [r3, #500] @ zero_extendqisi2 3603 .loc 1 891 12 3604 0424 012B cmp r3, #1 3605 0426 19D1 bne .L103 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 80 3606 .loc 1 891 75 discriminator 1 3607 0428 364B ldr r3, .L109+4 3608 042a 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2 3609 .loc 1 891 60 discriminator 1 3610 042c 002B cmp r3, #0 3611 042e 15D0 beq .L103 892:user_src/soft_p_2_c.c **** { 893:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_CURRENT; 3612 .loc 1 893 22 3613 0430 FB88 ldrh r3, [r7, #6] 3614 0432 5A1C adds r2, r3, #1 3615 0434 FA80 strh r2, [r7, #6] @ movhi 3616 0436 1A46 mov r2, r3 3617 .loc 1 893 26 3618 0438 334B ldr r3, .L109+8 3619 043a 0B21 movs r1, #11 3620 043c 9954 strb r1, [r3, r2] 894:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Current.facid,sizeof(Current_info)); 3621 .loc 1 894 24 3622 043e FB88 ldrh r3, [r7, #6] 3623 .loc 1 894 16 3624 0440 314A ldr r2, .L109+8 3625 0442 1344 add r3, r3, r2 3626 .loc 1 894 9 3627 0444 0722 movs r2, #7 3628 0446 3649 ldr r1, .L109+32 3629 0448 1846 mov r0, r3 3630 044a FFF7FEFF bl memcpy 895:user_src/soft_p_2_c.c **** index += sizeof(Current_info); 3631 .loc 1 895 15 3632 044e FB88 ldrh r3, [r7, #6] @ movhi 3633 0450 0733 adds r3, r3, #7 3634 0452 FB80 strh r3, [r7, #6] @ movhi 896:user_src/soft_p_2_c.c **** devinfo_time.current = false; 3635 .loc 1 896 30 3636 0454 2B4B ldr r3, .L109+4 3637 0456 0022 movs r2, #0 3638 0458 5A72 strb r2, [r3, #9] 3639 045a 20E0 b .L89 3640 .L103: 897:user_src/soft_p_2_c.c **** } 898:user_src/soft_p_2_c.c **** else if(Dev.Temp_Sensor_Link.connect_status == COMP_NORMAL && devinfo_time.tempSensor == true) 3641 .loc 1 898 33 3642 045c 284B ldr r3, .L109 3643 045e 93F87032 ldrb r3, [r3, #624] @ zero_extendqisi2 3644 .loc 1 898 12 3645 0462 012B cmp r3, #1 3646 0464 19D1 bne .L104 3647 .loc 1 898 79 discriminator 1 3648 0466 274B ldr r3, .L109+4 3649 0468 5B7B ldrb r3, [r3, #13] @ zero_extendqisi2 3650 .loc 1 898 64 discriminator 1 3651 046a 002B cmp r3, #0 3652 046c 15D0 beq .L104 899:user_src/soft_p_2_c.c **** { 900:user_src/soft_p_2_c.c **** msg_buf[index++] = DEV_TEMPSENSOR; 3653 .loc 1 900 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 81 3654 046e FB88 ldrh r3, [r7, #6] 3655 0470 5A1C adds r2, r3, #1 3656 0472 FA80 strh r2, [r7, #6] @ movhi 3657 0474 1A46 mov r2, r3 3658 .loc 1 900 26 3659 0476 244B ldr r3, .L109+8 3660 0478 1221 movs r1, #18 3661 047a 9954 strb r1, [r3, r2] 901:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&Dev.Temp_sensor.facid,sizeof(_Temp_sensor)); 3662 .loc 1 901 24 3663 047c FB88 ldrh r3, [r7, #6] 3664 .loc 1 901 16 3665 047e 224A ldr r2, .L109+8 3666 0480 1344 add r3, r3, r2 3667 .loc 1 901 9 3668 0482 0522 movs r2, #5 3669 0484 2749 ldr r1, .L109+36 3670 0486 1846 mov r0, r3 3671 0488 FFF7FEFF bl memcpy 902:user_src/soft_p_2_c.c **** index += sizeof(_Temp_sensor); 3672 .loc 1 902 15 3673 048c FB88 ldrh r3, [r7, #6] @ movhi 3674 048e 0533 adds r3, r3, #5 3675 0490 FB80 strh r3, [r7, #6] @ movhi 903:user_src/soft_p_2_c.c **** devinfo_time.tempSensor = false; 3676 .loc 1 903 33 3677 0492 1C4B ldr r3, .L109+4 3678 0494 0022 movs r2, #0 3679 0496 5A73 strb r2, [r3, #13] 3680 0498 01E0 b .L89 3681 .L104: 904:user_src/soft_p_2_c.c **** } 905:user_src/soft_p_2_c.c **** else 906:user_src/soft_p_2_c.c **** { 907:user_src/soft_p_2_c.c **** send_flag = false; 3682 .loc 1 907 19 3683 049a 0023 movs r3, #0 3684 049c 7B71 strb r3, [r7, #5] 3685 .L89: 908:user_src/soft_p_2_c.c **** } 909:user_src/soft_p_2_c.c **** 910:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 3686 .loc 1 910 24 3687 049e FB88 ldrh r3, [r7, #6] @ movhi 3688 04a0 DBB2 uxtb r3, r3 3689 04a2 063B subs r3, r3, #6 3690 04a4 DAB2 uxtb r2, r3 3691 .loc 1 910 16 3692 04a6 184B ldr r3, .L109+8 3693 04a8 5A70 strb r2, [r3, #1] 911:user_src/soft_p_2_c.c **** 912:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 3694 .loc 1 912 11 3695 04aa FB88 ldrh r3, [r7, #6] 3696 04ac 1946 mov r1, r3 3697 04ae 1648 ldr r0, .L109+8 3698 04b0 FFF7FEFF bl Get_Crc16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 82 3699 04b4 0346 mov r3, r0 3700 04b6 1A46 mov r2, r3 3701 .loc 1 912 9 3702 04b8 1B4B ldr r3, .L109+40 3703 04ba 1A80 strh r2, [r3] @ movhi 913:user_src/soft_p_2_c.c **** msg_buf[index++] = crc; 3704 .loc 1 913 22 3705 04bc 1A4B ldr r3, .L109+40 3706 04be 1988 ldrh r1, [r3] 3707 .loc 1 913 18 3708 04c0 FB88 ldrh r3, [r7, #6] 3709 04c2 5A1C adds r2, r3, #1 3710 04c4 FA80 strh r2, [r7, #6] @ movhi 3711 04c6 1A46 mov r2, r3 3712 .loc 1 913 22 3713 04c8 C9B2 uxtb r1, r1 3714 04ca 0F4B ldr r3, .L109+8 3715 04cc 9954 strb r1, [r3, r2] 914:user_src/soft_p_2_c.c **** msg_buf[index++] = (crc >> 8) & 0xff; 3716 .loc 1 914 22 3717 04ce 164B ldr r3, .L109+40 3718 04d0 1B88 ldrh r3, [r3] 3719 04d2 1B0A lsrs r3, r3, #8 3720 04d4 99B2 uxth r1, r3 3721 .loc 1 914 18 3722 04d6 FB88 ldrh r3, [r7, #6] 3723 04d8 5A1C adds r2, r3, #1 3724 04da FA80 strh r2, [r7, #6] @ movhi 3725 04dc 1A46 mov r2, r3 3726 .loc 1 914 22 3727 04de C9B2 uxtb r1, r1 3728 04e0 094B ldr r3, .L109+8 3729 04e2 9954 strb r1, [r3, r2] 915:user_src/soft_p_2_c.c **** 916:user_src/soft_p_2_c.c **** if(send_flag == true) 3730 .loc 1 916 7 3731 04e4 7B79 ldrb r3, [r7, #5] @ zero_extendqisi2 3732 04e6 002B cmp r3, #0 3733 04e8 05D0 beq .L106 917:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 3734 .loc 1 917 9 3735 04ea FB88 ldrh r3, [r7, #6] @ movhi 3736 04ec DBB2 uxtb r3, r3 3737 04ee 1946 mov r1, r3 3738 04f0 0548 ldr r0, .L109+8 3739 04f2 FFF7FEFF bl uart2_send_msg 3740 .L106: 918:user_src/soft_p_2_c.c **** } 3741 .loc 1 918 1 3742 04f6 00BF nop 3743 04f8 0837 adds r7, r7, #8 3744 .LCFI71: 3745 .cfi_def_cfa_offset 8 3746 04fa BD46 mov sp, r7 3747 .LCFI72: 3748 .cfi_def_cfa_register 13 3749 @ sp needed ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 83 3750 04fc 80BD pop {r7, pc} 3751 .L110: 3752 04fe 00BF .align 2 3753 .L109: 3754 0500 00000000 .word Dev 3755 0504 00000000 .word devinfo_time 3756 0508 00000000 .word msg_buf 3757 050c 18020000 .word Dev+536 3758 0510 14000000 .word Dev+20 3759 0514 3C000000 .word Dev+60 3760 0518 54000000 .word Dev+84 3761 051c 6C000000 .word Dev+108 3762 0520 E4010000 .word Dev+484 3763 0524 60020000 .word Dev+608 3764 0528 00000000 .word crc 3765 .cfi_endproc 3766 .LFE146: 3768 .section .rodata 3769 .align 2 3770 .LC0: 3771 0000 45313030 .ascii "E100000000\000" 3771 30303030 3771 303000 3772 000b 00 .align 2 3773 .LC1: 3774 000c 45323030 .ascii "E200000000\000" 3774 30303030 3774 303000 3775 0017 00 .align 2 3776 .LC2: 3777 0018 45423030 .ascii "EB00000000\000" 3777 30303030 3777 303000 3778 .section .text.radar_version_check,"ax",%progbits 3779 .align 1 3780 .global radar_version_check 3781 .syntax unified 3782 .thumb 3783 .thumb_func 3785 radar_version_check: 3786 .LFB147: 919:user_src/soft_p_2_c.c **** 920:user_src/soft_p_2_c.c **** /** 921:user_src/soft_p_2_c.c **** * @file radar_version_check 922:user_src/soft_p_2_c.c **** * @brief 更改雷达版本格式 923:user_src/soft_p_2_c.c **** * @param none 924:user_src/soft_p_2_c.c **** * @details 925:user_src/soft_p_2_c.c **** * @author Zhang Sir 926:user_src/soft_p_2_c.c **** **/ 927:user_src/soft_p_2_c.c **** void radar_version_check(void) 928:user_src/soft_p_2_c.c **** { 3787 .loc 1 928 1 3788 .cfi_startproc 3789 @ args = 0, pretend = 0, frame = 8 3790 @ frame_needed = 1, uses_anonymous_args = 0 3791 0000 80B5 push {r7, lr} 3792 .LCFI73: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 84 3793 .cfi_def_cfa_offset 8 3794 .cfi_offset 7, -8 3795 .cfi_offset 14, -4 3796 0002 82B0 sub sp, sp, #8 3797 .LCFI74: 3798 .cfi_def_cfa_offset 16 3799 0004 00AF add r7, sp, #0 3800 .LCFI75: 3801 .cfi_def_cfa_register 7 929:user_src/soft_p_2_c.c **** //前避障 930:user_src/soft_p_2_c.c **** if(uavr11_info.Link.connect_status == COMP_NORMAL || uavr11_info.Link.boot_flag == true) 3802 .loc 1 930 24 3803 0006 694B ldr r3, .L134 3804 0008 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 3805 .loc 1 930 7 3806 000a 012B cmp r3, #1 3807 000c 03D0 beq .L112 3808 .loc 1 930 75 discriminator 1 3809 000e 674B ldr r3, .L134 3810 0010 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2 3811 .loc 1 930 56 discriminator 1 3812 0012 002B cmp r3, #0 3813 0014 26D0 beq .L113 3814 .L112: 931:user_src/soft_p_2_c.c **** { 932:user_src/soft_p_2_c.c **** if(uavr11_info.soft_verison == 0 && uavr11_info.get_radar_ver_flag == false) 3815 .loc 1 932 23 3816 0016 654B ldr r3, .L134 3817 0018 D3F81930 ldr r3, [r3, #25] @ unaligned 3818 .loc 1 932 11 3819 001c 002B cmp r3, #0 3820 001e 1BD1 bne .L114 3821 .loc 1 932 56 discriminator 1 3822 0020 624B ldr r3, .L134 3823 0022 93F82C30 ldrb r3, [r3, #44] @ zero_extendqisi2 3824 .loc 1 932 76 discriminator 1 3825 0026 83F00103 eor r3, r3, #1 3826 002a DBB2 uxtb r3, r3 3827 .loc 1 932 42 discriminator 1 3828 002c 002B cmp r3, #0 3829 002e 13D0 beq .L114 933:user_src/soft_p_2_c.c **** { 934:user_src/soft_p_2_c.c **** uavr11_info.version[0] = 'M'; 3830 .loc 1 934 36 3831 0030 5E4B ldr r3, .L134 3832 0032 4D22 movs r2, #77 3833 0034 5A77 strb r2, [r3, #29] 935:user_src/soft_p_2_c.c **** uavr11_info.version[1] = '1'; 3834 .loc 1 935 36 3835 0036 5D4B ldr r3, .L134 3836 0038 3122 movs r2, #49 3837 003a 9A77 strb r2, [r3, #30] 3838 .LBB87: 936:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 3839 .loc 1 936 25 3840 003c 0223 movs r3, #2 3841 003e FB71 strb r3, [r7, #7] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 85 3842 .loc 1 936 13 3843 0040 07E0 b .L115 3844 .L116: 937:user_src/soft_p_2_c.c **** { 938:user_src/soft_p_2_c.c **** uavr11_info.version[i] = '0'; 3845 .loc 1 938 36 discriminator 3 3846 0042 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 3847 .loc 1 938 40 discriminator 3 3848 0044 594A ldr r2, .L134 3849 0046 1344 add r3, r3, r2 3850 0048 3022 movs r2, #48 3851 004a 5A77 strb r2, [r3, #29] 936:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 3852 .loc 1 936 40 discriminator 3 3853 004c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 3854 004e 0133 adds r3, r3, #1 3855 0050 FB71 strb r3, [r7, #7] 3856 .L115: 936:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 3857 .loc 1 936 13 discriminator 1 3858 0052 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 3859 0054 092B cmp r3, #9 3860 0056 F4D9 bls .L116 3861 .L114: 3862 .LBE87: 939:user_src/soft_p_2_c.c **** } 940:user_src/soft_p_2_c.c **** } 941:user_src/soft_p_2_c.c **** memcpy(&radar_version[0][0],&uavr11_info.version[0],10); 3863 .loc 1 941 9 3864 0058 0A22 movs r2, #10 3865 005a 5549 ldr r1, .L134+4 3866 005c 5548 ldr r0, .L134+8 3867 005e FFF7FEFF bl memcpy 3868 0062 1BE0 b .L117 3869 .L113: 942:user_src/soft_p_2_c.c **** } 943:user_src/soft_p_2_c.c **** else if (mimo_f_info.Link.connect_status == COMP_NORMAL) 3870 .loc 1 943 30 3871 0064 544B ldr r3, .L134+12 3872 0066 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 3873 .loc 1 943 13 3874 0068 012B cmp r3, #1 3875 006a 0ED1 bne .L118 944:user_src/soft_p_2_c.c **** { 945:user_src/soft_p_2_c.c **** if(mimo_f_info.Link.boot_flag == true) 3876 .loc 1 945 28 3877 006c 524B ldr r3, .L134+12 3878 006e 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2 3879 .loc 1 945 11 3880 0070 002B cmp r3, #0 3881 0072 04D0 beq .L119 946:user_src/soft_p_2_c.c **** { 947:user_src/soft_p_2_c.c **** memcpy(&mimo_f_info.version,"E100000000",10); 3882 .loc 1 947 13 3883 0074 0A22 movs r2, #10 3884 0076 5149 ldr r1, .L134+16 3885 0078 5148 ldr r0, .L134+20 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 86 3886 007a FFF7FEFF bl memcpy 3887 .L119: 948:user_src/soft_p_2_c.c **** } 949:user_src/soft_p_2_c.c **** memcpy(&radar_version[0][0],&mimo_f_info.version[0],10); 3888 .loc 1 949 9 3889 007e 0A22 movs r2, #10 3890 0080 4F49 ldr r1, .L134+20 3891 0082 4C48 ldr r0, .L134+8 3892 0084 FFF7FEFF bl memcpy 3893 0088 08E0 b .L117 3894 .L118: 950:user_src/soft_p_2_c.c **** } 951:user_src/soft_p_2_c.c **** else if(DM_f_info.Link.connect_status == COMP_NORMAL) 3895 .loc 1 951 27 3896 008a 4E4B ldr r3, .L134+24 3897 008c 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 3898 .loc 1 951 12 3899 008e 012B cmp r3, #1 3900 0090 04D1 bne .L117 952:user_src/soft_p_2_c.c **** { 953:user_src/soft_p_2_c.c **** memcpy(&radar_version[0][0],&DM_f_info.version[0],10); 3901 .loc 1 953 9 3902 0092 0A22 movs r2, #10 3903 0094 4C49 ldr r1, .L134+28 3904 0096 4748 ldr r0, .L134+8 3905 0098 FFF7FEFF bl memcpy 3906 .L117: 954:user_src/soft_p_2_c.c **** } 955:user_src/soft_p_2_c.c **** 956:user_src/soft_p_2_c.c **** //后避障 957:user_src/soft_p_2_c.c **** if(uavr12_info.Link.connect_status == COMP_NORMAL ) 3907 .loc 1 957 24 3908 009c 4B4B ldr r3, .L134+32 3909 009e 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 3910 .loc 1 957 7 3911 00a0 012B cmp r3, #1 3912 00a2 26D1 bne .L120 958:user_src/soft_p_2_c.c **** { 959:user_src/soft_p_2_c.c **** if(uavr12_info.soft_verison == 0 && uavr12_info.get_radar_ver_flag == false) 3913 .loc 1 959 23 3914 00a4 494B ldr r3, .L134+32 3915 00a6 D3F81930 ldr r3, [r3, #25] @ unaligned 3916 .loc 1 959 11 3917 00aa 002B cmp r3, #0 3918 00ac 1BD1 bne .L121 3919 .loc 1 959 56 discriminator 1 3920 00ae 474B ldr r3, .L134+32 3921 00b0 93F82C30 ldrb r3, [r3, #44] @ zero_extendqisi2 3922 .loc 1 959 76 discriminator 1 3923 00b4 83F00103 eor r3, r3, #1 3924 00b8 DBB2 uxtb r3, r3 3925 .loc 1 959 42 discriminator 1 3926 00ba 002B cmp r3, #0 3927 00bc 13D0 beq .L121 960:user_src/soft_p_2_c.c **** { 961:user_src/soft_p_2_c.c **** uavr12_info.version[0] = 'M'; 3928 .loc 1 961 36 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 87 3929 00be 434B ldr r3, .L134+32 3930 00c0 4D22 movs r2, #77 3931 00c2 5A77 strb r2, [r3, #29] 962:user_src/soft_p_2_c.c **** uavr12_info.version[1] = '2'; 3932 .loc 1 962 36 3933 00c4 414B ldr r3, .L134+32 3934 00c6 3222 movs r2, #50 3935 00c8 9A77 strb r2, [r3, #30] 3936 .LBB88: 963:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 3937 .loc 1 963 25 3938 00ca 0223 movs r3, #2 3939 00cc BB71 strb r3, [r7, #6] 3940 .loc 1 963 13 3941 00ce 07E0 b .L122 3942 .L123: 964:user_src/soft_p_2_c.c **** { 965:user_src/soft_p_2_c.c **** uavr12_info.version[i] = '0'; 3943 .loc 1 965 36 discriminator 3 3944 00d0 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 3945 .loc 1 965 40 discriminator 3 3946 00d2 3E4A ldr r2, .L134+32 3947 00d4 1344 add r3, r3, r2 3948 00d6 3022 movs r2, #48 3949 00d8 5A77 strb r2, [r3, #29] 963:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 3950 .loc 1 963 40 discriminator 3 3951 00da BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 3952 00dc 0133 adds r3, r3, #1 3953 00de BB71 strb r3, [r7, #6] 3954 .L122: 963:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 3955 .loc 1 963 13 discriminator 1 3956 00e0 BB79 ldrb r3, [r7, #6] @ zero_extendqisi2 3957 00e2 092B cmp r3, #9 3958 00e4 F4D9 bls .L123 3959 .L121: 3960 .LBE88: 966:user_src/soft_p_2_c.c **** } 967:user_src/soft_p_2_c.c **** } 968:user_src/soft_p_2_c.c **** memcpy(&radar_version[1][0],&uavr12_info.version[0],10); 3961 .loc 1 968 9 3962 00e6 0A22 movs r2, #10 3963 00e8 3949 ldr r1, .L134+36 3964 00ea 3A48 ldr r0, .L134+40 3965 00ec FFF7FEFF bl memcpy 3966 00f0 11E0 b .L124 3967 .L120: 969:user_src/soft_p_2_c.c **** } 970:user_src/soft_p_2_c.c **** else if(mimo_b_info.Link.connect_status == COMP_NORMAL) 3968 .loc 1 970 29 3969 00f2 394B ldr r3, .L134+44 3970 00f4 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 3971 .loc 1 970 12 3972 00f6 012B cmp r3, #1 3973 00f8 0DD1 bne .L124 971:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 88 972:user_src/soft_p_2_c.c **** if(mimo_b_info.Link.boot_flag == true) 3974 .loc 1 972 28 3975 00fa 374B ldr r3, .L134+44 3976 00fc 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2 3977 .loc 1 972 11 3978 00fe 002B cmp r3, #0 3979 0100 04D0 beq .L125 973:user_src/soft_p_2_c.c **** { 974:user_src/soft_p_2_c.c **** memcpy(&mimo_b_info.version,"E200000000",10); 3980 .loc 1 974 13 3981 0102 0A22 movs r2, #10 3982 0104 3549 ldr r1, .L134+48 3983 0106 3648 ldr r0, .L134+52 3984 0108 FFF7FEFF bl memcpy 3985 .L125: 975:user_src/soft_p_2_c.c **** } 976:user_src/soft_p_2_c.c **** memcpy(&radar_version[1][0],&mimo_b_info.version[0],10); 3986 .loc 1 976 9 3987 010c 0A22 movs r2, #10 3988 010e 3449 ldr r1, .L134+52 3989 0110 3048 ldr r0, .L134+40 3990 0112 FFF7FEFF bl memcpy 3991 .L124: 977:user_src/soft_p_2_c.c **** } 978:user_src/soft_p_2_c.c **** 979:user_src/soft_p_2_c.c **** if(uavr56_info.Link.connect_status == COMP_NORMAL ) 3992 .loc 1 979 24 3993 0116 334B ldr r3, .L134+56 3994 0118 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 3995 .loc 1 979 7 3996 011a 012B cmp r3, #1 3997 011c 25D1 bne .L126 980:user_src/soft_p_2_c.c **** { 981:user_src/soft_p_2_c.c **** if(uavr56_info.soft_verison == 0 && uavr56_info.get_radar_ver_flag == false) 3998 .loc 1 981 23 3999 011e 314B ldr r3, .L134+56 4000 0120 D3F82630 ldr r3, [r3, #38] @ unaligned 4001 .loc 1 981 11 4002 0124 002B cmp r3, #0 4003 0126 1AD1 bne .L127 4004 .loc 1 981 56 discriminator 1 4005 0128 2E4B ldr r3, .L134+56 4006 012a 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2 4007 .loc 1 981 76 discriminator 1 4008 012c 83F00103 eor r3, r3, #1 4009 0130 DBB2 uxtb r3, r3 4010 .loc 1 981 42 discriminator 1 4011 0132 002B cmp r3, #0 4012 0134 13D0 beq .L127 982:user_src/soft_p_2_c.c **** { 983:user_src/soft_p_2_c.c **** uavr56_info.version[0] = 'M'; 4013 .loc 1 983 36 4014 0136 2B4B ldr r3, .L134+56 4015 0138 4D22 movs r2, #77 4016 013a DA76 strb r2, [r3, #27] 984:user_src/soft_p_2_c.c **** uavr56_info.version[1] = 'B'; 4017 .loc 1 984 36 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 89 4018 013c 294B ldr r3, .L134+56 4019 013e 4222 movs r2, #66 4020 0140 1A77 strb r2, [r3, #28] 4021 .LBB89: 985:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 4022 .loc 1 985 25 4023 0142 0223 movs r3, #2 4024 0144 7B71 strb r3, [r7, #5] 4025 .loc 1 985 13 4026 0146 07E0 b .L128 4027 .L129: 986:user_src/soft_p_2_c.c **** { 987:user_src/soft_p_2_c.c **** uavr56_info.version[i] = '0'; 4028 .loc 1 987 36 discriminator 3 4029 0148 7B79 ldrb r3, [r7, #5] @ zero_extendqisi2 4030 .loc 1 987 40 discriminator 3 4031 014a 264A ldr r2, .L134+56 4032 014c 1344 add r3, r3, r2 4033 014e 3022 movs r2, #48 4034 0150 DA76 strb r2, [r3, #27] 985:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 4035 .loc 1 985 40 discriminator 3 4036 0152 7B79 ldrb r3, [r7, #5] @ zero_extendqisi2 4037 0154 0133 adds r3, r3, #1 4038 0156 7B71 strb r3, [r7, #5] 4039 .L128: 985:user_src/soft_p_2_c.c **** for(uint8_t i = 2;i < 10; i++) 4040 .loc 1 985 13 discriminator 1 4041 0158 7B79 ldrb r3, [r7, #5] @ zero_extendqisi2 4042 015a 092B cmp r3, #9 4043 015c F4D9 bls .L129 4044 .L127: 4045 .LBE89: 988:user_src/soft_p_2_c.c **** } 989:user_src/soft_p_2_c.c **** } 990:user_src/soft_p_2_c.c **** 991:user_src/soft_p_2_c.c **** memcpy(&radar_version[2][0],&uavr56_info.version[0],10); 4046 .loc 1 991 9 4047 015e 0A22 movs r2, #10 4048 0160 2149 ldr r1, .L134+60 4049 0162 2248 ldr r0, .L134+64 4050 0164 FFF7FEFF bl memcpy 992:user_src/soft_p_2_c.c **** } 993:user_src/soft_p_2_c.c **** else if(mimo_ter_info.Link.connect_status == COMP_NORMAL) 994:user_src/soft_p_2_c.c **** { 995:user_src/soft_p_2_c.c **** if(mimo_ter_info.Link.boot_flag == true) 996:user_src/soft_p_2_c.c **** { 997:user_src/soft_p_2_c.c **** memcpy(&mimo_ter_info.version,"EB00000000",10); 998:user_src/soft_p_2_c.c **** } 999:user_src/soft_p_2_c.c **** memcpy(&radar_version[2][0],&mimo_ter_info.version[0],10); 1000:user_src/soft_p_2_c.c **** } 1001:user_src/soft_p_2_c.c **** else if(DM_ter_info.Link.connect_status == COMP_NORMAL) 1002:user_src/soft_p_2_c.c **** { 1003:user_src/soft_p_2_c.c **** memcpy(&radar_version[2][0],&DM_ter_info.version[0],10); 1004:user_src/soft_p_2_c.c **** } 1005:user_src/soft_p_2_c.c **** } 4051 .loc 1 1005 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 90 4052 0168 1BE0 b .L133 4053 .L126: 993:user_src/soft_p_2_c.c **** { 4054 .loc 1 993 31 4055 016a 214B ldr r3, .L134+68 4056 016c 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 993:user_src/soft_p_2_c.c **** { 4057 .loc 1 993 12 4058 016e 012B cmp r3, #1 4059 0170 0ED1 bne .L131 995:user_src/soft_p_2_c.c **** { 4060 .loc 1 995 30 4061 0172 1F4B ldr r3, .L134+68 4062 0174 5B7A ldrb r3, [r3, #9] @ zero_extendqisi2 995:user_src/soft_p_2_c.c **** { 4063 .loc 1 995 11 4064 0176 002B cmp r3, #0 4065 0178 04D0 beq .L132 997:user_src/soft_p_2_c.c **** } 4066 .loc 1 997 13 4067 017a 0A22 movs r2, #10 4068 017c 1D49 ldr r1, .L134+72 4069 017e 1E48 ldr r0, .L134+76 4070 0180 FFF7FEFF bl memcpy 4071 .L132: 999:user_src/soft_p_2_c.c **** } 4072 .loc 1 999 9 4073 0184 0A22 movs r2, #10 4074 0186 1C49 ldr r1, .L134+76 4075 0188 1848 ldr r0, .L134+64 4076 018a FFF7FEFF bl memcpy 4077 .loc 1 1005 1 4078 018e 08E0 b .L133 4079 .L131: 1001:user_src/soft_p_2_c.c **** { 4080 .loc 1 1001 29 4081 0190 1A4B ldr r3, .L134+80 4082 0192 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1001:user_src/soft_p_2_c.c **** { 4083 .loc 1 1001 12 4084 0194 012B cmp r3, #1 4085 0196 04D1 bne .L133 1003:user_src/soft_p_2_c.c **** } 4086 .loc 1 1003 9 4087 0198 0A22 movs r2, #10 4088 019a 1949 ldr r1, .L134+84 4089 019c 1348 ldr r0, .L134+64 4090 019e FFF7FEFF bl memcpy 4091 .L133: 4092 .loc 1 1005 1 4093 01a2 00BF nop 4094 01a4 0837 adds r7, r7, #8 4095 .LCFI76: 4096 .cfi_def_cfa_offset 8 4097 01a6 BD46 mov sp, r7 4098 .LCFI77: 4099 .cfi_def_cfa_register 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 91 4100 @ sp needed 4101 01a8 80BD pop {r7, pc} 4102 .L135: 4103 01aa 00BF .align 2 4104 .L134: 4105 01ac 00000000 .word uavr11_info 4106 01b0 1D000000 .word uavr11_info+29 4107 01b4 00000000 .word radar_version 4108 01b8 00000000 .word mimo_f_info 4109 01bc 00000000 .word .LC0 4110 01c0 1D000000 .word mimo_f_info+29 4111 01c4 00000000 .word DM_f_info 4112 01c8 1D000000 .word DM_f_info+29 4113 01cc 00000000 .word uavr12_info 4114 01d0 1D000000 .word uavr12_info+29 4115 01d4 0A000000 .word radar_version+10 4116 01d8 00000000 .word mimo_b_info 4117 01dc 0C000000 .word .LC1 4118 01e0 1D000000 .word mimo_b_info+29 4119 01e4 00000000 .word uavr56_info 4120 01e8 1B000000 .word uavr56_info+27 4121 01ec 14000000 .word radar_version+20 4122 01f0 00000000 .word mimo_ter_info 4123 01f4 18000000 .word .LC2 4124 01f8 1B000000 .word mimo_ter_info+27 4125 01fc 00000000 .word DM_ter_info 4126 0200 1B000000 .word DM_ter_info+27 4127 .cfi_endproc 4128 .LFE147: 4130 .global radar_version 4131 .section .bss.radar_version,"aw",%nobits 4132 .align 2 4135 radar_version: 4136 0000 00000000 .space 30 4136 00000000 4136 00000000 4136 00000000 4136 00000000 4137 .section .text.pmu_to_con_version_data,"ax",%progbits 4138 .align 1 4139 .global pmu_to_con_version_data 4140 .syntax unified 4141 .thumb 4142 .thumb_func 4144 pmu_to_con_version_data: 4145 .LFB148: 1006:user_src/soft_p_2_c.c **** 1007:user_src/soft_p_2_c.c **** 1008:user_src/soft_p_2_c.c **** /** 1009:user_src/soft_p_2_c.c **** * @file pmu_to_con_version_data 1010:user_src/soft_p_2_c.c **** * @brief PMU发送版本信息 1011:user_src/soft_p_2_c.c **** * @param none 1012:user_src/soft_p_2_c.c **** * @details 1013:user_src/soft_p_2_c.c **** * @author Zhang Sir 1014:user_src/soft_p_2_c.c **** **/ 1015:user_src/soft_p_2_c.c **** char radar_version[3][10] = {0}; //0 前避障 1后避障 2仿地 1016:user_src/soft_p_2_c.c **** void pmu_to_con_version_data() ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 92 1017:user_src/soft_p_2_c.c **** { 4146 .loc 1 1017 1 4147 .cfi_startproc 4148 @ args = 0, pretend = 0, frame = 24 4149 @ frame_needed = 1, uses_anonymous_args = 0 4150 0000 80B5 push {r7, lr} 4151 .LCFI78: 4152 .cfi_def_cfa_offset 8 4153 .cfi_offset 7, -8 4154 .cfi_offset 14, -4 4155 0002 86B0 sub sp, sp, #24 4156 .LCFI79: 4157 .cfi_def_cfa_offset 32 4158 0004 00AF add r7, sp, #0 4159 .LCFI80: 4160 .cfi_def_cfa_register 7 1018:user_src/soft_p_2_c.c **** //版本信息 0 - 5 硬件版本 IAP版本 APP版本 1019:user_src/soft_p_2_c.c **** uint32_t ver_msg_buf[4] = {0}; 4161 .loc 1 1019 14 4162 0006 3B1D adds r3, r7, #4 4163 0008 0022 movs r2, #0 4164 000a 1A60 str r2, [r3] 4165 000c 5A60 str r2, [r3, #4] 4166 000e 9A60 str r2, [r3, #8] 4167 0010 DA60 str r2, [r3, #12] 1020:user_src/soft_p_2_c.c **** 1021:user_src/soft_p_2_c.c **** int index = 0; 4168 .loc 1 1021 9 4169 0012 0023 movs r3, #0 4170 0014 7B61 str r3, [r7, #20] 1022:user_src/soft_p_2_c.c **** ver_msg_buf[0] = current_pmu_par.SN; //硬件版本号 4171 .loc 1 1022 37 4172 0016 794B ldr r3, .L161 4173 0018 9B68 ldr r3, [r3, #8] 4174 .loc 1 1022 20 4175 001a 7B60 str r3, [r7, #4] 1023:user_src/soft_p_2_c.c **** ver_msg_buf[1] = IAP_VERSION; //IAP版本号 4176 .loc 1 1023 20 4177 001c 784B ldr r3, .L161+4 4178 001e BB60 str r3, [r7, #8] 1024:user_src/soft_p_2_c.c **** ver_msg_buf[2] = APP_VERSION; //APP版本号 4179 .loc 1 1024 22 4180 0020 3223 movs r3, #50 4181 0022 A3F13002 sub r2, r3, #48 4182 0026 1346 mov r3, r2 4183 0028 9B00 lsls r3, r3, #2 4184 002a 1344 add r3, r3, r2 4185 002c 5B00 lsls r3, r3, #1 4186 002e 1A46 mov r2, r3 4187 0030 3023 movs r3, #48 4188 0032 303B subs r3, r3, #48 4189 0034 1A44 add r2, r2, r3 4190 0036 1346 mov r3, r2 4191 0038 9B00 lsls r3, r3, #2 4192 003a 1344 add r3, r3, r2 4193 003c 5B00 lsls r3, r3, #1 4194 003e 1A46 mov r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 93 4195 0040 3223 movs r3, #50 4196 0042 303B subs r3, r3, #48 4197 0044 1A44 add r2, r2, r3 4198 0046 1346 mov r3, r2 4199 0048 9B00 lsls r3, r3, #2 4200 004a 1344 add r3, r3, r2 4201 004c 5B00 lsls r3, r3, #1 4202 004e 1A46 mov r2, r3 4203 0050 3523 movs r3, #53 4204 0052 303B subs r3, r3, #48 4205 0054 1344 add r3, r3, r2 4206 0056 A3F5FA63 sub r3, r3, #2000 4207 005a 42F21072 movw r2, #10000 4208 005e 03FB02F2 mul r2, r3, r2 4209 0062 7623 movs r3, #118 4210 0064 6E2B cmp r3, #110 4211 0066 07D1 bne .L137 4212 .loc 1 1024 22 is_stmt 0 discriminator 1 4213 0068 6F23 movs r3, #111 4214 006a 612B cmp r3, #97 4215 006c 01D1 bne .L138 4216 .loc 1 1024 22 discriminator 3 4217 006e 6423 movs r3, #100 4218 0070 39E0 b .L140 4219 .L138: 4220 .loc 1 1024 22 discriminator 4 4221 0072 4FF41673 mov r3, #600 4222 0076 36E0 b .L140 4223 .L137: 4224 .loc 1 1024 22 discriminator 2 4225 0078 7623 movs r3, #118 4226 007a 622B cmp r3, #98 4227 007c 32D0 beq .L141 4228 .loc 1 1024 22 discriminator 8 4229 007e 7623 movs r3, #118 4230 0080 722B cmp r3, #114 4231 0082 08D1 bne .L142 4232 .loc 1 1024 22 discriminator 10 4233 0084 4E23 movs r3, #78 4234 0086 4D2B cmp r3, #77 4235 0088 02D1 bne .L143 4236 .loc 1 1024 22 discriminator 12 4237 008a 4FF49673 mov r3, #300 4238 008e 2AE0 b .L140 4239 .L143: 4240 .loc 1 1024 22 discriminator 13 4241 0090 4FF4C873 mov r3, #400 4242 0094 27E0 b .L140 4243 .L142: 4244 .loc 1 1024 22 discriminator 11 4245 0096 7623 movs r3, #118 4246 0098 792B cmp r3, #121 4247 009a 20D0 beq .L146 4248 .loc 1 1024 22 discriminator 17 4249 009c 7623 movs r3, #118 4250 009e 6C2B cmp r3, #108 4251 00a0 1AD0 beq .L147 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 94 4252 .loc 1 1024 22 discriminator 19 4253 00a2 7623 movs r3, #118 4254 00a4 672B cmp r3, #103 4255 00a6 14D0 beq .L148 4256 .loc 1 1024 22 discriminator 21 4257 00a8 7623 movs r3, #118 4258 00aa 702B cmp r3, #112 4259 00ac 0ED0 beq .L149 4260 .loc 1 1024 22 discriminator 23 4261 00ae 7623 movs r3, #118 4262 00b0 742B cmp r3, #116 4263 00b2 08D0 beq .L150 4264 .loc 1 1024 22 discriminator 25 4265 00b4 7623 movs r3, #118 4266 00b6 762B cmp r3, #118 4267 00b8 02D1 bne .L151 4268 .loc 1 1024 22 discriminator 27 4269 00ba 40F24C43 movw r3, #1100 4270 00be 12E0 b .L140 4271 .L151: 4272 .loc 1 1024 22 discriminator 28 4273 00c0 4FF49663 mov r3, #1200 4274 00c4 0FE0 b .L140 4275 .L150: 4276 .loc 1 1024 22 discriminator 26 4277 00c6 4FF47A73 mov r3, #1000 4278 00ca 0CE0 b .L140 4279 .L149: 4280 .loc 1 1024 22 discriminator 24 4281 00cc 4FF46173 mov r3, #900 4282 00d0 09E0 b .L140 4283 .L148: 4284 .loc 1 1024 22 discriminator 22 4285 00d2 4FF44873 mov r3, #800 4286 00d6 06E0 b .L140 4287 .L147: 4288 .loc 1 1024 22 discriminator 20 4289 00d8 4FF42F73 mov r3, #700 4290 00dc 03E0 b .L140 4291 .L146: 4292 .loc 1 1024 22 discriminator 18 4293 00de 4FF4FA73 mov r3, #500 4294 00e2 00E0 b .L140 4295 .L141: 4296 .loc 1 1024 22 discriminator 9 4297 00e4 C823 movs r3, #200 4298 .L140: 4299 .loc 1 1024 22 discriminator 44 4300 00e6 9918 adds r1, r3, r2 4301 00e8 3123 movs r3, #49 4302 00ea 202B cmp r3, #32 4303 00ec 08D0 beq .L159 4304 .loc 1 1024 22 discriminator 45 4305 00ee 3123 movs r3, #49 4306 00f0 A3F13002 sub r2, r3, #48 4307 00f4 1346 mov r3, r2 4308 00f6 9B00 lsls r3, r3, #2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 95 4309 00f8 1344 add r3, r3, r2 4310 00fa 5B00 lsls r3, r3, #1 4311 00fc 1A46 mov r2, r3 4312 00fe 00E0 b .L160 4313 .L159: 4314 .loc 1 1024 22 discriminator 46 4315 0100 0022 movs r2, #0 4316 .L160: 4317 .loc 1 1024 22 discriminator 48 4318 0102 3223 movs r3, #50 4319 0104 303B subs r3, r3, #48 4320 0106 1344 add r3, r3, r2 4321 0108 0B44 add r3, r3, r1 4322 .loc 1 1024 20 is_stmt 1 discriminator 48 4323 010a FB60 str r3, [r7, #12] 1025:user_src/soft_p_2_c.c **** ver_msg_buf[3] = current_pmu_par.SN;//serial.num; 4324 .loc 1 1025 37 discriminator 48 4325 010c 3B4B ldr r3, .L161 4326 010e 9B68 ldr r3, [r3, #8] 4327 .loc 1 1025 20 discriminator 48 4328 0110 3B61 str r3, [r7, #16] 1026:user_src/soft_p_2_c.c **** 1027:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 4329 .loc 1 1027 18 discriminator 48 4330 0112 7B69 ldr r3, [r7, #20] 4331 0114 5A1C adds r2, r3, #1 4332 0116 7A61 str r2, [r7, #20] 4333 .loc 1 1027 22 discriminator 48 4334 0118 3A4A ldr r2, .L161+8 4335 011a FE21 movs r1, #254 4336 011c D154 strb r1, [r2, r3] 1028:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4337 .loc 1 1028 18 discriminator 48 4338 011e 7B69 ldr r3, [r7, #20] 4339 0120 5A1C adds r2, r3, #1 4340 0122 7A61 str r2, [r7, #20] 4341 .loc 1 1028 22 discriminator 48 4342 0124 374A ldr r2, .L161+8 4343 0126 0021 movs r1, #0 4344 0128 D154 strb r1, [r2, r3] 1029:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4345 .loc 1 1029 18 discriminator 48 4346 012a 7B69 ldr r3, [r7, #20] 4347 012c 5A1C adds r2, r3, #1 4348 012e 7A61 str r2, [r7, #20] 4349 .loc 1 1029 22 discriminator 48 4350 0130 344A ldr r2, .L161+8 4351 0132 0021 movs r1, #0 4352 0134 D154 strb r1, [r2, r3] 1030:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4353 .loc 1 1030 18 discriminator 48 4354 0136 7B69 ldr r3, [r7, #20] 4355 0138 5A1C adds r2, r3, #1 4356 013a 7A61 str r2, [r7, #20] 4357 .loc 1 1030 22 discriminator 48 4358 013c 314A ldr r2, .L161+8 4359 013e 0021 movs r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 96 4360 0140 D154 strb r1, [r2, r3] 1031:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4361 .loc 1 1031 18 discriminator 48 4362 0142 7B69 ldr r3, [r7, #20] 4363 0144 5A1C adds r2, r3, #1 4364 0146 7A61 str r2, [r7, #20] 4365 .loc 1 1031 22 discriminator 48 4366 0148 2E4A ldr r2, .L161+8 4367 014a 0021 movs r1, #0 4368 014c D154 strb r1, [r2, r3] 1032:user_src/soft_p_2_c.c **** msg_buf[index++] = MSGID_REQ_VERSION; 4369 .loc 1 1032 18 discriminator 48 4370 014e 7B69 ldr r3, [r7, #20] 4371 0150 5A1C adds r2, r3, #1 4372 0152 7A61 str r2, [r7, #20] 4373 .loc 1 1032 22 discriminator 48 4374 0154 2B4A ldr r2, .L161+8 4375 0156 0721 movs r1, #7 4376 0158 D154 strb r1, [r2, r3] 1033:user_src/soft_p_2_c.c **** 1034:user_src/soft_p_2_c.c **** radar_version_check(); 4377 .loc 1 1034 5 discriminator 48 4378 015a FFF7FEFF bl radar_version_check 1035:user_src/soft_p_2_c.c **** 1036:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], ver_msg_buf, 16); 4379 .loc 1 1036 12 discriminator 48 4380 015e 7B69 ldr r3, [r7, #20] 4381 0160 284A ldr r2, .L161+8 4382 0162 1344 add r3, r3, r2 4383 .loc 1 1036 5 discriminator 48 4384 0164 391D adds r1, r7, #4 4385 0166 1022 movs r2, #16 4386 0168 1846 mov r0, r3 4387 016a FFF7FEFF bl memcpy 1037:user_src/soft_p_2_c.c **** index += 16; 4388 .loc 1 1037 11 discriminator 48 4389 016e 7B69 ldr r3, [r7, #20] 4390 0170 1033 adds r3, r3, #16 4391 0172 7B61 str r3, [r7, #20] 1038:user_src/soft_p_2_c.c **** 1039:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &radar_version[0][0], 10); 4392 .loc 1 1039 12 discriminator 48 4393 0174 7B69 ldr r3, [r7, #20] 4394 0176 234A ldr r2, .L161+8 4395 0178 1344 add r3, r3, r2 4396 .loc 1 1039 5 discriminator 48 4397 017a 0A22 movs r2, #10 4398 017c 2249 ldr r1, .L161+12 4399 017e 1846 mov r0, r3 4400 0180 FFF7FEFF bl memcpy 1040:user_src/soft_p_2_c.c **** index += 10; 4401 .loc 1 1040 11 discriminator 48 4402 0184 7B69 ldr r3, [r7, #20] 4403 0186 0A33 adds r3, r3, #10 4404 0188 7B61 str r3, [r7, #20] 1041:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &radar_version[1][0], 10); 4405 .loc 1 1041 12 discriminator 48 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 97 4406 018a 7B69 ldr r3, [r7, #20] 4407 018c 1D4A ldr r2, .L161+8 4408 018e 1344 add r3, r3, r2 4409 .loc 1 1041 5 discriminator 48 4410 0190 0A22 movs r2, #10 4411 0192 1E49 ldr r1, .L161+16 4412 0194 1846 mov r0, r3 4413 0196 FFF7FEFF bl memcpy 1042:user_src/soft_p_2_c.c **** index += 10; 4414 .loc 1 1042 11 discriminator 48 4415 019a 7B69 ldr r3, [r7, #20] 4416 019c 0A33 adds r3, r3, #10 4417 019e 7B61 str r3, [r7, #20] 1043:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &radar_version[2][0], 10); 4418 .loc 1 1043 12 discriminator 48 4419 01a0 7B69 ldr r3, [r7, #20] 4420 01a2 184A ldr r2, .L161+8 4421 01a4 1344 add r3, r3, r2 4422 .loc 1 1043 5 discriminator 48 4423 01a6 0A22 movs r2, #10 4424 01a8 1949 ldr r1, .L161+20 4425 01aa 1846 mov r0, r3 4426 01ac FFF7FEFF bl memcpy 1044:user_src/soft_p_2_c.c **** index += 10; 4427 .loc 1 1044 11 discriminator 48 4428 01b0 7B69 ldr r3, [r7, #20] 4429 01b2 0A33 adds r3, r3, #10 4430 01b4 7B61 str r3, [r7, #20] 1045:user_src/soft_p_2_c.c **** 1046:user_src/soft_p_2_c.c **** 1047:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 4431 .loc 1 1047 24 discriminator 48 4432 01b6 7B69 ldr r3, [r7, #20] 4433 01b8 DBB2 uxtb r3, r3 4434 01ba 063B subs r3, r3, #6 4435 01bc DAB2 uxtb r2, r3 4436 .loc 1 1047 16 discriminator 48 4437 01be 114B ldr r3, .L161+8 4438 01c0 5A70 strb r2, [r3, #1] 1048:user_src/soft_p_2_c.c **** 1049:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 4439 .loc 1 1049 11 discriminator 48 4440 01c2 7B69 ldr r3, [r7, #20] 4441 01c4 9BB2 uxth r3, r3 4442 01c6 1946 mov r1, r3 4443 01c8 0E48 ldr r0, .L161+8 4444 01ca FFF7FEFF bl Get_Crc16 4445 01ce 0346 mov r3, r0 4446 01d0 1A46 mov r2, r3 4447 .loc 1 1049 9 discriminator 48 4448 01d2 104B ldr r3, .L161+24 4449 01d4 1A80 strh r2, [r3] @ movhi 1050:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &crc, 2); 4450 .loc 1 1050 12 discriminator 48 4451 01d6 7B69 ldr r3, [r7, #20] 4452 01d8 0A4A ldr r2, .L161+8 4453 01da 1344 add r3, r3, r2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 98 4454 01dc 0D4A ldr r2, .L161+24 4455 01de 1288 ldrh r2, [r2] 4456 .loc 1 1050 5 discriminator 48 4457 01e0 1A80 strh r2, [r3] @ unaligned 1051:user_src/soft_p_2_c.c **** index += 2; 4458 .loc 1 1051 11 discriminator 48 4459 01e2 7B69 ldr r3, [r7, #20] 4460 01e4 0233 adds r3, r3, #2 4461 01e6 7B61 str r3, [r7, #20] 1052:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 4462 .loc 1 1052 5 discriminator 48 4463 01e8 7B69 ldr r3, [r7, #20] 4464 01ea DBB2 uxtb r3, r3 4465 01ec 1946 mov r1, r3 4466 01ee 0548 ldr r0, .L161+8 4467 01f0 FFF7FEFF bl uart2_send_msg 1053:user_src/soft_p_2_c.c **** 1054:user_src/soft_p_2_c.c **** } 4468 .loc 1 1054 1 discriminator 48 4469 01f4 00BF nop 4470 01f6 1837 adds r7, r7, #24 4471 .LCFI81: 4472 .cfi_def_cfa_offset 8 4473 01f8 BD46 mov sp, r7 4474 .LCFI82: 4475 .cfi_def_cfa_register 13 4476 @ sp needed 4477 01fa 80BD pop {r7, pc} 4478 .L162: 4479 .align 2 4480 .L161: 4481 01fc 00000000 .word current_pmu_par 4482 0200 A90D0E00 .word 921001 4483 0204 00000000 .word msg_buf 4484 0208 00000000 .word radar_version 4485 020c 0A000000 .word radar_version+10 4486 0210 14000000 .word radar_version+20 4487 0214 00000000 .word crc 4488 .cfi_endproc 4489 .LFE148: 4491 .section .text.pmu_to_fcu_version_data,"ax",%progbits 4492 .align 1 4493 .global pmu_to_fcu_version_data 4494 .syntax unified 4495 .thumb 4496 .thumb_func 4498 pmu_to_fcu_version_data: 4499 .LFB149: 1055:user_src/soft_p_2_c.c **** 1056:user_src/soft_p_2_c.c **** 1057:user_src/soft_p_2_c.c **** /** 1058:user_src/soft_p_2_c.c **** * @file pmu_to_fcu_version_data 1059:user_src/soft_p_2_c.c **** * @brief 版本信息发送,新协议还没用 1060:user_src/soft_p_2_c.c **** * @param none 1061:user_src/soft_p_2_c.c **** * @details 1062:user_src/soft_p_2_c.c **** * @author Zhang Sir 1063:user_src/soft_p_2_c.c **** **/ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 99 1064:user_src/soft_p_2_c.c **** void pmu_to_fcu_version_data() 1065:user_src/soft_p_2_c.c **** { 4500 .loc 1 1065 1 4501 .cfi_startproc 4502 @ args = 0, pretend = 0, frame = 8 4503 @ frame_needed = 1, uses_anonymous_args = 0 4504 0000 80B5 push {r7, lr} 4505 .LCFI83: 4506 .cfi_def_cfa_offset 8 4507 .cfi_offset 7, -8 4508 .cfi_offset 14, -4 4509 0002 82B0 sub sp, sp, #8 4510 .LCFI84: 4511 .cfi_def_cfa_offset 16 4512 0004 00AF add r7, sp, #0 4513 .LCFI85: 4514 .cfi_def_cfa_register 7 1066:user_src/soft_p_2_c.c **** dev_version_content *ptr = NULL; 4515 .loc 1 1066 26 4516 0006 0023 movs r3, #0 4517 0008 7B60 str r3, [r7, #4] 4518 .LBB90: 1067:user_src/soft_p_2_c.c **** 1068:user_src/soft_p_2_c.c **** for(uint8_t i = 0;i < dev_num;i++) 4519 .loc 1 1068 17 4520 000a 0023 movs r3, #0 4521 000c FB70 strb r3, [r7, #3] 4522 .loc 1 1068 5 4523 000e 13E0 b .L164 4524 .L169: 1069:user_src/soft_p_2_c.c **** { 1070:user_src/soft_p_2_c.c **** ptr = dev_ptr[i]; 4525 .loc 1 1070 22 4526 0010 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 4527 .loc 1 1070 13 4528 0012 3A4A ldr r2, .L172 4529 0014 52F82330 ldr r3, [r2, r3, lsl #2] 4530 0018 7B60 str r3, [r7, #4] 1071:user_src/soft_p_2_c.c **** if(ptr->send_times > 0) 4531 .loc 1 1071 15 4532 001a 7B68 ldr r3, [r7, #4] 4533 001c 93F95830 ldrsb r3, [r3, #88] 4534 .loc 1 1071 11 4535 0020 002B cmp r3, #0 4536 0022 10DC bgt .L170 1072:user_src/soft_p_2_c.c **** { 1073:user_src/soft_p_2_c.c **** break; 1074:user_src/soft_p_2_c.c **** } 1075:user_src/soft_p_2_c.c **** if(i == dev_num - 1) 4537 .loc 1 1075 14 4538 0024 FA78 ldrb r2, [r7, #3] @ zero_extendqisi2 4539 .loc 1 1075 25 4540 0026 364B ldr r3, .L172+4 4541 0028 B3F90030 ldrsh r3, [r3] 4542 002c 013B subs r3, r3, #1 4543 .loc 1 1075 11 4544 002e 9A42 cmp r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 100 4545 0030 5FD0 beq .L171 1068:user_src/soft_p_2_c.c **** { 4546 .loc 1 1068 36 discriminator 2 4547 0032 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 4548 0034 0133 adds r3, r3, #1 4549 0036 FB70 strb r3, [r7, #3] 4550 .L164: 1068:user_src/soft_p_2_c.c **** { 4551 .loc 1 1068 25 discriminator 1 4552 0038 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 4553 003a 314A ldr r2, .L172+4 4554 003c B2F90020 ldrsh r2, [r2] 1068:user_src/soft_p_2_c.c **** { 4555 .loc 1 1068 5 discriminator 1 4556 0040 9342 cmp r3, r2 4557 0042 E5DB blt .L169 4558 0044 00E0 b .L166 4559 .L170: 1073:user_src/soft_p_2_c.c **** } 4560 .loc 1 1073 13 4561 0046 00BF nop 4562 .L166: 4563 .LBE90: 1076:user_src/soft_p_2_c.c **** { 1077:user_src/soft_p_2_c.c **** return; 1078:user_src/soft_p_2_c.c **** } 1079:user_src/soft_p_2_c.c **** } 1080:user_src/soft_p_2_c.c **** 1081:user_src/soft_p_2_c.c **** uint8_t index = 0; 4564 .loc 1 1081 13 4565 0048 0023 movs r3, #0 4566 004a BB70 strb r3, [r7, #2] 1082:user_src/soft_p_2_c.c **** 1083:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 4567 .loc 1 1083 18 4568 004c BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4569 004e 5A1C adds r2, r3, #1 4570 0050 BA70 strb r2, [r7, #2] 4571 0052 1A46 mov r2, r3 4572 .loc 1 1083 22 4573 0054 2B4B ldr r3, .L172+8 4574 0056 FE21 movs r1, #254 4575 0058 9954 strb r1, [r3, r2] 1084:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4576 .loc 1 1084 18 4577 005a BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4578 005c 5A1C adds r2, r3, #1 4579 005e BA70 strb r2, [r7, #2] 4580 0060 1A46 mov r2, r3 4581 .loc 1 1084 22 4582 0062 284B ldr r3, .L172+8 4583 0064 0021 movs r1, #0 4584 0066 9954 strb r1, [r3, r2] 1085:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4585 .loc 1 1085 18 4586 0068 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4587 006a 5A1C adds r2, r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 101 4588 006c BA70 strb r2, [r7, #2] 4589 006e 1A46 mov r2, r3 4590 .loc 1 1085 22 4591 0070 244B ldr r3, .L172+8 4592 0072 0021 movs r1, #0 4593 0074 9954 strb r1, [r3, r2] 1086:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4594 .loc 1 1086 18 4595 0076 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4596 0078 5A1C adds r2, r3, #1 4597 007a BA70 strb r2, [r7, #2] 4598 007c 1A46 mov r2, r3 4599 .loc 1 1086 22 4600 007e 214B ldr r3, .L172+8 4601 0080 0021 movs r1, #0 4602 0082 9954 strb r1, [r3, r2] 1087:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4603 .loc 1 1087 18 4604 0084 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4605 0086 5A1C adds r2, r3, #1 4606 0088 BA70 strb r2, [r7, #2] 4607 008a 1A46 mov r2, r3 4608 .loc 1 1087 22 4609 008c 1D4B ldr r3, .L172+8 4610 008e 0021 movs r1, #0 4611 0090 9954 strb r1, [r3, r2] 1088:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_DEV_LIST; 4612 .loc 1 1088 18 4613 0092 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4614 0094 5A1C adds r2, r3, #1 4615 0096 BA70 strb r2, [r7, #2] 4616 0098 1A46 mov r2, r3 4617 .loc 1 1088 22 4618 009a 1A4B ldr r3, .L172+8 4619 009c 1A21 movs r1, #26 4620 009e 9954 strb r1, [r3, r2] 1089:user_src/soft_p_2_c.c **** 1090:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ptr->num,sizeof(dev_version_content) - sizeof(regist_type) - 1); 4621 .loc 1 1090 20 4622 00a0 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4623 .loc 1 1090 12 4624 00a2 184A ldr r2, .L172+8 4625 00a4 1344 add r3, r3, r2 4626 .loc 1 1090 28 4627 00a6 7968 ldr r1, [r7, #4] 4628 .loc 1 1090 5 4629 00a8 5322 movs r2, #83 4630 00aa 1846 mov r0, r3 4631 00ac FFF7FEFF bl memcpy 1091:user_src/soft_p_2_c.c **** index += sizeof(dev_version_content) - sizeof(regist_type) - 1; 4632 .loc 1 1091 11 4633 00b0 BB78 ldrb r3, [r7, #2] 4634 00b2 5333 adds r3, r3, #83 4635 00b4 BB70 strb r3, [r7, #2] 1092:user_src/soft_p_2_c.c **** 1093:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 4636 .loc 1 1093 24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 102 4637 00b6 BB78 ldrb r3, [r7, #2] 4638 00b8 063B subs r3, r3, #6 4639 00ba DAB2 uxtb r2, r3 4640 .loc 1 1093 16 4641 00bc 114B ldr r3, .L172+8 4642 00be 5A70 strb r2, [r3, #1] 1094:user_src/soft_p_2_c.c **** 1095:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 4643 .loc 1 1095 11 4644 00c0 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4645 00c2 9BB2 uxth r3, r3 4646 00c4 1946 mov r1, r3 4647 00c6 0F48 ldr r0, .L172+8 4648 00c8 FFF7FEFF bl Get_Crc16 4649 00cc 0346 mov r3, r0 4650 00ce 1A46 mov r2, r3 4651 .loc 1 1095 9 4652 00d0 0D4B ldr r3, .L172+12 4653 00d2 1A80 strh r2, [r3] @ movhi 1096:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &crc, 2); 4654 .loc 1 1096 20 4655 00d4 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4656 .loc 1 1096 12 4657 00d6 0B4A ldr r2, .L172+8 4658 00d8 1344 add r3, r3, r2 4659 00da 0B4A ldr r2, .L172+12 4660 00dc 1288 ldrh r2, [r2] 4661 .loc 1 1096 5 4662 00de 1A80 strh r2, [r3] @ unaligned 1097:user_src/soft_p_2_c.c **** index += 2; 4663 .loc 1 1097 11 4664 00e0 BB78 ldrb r3, [r7, #2] 4665 00e2 0233 adds r3, r3, #2 4666 00e4 BB70 strb r3, [r7, #2] 1098:user_src/soft_p_2_c.c **** 1099:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 4667 .loc 1 1099 5 4668 00e6 BB78 ldrb r3, [r7, #2] @ zero_extendqisi2 4669 00e8 1946 mov r1, r3 4670 00ea 0648 ldr r0, .L172+8 4671 00ec FFF7FEFF bl uart2_send_msg 4672 00f0 00E0 b .L163 4673 .L171: 4674 .LBB91: 1077:user_src/soft_p_2_c.c **** } 4675 .loc 1 1077 13 4676 00f2 00BF nop 4677 .L163: 4678 .LBE91: 1100:user_src/soft_p_2_c.c **** } 4679 .loc 1 1100 1 4680 00f4 0837 adds r7, r7, #8 4681 .LCFI86: 4682 .cfi_def_cfa_offset 8 4683 00f6 BD46 mov sp, r7 4684 .LCFI87: 4685 .cfi_def_cfa_register 13 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 103 4686 @ sp needed 4687 00f8 80BD pop {r7, pc} 4688 .L173: 4689 00fa 00BF .align 2 4690 .L172: 4691 00fc 00000000 .word dev_ptr 4692 0100 00000000 .word dev_num 4693 0104 00000000 .word msg_buf 4694 0108 00000000 .word crc 4695 .cfi_endproc 4696 .LFE149: 4698 .section .text.pmu_to_fcu_key_data,"ax",%progbits 4699 .align 1 4700 .global pmu_to_fcu_key_data 4701 .syntax unified 4702 .thumb 4703 .thumb_func 4705 pmu_to_fcu_key_data: 4706 .LFB150: 1101:user_src/soft_p_2_c.c **** 1102:user_src/soft_p_2_c.c **** 1103:user_src/soft_p_2_c.c **** /** 1104:user_src/soft_p_2_c.c **** * @file pmu_to_fcu_key_data 1105:user_src/soft_p_2_c.c **** * @brief PMU发送秘钥信息 1106:user_src/soft_p_2_c.c **** * @param none 1107:user_src/soft_p_2_c.c **** * @details 格式电池秘钥匹配 1108:user_src/soft_p_2_c.c **** * @author Zhang Sir 1109:user_src/soft_p_2_c.c **** **/ 1110:user_src/soft_p_2_c.c **** void pmu_to_fcu_key_data(void) 1111:user_src/soft_p_2_c.c **** { 4707 .loc 1 1111 1 4708 .cfi_startproc 4709 @ args = 0, pretend = 0, frame = 8 4710 @ frame_needed = 1, uses_anonymous_args = 0 4711 0000 80B5 push {r7, lr} 4712 .LCFI88: 4713 .cfi_def_cfa_offset 8 4714 .cfi_offset 7, -8 4715 .cfi_offset 14, -4 4716 0002 82B0 sub sp, sp, #8 4717 .LCFI89: 4718 .cfi_def_cfa_offset 16 4719 0004 00AF add r7, sp, #0 4720 .LCFI90: 4721 .cfi_def_cfa_register 7 1112:user_src/soft_p_2_c.c **** uint8_t index = 0; 4722 .loc 1 1112 13 4723 0006 0023 movs r3, #0 4724 0008 FB71 strb r3, [r7, #7] 1113:user_src/soft_p_2_c.c **** 1114:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 4725 .loc 1 1114 18 4726 000a FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4727 000c 5A1C adds r2, r3, #1 4728 000e FA71 strb r2, [r7, #7] 4729 0010 1A46 mov r2, r3 4730 .loc 1 1114 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 104 4731 0012 354B ldr r3, .L175 4732 0014 FE21 movs r1, #254 4733 0016 9954 strb r1, [r3, r2] 1115:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4734 .loc 1 1115 18 4735 0018 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4736 001a 5A1C adds r2, r3, #1 4737 001c FA71 strb r2, [r7, #7] 4738 001e 1A46 mov r2, r3 4739 .loc 1 1115 22 4740 0020 314B ldr r3, .L175 4741 0022 0021 movs r1, #0 4742 0024 9954 strb r1, [r3, r2] 1116:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4743 .loc 1 1116 18 4744 0026 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4745 0028 5A1C adds r2, r3, #1 4746 002a FA71 strb r2, [r7, #7] 4747 002c 1A46 mov r2, r3 4748 .loc 1 1116 22 4749 002e 2E4B ldr r3, .L175 4750 0030 0021 movs r1, #0 4751 0032 9954 strb r1, [r3, r2] 1117:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4752 .loc 1 1117 18 4753 0034 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4754 0036 5A1C adds r2, r3, #1 4755 0038 FA71 strb r2, [r7, #7] 4756 003a 1A46 mov r2, r3 4757 .loc 1 1117 22 4758 003c 2A4B ldr r3, .L175 4759 003e 0021 movs r1, #0 4760 0040 9954 strb r1, [r3, r2] 1118:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4761 .loc 1 1118 18 4762 0042 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4763 0044 5A1C adds r2, r3, #1 4764 0046 FA71 strb r2, [r7, #7] 4765 0048 1A46 mov r2, r3 4766 .loc 1 1118 22 4767 004a 274B ldr r3, .L175 4768 004c 0021 movs r1, #0 4769 004e 9954 strb r1, [r3, r2] 1119:user_src/soft_p_2_c.c **** msg_buf[index++] = _MSGID_SHA1; 4770 .loc 1 1119 18 4771 0050 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4772 0052 5A1C adds r2, r3, #1 4773 0054 FA71 strb r2, [r7, #7] 4774 0056 1A46 mov r2, r3 4775 .loc 1 1119 22 4776 0058 234B ldr r3, .L175 4777 005a 1921 movs r1, #25 4778 005c 9954 strb r1, [r3, r2] 1120:user_src/soft_p_2_c.c **** 1121:user_src/soft_p_2_c.c **** msg_buf[index++] = start_msg.Dev_type; 4779 .loc 1 1121 18 4780 005e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 105 4781 0060 5A1C adds r2, r3, #1 4782 0062 FA71 strb r2, [r7, #7] 4783 0064 1A46 mov r2, r3 4784 .loc 1 1121 33 4785 0066 214B ldr r3, .L175+4 4786 0068 1979 ldrb r1, [r3, #4] @ zero_extendqisi2 4787 .loc 1 1121 22 4788 006a 1F4B ldr r3, .L175 4789 006c 9954 strb r1, [r3, r2] 1122:user_src/soft_p_2_c.c **** msg_buf[index++] = start_msg.Id; 4790 .loc 1 1122 18 4791 006e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4792 0070 5A1C adds r2, r3, #1 4793 0072 FA71 strb r2, [r7, #7] 4794 0074 1A46 mov r2, r3 4795 .loc 1 1122 33 4796 0076 1D4B ldr r3, .L175+4 4797 0078 5979 ldrb r1, [r3, #5] @ zero_extendqisi2 4798 .loc 1 1122 22 4799 007a 1B4B ldr r3, .L175 4800 007c 9954 strb r1, [r3, r2] 1123:user_src/soft_p_2_c.c **** msg_buf[index++] = start_msg.Id_content; 4801 .loc 1 1123 18 4802 007e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4803 0080 5A1C adds r2, r3, #1 4804 0082 FA71 strb r2, [r7, #7] 4805 0084 1A46 mov r2, r3 4806 .loc 1 1123 33 4807 0086 194B ldr r3, .L175+4 4808 0088 9979 ldrb r1, [r3, #6] @ zero_extendqisi2 4809 .loc 1 1123 22 4810 008a 174B ldr r3, .L175 4811 008c 9954 strb r1, [r3, r2] 1124:user_src/soft_p_2_c.c **** // if(start_msg.Id == 4) 1125:user_src/soft_p_2_c.c **** // { 1126:user_src/soft_p_2_c.c **** // start_msg.key_info_checking = false; //发送状态后结束发送 1127:user_src/soft_p_2_c.c **** // } 1128:user_src/soft_p_2_c.c **** 1129:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&start_msg.key_data[0],20); 4812 .loc 1 1129 20 4813 008e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4814 .loc 1 1129 12 4815 0090 154A ldr r2, .L175 4816 0092 1344 add r3, r3, r2 4817 .loc 1 1129 5 4818 0094 1422 movs r2, #20 4819 0096 1649 ldr r1, .L175+8 4820 0098 1846 mov r0, r3 4821 009a FFF7FEFF bl memcpy 1130:user_src/soft_p_2_c.c **** index += 20; 4822 .loc 1 1130 11 4823 009e FB79 ldrb r3, [r7, #7] 4824 00a0 1433 adds r3, r3, #20 4825 00a2 FB71 strb r3, [r7, #7] 1131:user_src/soft_p_2_c.c **** 1132:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 4826 .loc 1 1132 24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 106 4827 00a4 FB79 ldrb r3, [r7, #7] 4828 00a6 063B subs r3, r3, #6 4829 00a8 DAB2 uxtb r2, r3 4830 .loc 1 1132 16 4831 00aa 0F4B ldr r3, .L175 4832 00ac 5A70 strb r2, [r3, #1] 1133:user_src/soft_p_2_c.c **** 1134:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 4833 .loc 1 1134 11 4834 00ae FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4835 00b0 9BB2 uxth r3, r3 4836 00b2 1946 mov r1, r3 4837 00b4 0C48 ldr r0, .L175 4838 00b6 FFF7FEFF bl Get_Crc16 4839 00ba 0346 mov r3, r0 4840 00bc 1A46 mov r2, r3 4841 .loc 1 1134 9 4842 00be 0D4B ldr r3, .L175+12 4843 00c0 1A80 strh r2, [r3] @ movhi 1135:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &crc, 2); 4844 .loc 1 1135 20 4845 00c2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4846 .loc 1 1135 12 4847 00c4 084A ldr r2, .L175 4848 00c6 1344 add r3, r3, r2 4849 00c8 0A4A ldr r2, .L175+12 4850 00ca 1288 ldrh r2, [r2] 4851 .loc 1 1135 5 4852 00cc 1A80 strh r2, [r3] @ unaligned 1136:user_src/soft_p_2_c.c **** index += 2; 4853 .loc 1 1136 11 4854 00ce FB79 ldrb r3, [r7, #7] 4855 00d0 0233 adds r3, r3, #2 4856 00d2 FB71 strb r3, [r7, #7] 1137:user_src/soft_p_2_c.c **** 1138:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 4857 .loc 1 1138 5 4858 00d4 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2 4859 00d6 1946 mov r1, r3 4860 00d8 0348 ldr r0, .L175 4861 00da FFF7FEFF bl uart2_send_msg 1139:user_src/soft_p_2_c.c **** 1140:user_src/soft_p_2_c.c **** } 4862 .loc 1 1140 1 4863 00de 00BF nop 4864 00e0 0837 adds r7, r7, #8 4865 .LCFI91: 4866 .cfi_def_cfa_offset 8 4867 00e2 BD46 mov sp, r7 4868 .LCFI92: 4869 .cfi_def_cfa_register 13 4870 @ sp needed 4871 00e4 80BD pop {r7, pc} 4872 .L176: 4873 00e6 00BF .align 2 4874 .L175: 4875 00e8 00000000 .word msg_buf ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 107 4876 00ec 00000000 .word start_msg 4877 00f0 07000000 .word start_msg+7 4878 00f4 00000000 .word crc 4879 .cfi_endproc 4880 .LFE150: 4882 .global request_id 4883 .section .bss.request_id,"aw",%nobits 4886 request_id: 4887 0000 00 .space 1 4888 .global request_1_content 4889 .section .bss.request_1_content,"aw",%nobits 4890 .align 1 4893 request_1_content: 4894 0000 0000 .space 2 4895 .global request_2_content 4896 .section .bss.request_2_content,"aw",%nobits 4897 .align 2 4900 request_2_content: 4901 0000 00000000 .space 4 4902 .section .text.pmu_to_con_request_data,"ax",%progbits 4903 .align 1 4904 .global pmu_to_con_request_data 4905 .syntax unified 4906 .thumb 4907 .thumb_func 4909 pmu_to_con_request_data: 4910 .LFB151: 1141:user_src/soft_p_2_c.c **** 1142:user_src/soft_p_2_c.c **** 1143:user_src/soft_p_2_c.c **** /** 1144:user_src/soft_p_2_c.c **** * @file pmu_to_con_request_data 1145:user_src/soft_p_2_c.c **** * @brief PMU发送请求信息 1146:user_src/soft_p_2_c.c **** * @param none 1147:user_src/soft_p_2_c.c **** * @details 1148:user_src/soft_p_2_c.c **** * @author Zhang Sir 1149:user_src/soft_p_2_c.c **** **/ 1150:user_src/soft_p_2_c.c **** char request_id = 0; 1151:user_src/soft_p_2_c.c **** short request_1_content = 0; 1152:user_src/soft_p_2_c.c **** int request_2_content = 0; 1153:user_src/soft_p_2_c.c **** void pmu_to_con_request_data() 1154:user_src/soft_p_2_c.c **** { 4911 .loc 1 1154 1 4912 .cfi_startproc 4913 @ args = 0, pretend = 0, frame = 8 4914 @ frame_needed = 1, uses_anonymous_args = 0 4915 0000 80B5 push {r7, lr} 4916 .LCFI93: 4917 .cfi_def_cfa_offset 8 4918 .cfi_offset 7, -8 4919 .cfi_offset 14, -4 4920 0002 82B0 sub sp, sp, #8 4921 .LCFI94: 4922 .cfi_def_cfa_offset 16 4923 0004 00AF add r7, sp, #0 4924 .LCFI95: 4925 .cfi_def_cfa_register 7 1155:user_src/soft_p_2_c.c **** int index = 0; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 108 4926 .loc 1 1155 9 4927 0006 0023 movs r3, #0 4928 0008 7B60 str r3, [r7, #4] 1156:user_src/soft_p_2_c.c **** 1157:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 4929 .loc 1 1157 18 4930 000a 7B68 ldr r3, [r7, #4] 4931 000c 5A1C adds r2, r3, #1 4932 000e 7A60 str r2, [r7, #4] 4933 .loc 1 1157 22 4934 0010 2E4A ldr r2, .L178 4935 0012 FE21 movs r1, #254 4936 0014 D154 strb r1, [r2, r3] 1158:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4937 .loc 1 1158 18 4938 0016 7B68 ldr r3, [r7, #4] 4939 0018 5A1C adds r2, r3, #1 4940 001a 7A60 str r2, [r7, #4] 4941 .loc 1 1158 22 4942 001c 2B4A ldr r2, .L178 4943 001e 0021 movs r1, #0 4944 0020 D154 strb r1, [r2, r3] 1159:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 4945 .loc 1 1159 18 4946 0022 7B68 ldr r3, [r7, #4] 4947 0024 5A1C adds r2, r3, #1 4948 0026 7A60 str r2, [r7, #4] 4949 .loc 1 1159 22 4950 0028 284A ldr r2, .L178 4951 002a 0021 movs r1, #0 4952 002c D154 strb r1, [r2, r3] 1160:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4953 .loc 1 1160 18 4954 002e 7B68 ldr r3, [r7, #4] 4955 0030 5A1C adds r2, r3, #1 4956 0032 7A60 str r2, [r7, #4] 4957 .loc 1 1160 22 4958 0034 254A ldr r2, .L178 4959 0036 0021 movs r1, #0 4960 0038 D154 strb r1, [r2, r3] 1161:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 4961 .loc 1 1161 18 4962 003a 7B68 ldr r3, [r7, #4] 4963 003c 5A1C adds r2, r3, #1 4964 003e 7A60 str r2, [r7, #4] 4965 .loc 1 1161 22 4966 0040 224A ldr r2, .L178 4967 0042 0021 movs r1, #0 4968 0044 D154 strb r1, [r2, r3] 1162:user_src/soft_p_2_c.c **** msg_buf[index++] = 20; 4969 .loc 1 1162 18 4970 0046 7B68 ldr r3, [r7, #4] 4971 0048 5A1C adds r2, r3, #1 4972 004a 7A60 str r2, [r7, #4] 4973 .loc 1 1162 22 4974 004c 1F4A ldr r2, .L178 4975 004e 1421 movs r1, #20 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 109 4976 0050 D154 strb r1, [r2, r3] 1163:user_src/soft_p_2_c.c **** 1164:user_src/soft_p_2_c.c **** msg_buf[index++] = request_id; 4977 .loc 1 1164 18 4978 0052 7B68 ldr r3, [r7, #4] 4979 0054 5A1C adds r2, r3, #1 4980 0056 7A60 str r2, [r7, #4] 4981 .loc 1 1164 22 4982 0058 1D4A ldr r2, .L178+4 4983 005a 1178 ldrb r1, [r2] @ zero_extendqisi2 4984 005c 1B4A ldr r2, .L178 4985 005e D154 strb r1, [r2, r3] 1165:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&request_1_content,2); 4986 .loc 1 1165 12 4987 0060 7B68 ldr r3, [r7, #4] 4988 0062 1A4A ldr r2, .L178 4989 0064 1344 add r3, r3, r2 4990 0066 1B4A ldr r2, .L178+8 4991 0068 1288 ldrh r2, [r2] 4992 .loc 1 1165 5 4993 006a 1A80 strh r2, [r3] @ unaligned 1166:user_src/soft_p_2_c.c **** index += 2; 4994 .loc 1 1166 11 4995 006c 7B68 ldr r3, [r7, #4] 4996 006e 0233 adds r3, r3, #2 4997 0070 7B60 str r3, [r7, #4] 1167:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&request_2_content,4); 4998 .loc 1 1167 12 4999 0072 7B68 ldr r3, [r7, #4] 5000 0074 154A ldr r2, .L178 5001 0076 1344 add r3, r3, r2 5002 0078 174A ldr r2, .L178+12 5003 007a 1268 ldr r2, [r2] 5004 .loc 1 1167 5 5005 007c 1A60 str r2, [r3] @ unaligned 1168:user_src/soft_p_2_c.c **** index += 4; 5006 .loc 1 1168 11 5007 007e 7B68 ldr r3, [r7, #4] 5008 0080 0433 adds r3, r3, #4 5009 0082 7B60 str r3, [r7, #4] 1169:user_src/soft_p_2_c.c **** 1170:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 5010 .loc 1 1170 24 5011 0084 7B68 ldr r3, [r7, #4] 5012 0086 DBB2 uxtb r3, r3 5013 0088 063B subs r3, r3, #6 5014 008a DAB2 uxtb r2, r3 5015 .loc 1 1170 16 5016 008c 0F4B ldr r3, .L178 5017 008e 5A70 strb r2, [r3, #1] 1171:user_src/soft_p_2_c.c **** 1172:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 5018 .loc 1 1172 11 5019 0090 7B68 ldr r3, [r7, #4] 5020 0092 9BB2 uxth r3, r3 5021 0094 1946 mov r1, r3 5022 0096 0D48 ldr r0, .L178 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 110 5023 0098 FFF7FEFF bl Get_Crc16 5024 009c 0346 mov r3, r0 5025 009e 1A46 mov r2, r3 5026 .loc 1 1172 9 5027 00a0 0E4B ldr r3, .L178+16 5028 00a2 1A80 strh r2, [r3] @ movhi 1173:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &crc, 2); 5029 .loc 1 1173 12 5030 00a4 7B68 ldr r3, [r7, #4] 5031 00a6 094A ldr r2, .L178 5032 00a8 1344 add r3, r3, r2 5033 00aa 0C4A ldr r2, .L178+16 5034 00ac 1288 ldrh r2, [r2] 5035 .loc 1 1173 5 5036 00ae 1A80 strh r2, [r3] @ unaligned 1174:user_src/soft_p_2_c.c **** index += 2; 5037 .loc 1 1174 11 5038 00b0 7B68 ldr r3, [r7, #4] 5039 00b2 0233 adds r3, r3, #2 5040 00b4 7B60 str r3, [r7, #4] 1175:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 5041 .loc 1 1175 5 5042 00b6 7B68 ldr r3, [r7, #4] 5043 00b8 DBB2 uxtb r3, r3 5044 00ba 1946 mov r1, r3 5045 00bc 0348 ldr r0, .L178 5046 00be FFF7FEFF bl uart2_send_msg 1176:user_src/soft_p_2_c.c **** } 5047 .loc 1 1176 1 5048 00c2 00BF nop 5049 00c4 0837 adds r7, r7, #8 5050 .LCFI96: 5051 .cfi_def_cfa_offset 8 5052 00c6 BD46 mov sp, r7 5053 .LCFI97: 5054 .cfi_def_cfa_register 13 5055 @ sp needed 5056 00c8 80BD pop {r7, pc} 5057 .L179: 5058 00ca 00BF .align 2 5059 .L178: 5060 00cc 00000000 .word msg_buf 5061 00d0 00000000 .word request_id 5062 00d4 00000000 .word request_1_content 5063 00d8 00000000 .word request_2_content 5064 00dc 00000000 .word crc 5065 .cfi_endproc 5066 .LFE151: 5068 .global ack_id 5069 .section .bss.ack_id,"aw",%nobits 5072 ack_id: 5073 0000 00 .space 1 5074 .global ack_content 5075 .section .bss.ack_content,"aw",%nobits 5076 .align 1 5079 ack_content: 5080 0000 0000 .space 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 111 5081 .global ack_content1 5082 .section .bss.ack_content1,"aw",%nobits 5083 .align 1 5086 ack_content1: 5087 0000 0000 .space 2 5088 .global ack_content2 5089 .section .bss.ack_content2,"aw",%nobits 5090 .align 1 5093 ack_content2: 5094 0000 0000 .space 2 5095 .section .text.pmu_to_con_ack_data,"ax",%progbits 5096 .align 1 5097 .global pmu_to_con_ack_data 5098 .syntax unified 5099 .thumb 5100 .thumb_func 5102 pmu_to_con_ack_data: 5103 .LFB152: 1177:user_src/soft_p_2_c.c **** 1178:user_src/soft_p_2_c.c **** 1179:user_src/soft_p_2_c.c **** /** 1180:user_src/soft_p_2_c.c **** * @file pmu_to_con_request_data 1181:user_src/soft_p_2_c.c **** * @brief PMU发送应答信息 1182:user_src/soft_p_2_c.c **** * @param none 1183:user_src/soft_p_2_c.c **** * @details 1184:user_src/soft_p_2_c.c **** * @author Zhang Sir 1185:user_src/soft_p_2_c.c **** **/ 1186:user_src/soft_p_2_c.c **** char ack_id = 0; 1187:user_src/soft_p_2_c.c **** short ack_content = 0; 1188:user_src/soft_p_2_c.c **** short ack_content1 = 0; 1189:user_src/soft_p_2_c.c **** short ack_content2 = 0; 1190:user_src/soft_p_2_c.c **** void pmu_to_con_ack_data() 1191:user_src/soft_p_2_c.c **** { 5104 .loc 1 1191 1 5105 .cfi_startproc 5106 @ args = 0, pretend = 0, frame = 8 5107 @ frame_needed = 1, uses_anonymous_args = 0 5108 0000 80B5 push {r7, lr} 5109 .LCFI98: 5110 .cfi_def_cfa_offset 8 5111 .cfi_offset 7, -8 5112 .cfi_offset 14, -4 5113 0002 82B0 sub sp, sp, #8 5114 .LCFI99: 5115 .cfi_def_cfa_offset 16 5116 0004 00AF add r7, sp, #0 5117 .LCFI100: 5118 .cfi_def_cfa_register 7 1192:user_src/soft_p_2_c.c **** int index = 0; 5119 .loc 1 1192 9 5120 0006 0023 movs r3, #0 5121 0008 7B60 str r3, [r7, #4] 1193:user_src/soft_p_2_c.c **** 1194:user_src/soft_p_2_c.c **** msg_buf[index++] = 0xFE; 5122 .loc 1 1194 18 5123 000a 7B68 ldr r3, [r7, #4] 5124 000c 5A1C adds r2, r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 112 5125 000e 7A60 str r2, [r7, #4] 5126 .loc 1 1194 22 5127 0010 324A ldr r2, .L181 5128 0012 FE21 movs r1, #254 5129 0014 D154 strb r1, [r2, r3] 1195:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 5130 .loc 1 1195 18 5131 0016 7B68 ldr r3, [r7, #4] 5132 0018 5A1C adds r2, r3, #1 5133 001a 7A60 str r2, [r7, #4] 5134 .loc 1 1195 22 5135 001c 2F4A ldr r2, .L181 5136 001e 0021 movs r1, #0 5137 0020 D154 strb r1, [r2, r3] 1196:user_src/soft_p_2_c.c **** msg_buf[index++] = 0; 5138 .loc 1 1196 18 5139 0022 7B68 ldr r3, [r7, #4] 5140 0024 5A1C adds r2, r3, #1 5141 0026 7A60 str r2, [r7, #4] 5142 .loc 1 1196 22 5143 0028 2C4A ldr r2, .L181 5144 002a 0021 movs r1, #0 5145 002c D154 strb r1, [r2, r3] 1197:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 5146 .loc 1 1197 18 5147 002e 7B68 ldr r3, [r7, #4] 5148 0030 5A1C adds r2, r3, #1 5149 0032 7A60 str r2, [r7, #4] 5150 .loc 1 1197 22 5151 0034 294A ldr r2, .L181 5152 0036 0021 movs r1, #0 5153 0038 D154 strb r1, [r2, r3] 1198:user_src/soft_p_2_c.c **** msg_buf[index++] = 0x00; 5154 .loc 1 1198 18 5155 003a 7B68 ldr r3, [r7, #4] 5156 003c 5A1C adds r2, r3, #1 5157 003e 7A60 str r2, [r7, #4] 5158 .loc 1 1198 22 5159 0040 264A ldr r2, .L181 5160 0042 0021 movs r1, #0 5161 0044 D154 strb r1, [r2, r3] 1199:user_src/soft_p_2_c.c **** msg_buf[index++] = 21; 5162 .loc 1 1199 18 5163 0046 7B68 ldr r3, [r7, #4] 5164 0048 5A1C adds r2, r3, #1 5165 004a 7A60 str r2, [r7, #4] 5166 .loc 1 1199 22 5167 004c 234A ldr r2, .L181 5168 004e 1521 movs r1, #21 5169 0050 D154 strb r1, [r2, r3] 1200:user_src/soft_p_2_c.c **** 1201:user_src/soft_p_2_c.c **** msg_buf[index++] = ack_id; 5170 .loc 1 1201 18 5171 0052 7B68 ldr r3, [r7, #4] 5172 0054 5A1C adds r2, r3, #1 5173 0056 7A60 str r2, [r7, #4] 5174 .loc 1 1201 22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 113 5175 0058 214A ldr r2, .L181+4 5176 005a 1178 ldrb r1, [r2] @ zero_extendqisi2 5177 005c 1F4A ldr r2, .L181 5178 005e D154 strb r1, [r2, r3] 1202:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ack_content,2); 5179 .loc 1 1202 12 5180 0060 7B68 ldr r3, [r7, #4] 5181 0062 1E4A ldr r2, .L181 5182 0064 1344 add r3, r3, r2 5183 0066 1F4A ldr r2, .L181+8 5184 0068 1288 ldrh r2, [r2] 5185 .loc 1 1202 5 5186 006a 1A80 strh r2, [r3] @ unaligned 1203:user_src/soft_p_2_c.c **** index += 2; 5187 .loc 1 1203 11 5188 006c 7B68 ldr r3, [r7, #4] 5189 006e 0233 adds r3, r3, #2 5190 0070 7B60 str r3, [r7, #4] 1204:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ack_content1,2); 5191 .loc 1 1204 12 5192 0072 7B68 ldr r3, [r7, #4] 5193 0074 194A ldr r2, .L181 5194 0076 1344 add r3, r3, r2 5195 0078 1B4A ldr r2, .L181+12 5196 007a 1288 ldrh r2, [r2] 5197 .loc 1 1204 5 5198 007c 1A80 strh r2, [r3] @ unaligned 1205:user_src/soft_p_2_c.c **** index += 2; 5199 .loc 1 1205 11 5200 007e 7B68 ldr r3, [r7, #4] 5201 0080 0233 adds r3, r3, #2 5202 0082 7B60 str r3, [r7, #4] 1206:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index],&ack_content2,2); 5203 .loc 1 1206 12 5204 0084 7B68 ldr r3, [r7, #4] 5205 0086 154A ldr r2, .L181 5206 0088 1344 add r3, r3, r2 5207 008a 184A ldr r2, .L181+16 5208 008c 1288 ldrh r2, [r2] 5209 .loc 1 1206 5 5210 008e 1A80 strh r2, [r3] @ unaligned 1207:user_src/soft_p_2_c.c **** index += 2; 5211 .loc 1 1207 11 5212 0090 7B68 ldr r3, [r7, #4] 5213 0092 0233 adds r3, r3, #2 5214 0094 7B60 str r3, [r7, #4] 1208:user_src/soft_p_2_c.c **** 1209:user_src/soft_p_2_c.c **** msg_buf[1] = index - 6; 5215 .loc 1 1209 24 5216 0096 7B68 ldr r3, [r7, #4] 5217 0098 DBB2 uxtb r3, r3 5218 009a 063B subs r3, r3, #6 5219 009c DAB2 uxtb r2, r3 5220 .loc 1 1209 16 5221 009e 0F4B ldr r3, .L181 5222 00a0 5A70 strb r2, [r3, #1] 1210:user_src/soft_p_2_c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 114 1211:user_src/soft_p_2_c.c **** crc = Get_Crc16(msg_buf, index); 5223 .loc 1 1211 11 5224 00a2 7B68 ldr r3, [r7, #4] 5225 00a4 9BB2 uxth r3, r3 5226 00a6 1946 mov r1, r3 5227 00a8 0C48 ldr r0, .L181 5228 00aa FFF7FEFF bl Get_Crc16 5229 00ae 0346 mov r3, r0 5230 00b0 1A46 mov r2, r3 5231 .loc 1 1211 9 5232 00b2 0F4B ldr r3, .L181+20 5233 00b4 1A80 strh r2, [r3] @ movhi 1212:user_src/soft_p_2_c.c **** memcpy(&msg_buf[index], &crc, 2); 5234 .loc 1 1212 12 5235 00b6 7B68 ldr r3, [r7, #4] 5236 00b8 084A ldr r2, .L181 5237 00ba 1344 add r3, r3, r2 5238 00bc 0C4A ldr r2, .L181+20 5239 00be 1288 ldrh r2, [r2] 5240 .loc 1 1212 5 5241 00c0 1A80 strh r2, [r3] @ unaligned 1213:user_src/soft_p_2_c.c **** index += 2; 5242 .loc 1 1213 11 5243 00c2 7B68 ldr r3, [r7, #4] 5244 00c4 0233 adds r3, r3, #2 5245 00c6 7B60 str r3, [r7, #4] 1214:user_src/soft_p_2_c.c **** uart2_send_msg(msg_buf, index); 5246 .loc 1 1214 5 5247 00c8 7B68 ldr r3, [r7, #4] 5248 00ca DBB2 uxtb r3, r3 5249 00cc 1946 mov r1, r3 5250 00ce 0348 ldr r0, .L181 5251 00d0 FFF7FEFF bl uart2_send_msg 1215:user_src/soft_p_2_c.c **** } 5252 .loc 1 1215 1 5253 00d4 00BF nop 5254 00d6 0837 adds r7, r7, #8 5255 .LCFI101: 5256 .cfi_def_cfa_offset 8 5257 00d8 BD46 mov sp, r7 5258 .LCFI102: 5259 .cfi_def_cfa_register 13 5260 @ sp needed 5261 00da 80BD pop {r7, pc} 5262 .L182: 5263 .align 2 5264 .L181: 5265 00dc 00000000 .word msg_buf 5266 00e0 00000000 .word ack_id 5267 00e4 00000000 .word ack_content 5268 00e8 00000000 .word ack_content1 5269 00ec 00000000 .word ack_content2 5270 00f0 00000000 .word crc 5271 .cfi_endproc 5272 .LFE152: 5274 .global pmu_send 5275 .section .data.pmu_send,"aw" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 115 5278 pmu_send: 5279 0000 01 .byte 1 5280 .global utc_time 5281 .section .bss.utc_time,"aw",%nobits 5282 .align 2 5285 utc_time: 5286 0000 00000000 .space 4 5287 .section .text.pmu_to_fcu,"ax",%progbits 5288 .align 1 5289 .global pmu_to_fcu 5290 .syntax unified 5291 .thumb 5292 .thumb_func 5294 pmu_to_fcu: 5295 .LFB153: 1216:user_src/soft_p_2_c.c **** 1217:user_src/soft_p_2_c.c **** 1218:user_src/soft_p_2_c.c **** /******************void pmu_to_fcu()****************************** 1219:user_src/soft_p_2_c.c **** * ****************PMU发送信息给主控******************************** 1220:user_src/soft_p_2_c.c **** * ****************************************************************/ 1221:user_src/soft_p_2_c.c **** /** 1222:user_src/soft_p_2_c.c **** * @file pmu_to_fcu 1223:user_src/soft_p_2_c.c **** * @brief PMU发送信息给FMU 1224:user_src/soft_p_2_c.c **** * @param none 1225:user_src/soft_p_2_c.c **** * @details UART2 1226:user_src/soft_p_2_c.c **** * @author Zhang Sir 1227:user_src/soft_p_2_c.c **** **/ 1228:user_src/soft_p_2_c.c **** uint8_t pmu_send = PMU_SEND_YAOCE; 1229:user_src/soft_p_2_c.c **** uint32_t utc_time = 0; 1230:user_src/soft_p_2_c.c **** void pmu_to_fcu() 1231:user_src/soft_p_2_c.c **** { 5296 .loc 1 1231 1 5297 .cfi_startproc 5298 @ args = 0, pretend = 0, frame = 0 5299 @ frame_needed = 1, uses_anonymous_args = 0 5300 0000 80B5 push {r7, lr} 5301 .LCFI103: 5302 .cfi_def_cfa_offset 8 5303 .cfi_offset 7, -8 5304 .cfi_offset 14, -4 5305 0002 00AF add r7, sp, #0 5306 .LCFI104: 5307 .cfi_def_cfa_register 7 1232:user_src/soft_p_2_c.c **** //串口阻塞 和雷达升级不发送 1233:user_src/soft_p_2_c.c **** if(uart_info.vk_dev_update_flag != true && EZup_par.update_flag != true && Rupdate.update_flag 5308 .loc 1 1233 17 5309 0004 534B ldr r3, .L205 5310 0006 93F81D31 ldrb r3, [r3, #285] @ zero_extendqisi2 5311 .loc 1 1233 37 5312 000a 83F00103 eor r3, r3, #1 5313 000e DBB2 uxtb r3, r3 5314 .loc 1 1233 7 5315 0010 002B cmp r3, #0 5316 0012 00F09D80 beq .L202 5317 .loc 1 1233 56 discriminator 1 5318 0016 504B ldr r3, .L205+4 5319 0018 1B78 ldrb r3, [r3] @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 116 5320 .loc 1 1233 69 discriminator 1 5321 001a 83F00103 eor r3, r3, #1 5322 001e DBB2 uxtb r3, r3 5323 .loc 1 1233 45 discriminator 1 5324 0020 002B cmp r3, #0 5325 0022 00F09580 beq .L202 5326 .loc 1 1233 87 discriminator 2 5327 0026 4D4B ldr r3, .L205+8 5328 0028 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2 5329 .loc 1 1233 100 discriminator 2 5330 002a 83F00103 eor r3, r3, #1 5331 002e DBB2 uxtb r3, r3 5332 .loc 1 1233 77 discriminator 2 5333 0030 002B cmp r3, #0 5334 0032 00F08D80 beq .L202 1234:user_src/soft_p_2_c.c **** { 1235:user_src/soft_p_2_c.c **** switch (pmu_send) 5335 .loc 1 1235 9 5336 0036 4A4B ldr r3, .L205+12 5337 0038 1B78 ldrb r3, [r3] @ zero_extendqisi2 5338 003a 013B subs r3, r3, #1 5339 003c 052B cmp r3, #5 5340 003e 69D8 bhi .L203 5341 0040 01A2 adr r2, .L187 5342 0042 52F823F0 ldr pc, [r2, r3, lsl #2] 5343 0046 00BF .p2align 2 5344 .L187: 5345 0048 61000000 .word .L192+1 5346 004c D9000000 .word .L191+1 5347 0050 E5000000 .word .L190+1 5348 0054 F1000000 .word .L189+1 5349 0058 FD000000 .word .L188+1 5350 005c 09010000 .word .L186+1 5351 .p2align 1 5352 .L192: 1236:user_src/soft_p_2_c.c **** { 1237:user_src/soft_p_2_c.c **** case PMU_SEND_YAOCE: 1238:user_src/soft_p_2_c.c **** //发送电压信息 1239:user_src/soft_p_2_c.c **** if (vol_flag == true) 5353 .loc 1 1239 26 5354 0060 404B ldr r3, .L205+16 5355 0062 1B78 ldrb r3, [r3] @ zero_extendqisi2 5356 .loc 1 1239 16 5357 0064 002B cmp r3, #0 5358 0066 05D0 beq .L193 1240:user_src/soft_p_2_c.c **** { 1241:user_src/soft_p_2_c.c **** pmu_to_con_voltage_data(); 5359 .loc 1 1241 17 5360 0068 FFF7FEFF bl pmu_to_con_voltage_data 1242:user_src/soft_p_2_c.c **** vol_flag = false; 5361 .loc 1 1242 26 5362 006c 3D4B ldr r3, .L205+16 5363 006e 0022 movs r2, #0 5364 0070 1A70 strb r2, [r3] 1243:user_src/soft_p_2_c.c **** } 1244:user_src/soft_p_2_c.c **** //发动机信息 1245:user_src/soft_p_2_c.c **** else if (engine_flag == true) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 117 1246:user_src/soft_p_2_c.c **** { 1247:user_src/soft_p_2_c.c **** pmu_to_con_engine_data(); 1248:user_src/soft_p_2_c.c **** engine_flag = false; 1249:user_src/soft_p_2_c.c **** } 1250:user_src/soft_p_2_c.c **** // //mimo360测试 1251:user_src/soft_p_2_c.c **** // else if (mimo360_radar_flag == true) 1252:user_src/soft_p_2_c.c **** // { 1253:user_src/soft_p_2_c.c **** // pmu_to_con_radar360_data(); 1254:user_src/soft_p_2_c.c **** // mimo360_radar_flag = false; 1255:user_src/soft_p_2_c.c **** // } 1256:user_src/soft_p_2_c.c **** //电目雷达测试 1257:user_src/soft_p_2_c.c **** else if(DM_radar_flag == true) 1258:user_src/soft_p_2_c.c **** { 1259:user_src/soft_p_2_c.c **** pmu_to_con_DMradar_data(); 1260:user_src/soft_p_2_c.c **** DM_radar_flag = false; 1261:user_src/soft_p_2_c.c **** } 1262:user_src/soft_p_2_c.c **** //CAN调试信息 1263:user_src/soft_p_2_c.c **** else if(can_debug_flag == true) 1264:user_src/soft_p_2_c.c **** { 1265:user_src/soft_p_2_c.c **** Can_send_debug_to_app(); 1266:user_src/soft_p_2_c.c **** can_debug_flag = false; 1267:user_src/soft_p_2_c.c **** } 1268:user_src/soft_p_2_c.c **** //设备SN号,软硬件号 1269:user_src/soft_p_2_c.c **** else if (dev_version_flag == true) 1270:user_src/soft_p_2_c.c **** { 1271:user_src/soft_p_2_c.c **** pmu_to_fcu_version_data(); 1272:user_src/soft_p_2_c.c **** dev_version_flag = false; 1273:user_src/soft_p_2_c.c **** } 1274:user_src/soft_p_2_c.c **** //设备信息 1275:user_src/soft_p_2_c.c **** else if (devtype_flag == true) 1276:user_src/soft_p_2_c.c **** { 1277:user_src/soft_p_2_c.c **** pmu_to_con_devtype_data(); 1278:user_src/soft_p_2_c.c **** devtype_flag = false; 1279:user_src/soft_p_2_c.c **** } 1280:user_src/soft_p_2_c.c **** break; 5365 .loc 1 1280 13 5366 0072 51E0 b .L204 5367 .L193: 1245:user_src/soft_p_2_c.c **** { 5368 .loc 1 1245 34 5369 0074 3C4B ldr r3, .L205+20 5370 0076 1B78 ldrb r3, [r3] @ zero_extendqisi2 1245:user_src/soft_p_2_c.c **** { 5371 .loc 1 1245 21 5372 0078 002B cmp r3, #0 5373 007a 05D0 beq .L195 1247:user_src/soft_p_2_c.c **** engine_flag = false; 5374 .loc 1 1247 17 5375 007c FFF7FEFF bl pmu_to_con_engine_data 1248:user_src/soft_p_2_c.c **** } 5376 .loc 1 1248 29 5377 0080 394B ldr r3, .L205+20 5378 0082 0022 movs r2, #0 5379 0084 1A70 strb r2, [r3] 5380 .loc 1 1280 13 5381 0086 47E0 b .L204 5382 .L195: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 118 1257:user_src/soft_p_2_c.c **** { 5383 .loc 1 1257 35 5384 0088 384B ldr r3, .L205+24 5385 008a 1B78 ldrb r3, [r3] @ zero_extendqisi2 1257:user_src/soft_p_2_c.c **** { 5386 .loc 1 1257 20 5387 008c 002B cmp r3, #0 5388 008e 05D0 beq .L196 1259:user_src/soft_p_2_c.c **** DM_radar_flag = false; 5389 .loc 1 1259 17 5390 0090 FFF7FEFF bl pmu_to_con_DMradar_data 1260:user_src/soft_p_2_c.c **** } 5391 .loc 1 1260 31 5392 0094 354B ldr r3, .L205+24 5393 0096 0022 movs r2, #0 5394 0098 1A70 strb r2, [r3] 5395 .loc 1 1280 13 5396 009a 3DE0 b .L204 5397 .L196: 1263:user_src/soft_p_2_c.c **** { 5398 .loc 1 1263 36 5399 009c 344B ldr r3, .L205+28 5400 009e 1B78 ldrb r3, [r3] @ zero_extendqisi2 1263:user_src/soft_p_2_c.c **** { 5401 .loc 1 1263 20 5402 00a0 002B cmp r3, #0 5403 00a2 05D0 beq .L197 1265:user_src/soft_p_2_c.c **** can_debug_flag = false; 5404 .loc 1 1265 17 5405 00a4 FFF7FEFF bl Can_send_debug_to_app 1266:user_src/soft_p_2_c.c **** } 5406 .loc 1 1266 32 5407 00a8 314B ldr r3, .L205+28 5408 00aa 0022 movs r2, #0 5409 00ac 1A70 strb r2, [r3] 5410 .loc 1 1280 13 5411 00ae 33E0 b .L204 5412 .L197: 1269:user_src/soft_p_2_c.c **** { 5413 .loc 1 1269 39 5414 00b0 304B ldr r3, .L205+32 5415 00b2 1B78 ldrb r3, [r3] @ zero_extendqisi2 1269:user_src/soft_p_2_c.c **** { 5416 .loc 1 1269 21 5417 00b4 002B cmp r3, #0 5418 00b6 05D0 beq .L198 1271:user_src/soft_p_2_c.c **** dev_version_flag = false; 5419 .loc 1 1271 17 5420 00b8 FFF7FEFF bl pmu_to_fcu_version_data 1272:user_src/soft_p_2_c.c **** } 5421 .loc 1 1272 34 5422 00bc 2D4B ldr r3, .L205+32 5423 00be 0022 movs r2, #0 5424 00c0 1A70 strb r2, [r3] 5425 .loc 1 1280 13 5426 00c2 29E0 b .L204 5427 .L198: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 119 1275:user_src/soft_p_2_c.c **** { 5428 .loc 1 1275 35 5429 00c4 2C4B ldr r3, .L205+36 5430 00c6 1B78 ldrb r3, [r3] @ zero_extendqisi2 1275:user_src/soft_p_2_c.c **** { 5431 .loc 1 1275 21 5432 00c8 002B cmp r3, #0 5433 00ca 25D0 beq .L204 1277:user_src/soft_p_2_c.c **** devtype_flag = false; 5434 .loc 1 1277 17 5435 00cc FFF7FEFF bl pmu_to_con_devtype_data 1278:user_src/soft_p_2_c.c **** } 5436 .loc 1 1278 30 5437 00d0 294B ldr r3, .L205+36 5438 00d2 0022 movs r2, #0 5439 00d4 1A70 strb r2, [r3] 5440 .loc 1 1280 13 5441 00d6 1FE0 b .L204 5442 .L191: 1281:user_src/soft_p_2_c.c **** case PMU_SEND_REQINFO: 1282:user_src/soft_p_2_c.c **** pmu_to_con_request_data(); 5443 .loc 1 1282 13 5444 00d8 FFF7FEFF bl pmu_to_con_request_data 1283:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_YAOCE; 5445 .loc 1 1283 22 5446 00dc 204B ldr r3, .L205+12 5447 00de 0122 movs r2, #1 5448 00e0 1A70 strb r2, [r3] 1284:user_src/soft_p_2_c.c **** break; 5449 .loc 1 1284 13 5450 00e2 1AE0 b .L199 5451 .L190: 1285:user_src/soft_p_2_c.c **** case PMU_SEND_ACK: 1286:user_src/soft_p_2_c.c **** pmu_to_con_ack_data(); 5452 .loc 1 1286 13 5453 00e4 FFF7FEFF bl pmu_to_con_ack_data 1287:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_YAOCE; 5454 .loc 1 1287 22 5455 00e8 1D4B ldr r3, .L205+12 5456 00ea 0122 movs r2, #1 5457 00ec 1A70 strb r2, [r3] 1288:user_src/soft_p_2_c.c **** break; 5458 .loc 1 1288 13 5459 00ee 14E0 b .L199 5460 .L189: 1289:user_src/soft_p_2_c.c **** case PMU_SEND_VERSION: 1290:user_src/soft_p_2_c.c **** pmu_to_con_version_data(); 5461 .loc 1 1290 13 5462 00f0 FFF7FEFF bl pmu_to_con_version_data 1291:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_YAOCE; 5463 .loc 1 1291 22 5464 00f4 1A4B ldr r3, .L205+12 5465 00f6 0122 movs r2, #1 5466 00f8 1A70 strb r2, [r3] 1292:user_src/soft_p_2_c.c **** break; 5467 .loc 1 1292 13 5468 00fa 0EE0 b .L199 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 120 5469 .L188: 1293:user_src/soft_p_2_c.c **** case PMU_SEND_SHA1: 1294:user_src/soft_p_2_c.c **** pmu_to_fcu_key_data(); 5470 .loc 1 1294 13 5471 00fc FFF7FEFF bl pmu_to_fcu_key_data 1295:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_YAOCE; 5472 .loc 1 1295 22 5473 0100 174B ldr r3, .L205+12 5474 0102 0122 movs r2, #1 5475 0104 1A70 strb r2, [r3] 1296:user_src/soft_p_2_c.c **** break; 5476 .loc 1 1296 13 5477 0106 08E0 b .L199 5478 .L186: 1297:user_src/soft_p_2_c.c **** case PMU_SEND_DEV_INFO: 1298:user_src/soft_p_2_c.c **** pmu_to_fcu_version_data(); 5479 .loc 1 1298 13 5480 0108 FFF7FEFF bl pmu_to_fcu_version_data 1299:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_YAOCE; 5481 .loc 1 1299 22 5482 010c 144B ldr r3, .L205+12 5483 010e 0122 movs r2, #1 5484 0110 1A70 strb r2, [r3] 1300:user_src/soft_p_2_c.c **** break; 5485 .loc 1 1300 13 5486 0112 02E0 b .L199 5487 .L203: 1301:user_src/soft_p_2_c.c **** default: 1302:user_src/soft_p_2_c.c **** break; 5488 .loc 1 1302 13 5489 0114 00BF nop 5490 0116 00E0 b .L199 5491 .L204: 1280:user_src/soft_p_2_c.c **** case PMU_SEND_REQINFO: 5492 .loc 1 1280 13 5493 0118 00BF nop 5494 .L199: 1303:user_src/soft_p_2_c.c **** } 1304:user_src/soft_p_2_c.c **** //心跳包单独发 1305:user_src/soft_p_2_c.c **** if(pmu_heart_flag == true) 5495 .loc 1 1305 27 5496 011a 184B ldr r3, .L205+40 5497 011c 1B78 ldrb r3, [r3] @ zero_extendqisi2 5498 .loc 1 1305 11 5499 011e 002B cmp r3, #0 5500 0120 04D0 beq .L200 1306:user_src/soft_p_2_c.c **** { 1307:user_src/soft_p_2_c.c **** pmu_to_con_heart_data(); 5501 .loc 1 1307 13 5502 0122 FFF7FEFF bl pmu_to_con_heart_data 1308:user_src/soft_p_2_c.c **** pmu_heart_flag = false; 5503 .loc 1 1308 28 5504 0126 154B ldr r3, .L205+40 5505 0128 0022 movs r2, #0 5506 012a 1A70 strb r2, [r3] 5507 .L200: 1309:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 121 1310:user_src/soft_p_2_c.c **** if(F4d_send_flag == true) 5508 .loc 1 1310 26 5509 012c 144B ldr r3, .L205+44 5510 012e 1B78 ldrb r3, [r3] @ zero_extendqisi2 5511 .loc 1 1310 11 5512 0130 002B cmp r3, #0 5513 0132 04D0 beq .L201 1311:user_src/soft_p_2_c.c **** { 1312:user_src/soft_p_2_c.c **** pmu_to_con_DM4DFradar_data(); 5514 .loc 1 1312 13 5515 0134 FFF7FEFF bl pmu_to_con_DM4DFradar_data 1313:user_src/soft_p_2_c.c **** F4d_send_flag = false; 5516 .loc 1 1313 27 5517 0138 114B ldr r3, .L205+44 5518 013a 0022 movs r2, #0 5519 013c 1A70 strb r2, [r3] 5520 .L201: 1314:user_src/soft_p_2_c.c **** } 1315:user_src/soft_p_2_c.c **** if(DM4Dmsg_send_fmu == true) 5521 .loc 1 1315 29 5522 013e 114B ldr r3, .L205+48 5523 0140 1B78 ldrb r3, [r3] @ zero_extendqisi2 5524 .loc 1 1315 11 5525 0142 002B cmp r3, #0 5526 0144 04D0 beq .L202 1316:user_src/soft_p_2_c.c **** { 1317:user_src/soft_p_2_c.c **** pmu_to_con_DM4DBradar_msg(); 5527 .loc 1 1317 13 5528 0146 FFF7FEFF bl pmu_to_con_DM4DBradar_msg 1318:user_src/soft_p_2_c.c **** DM4Dmsg_send_fmu = false; 5529 .loc 1 1318 30 5530 014a 0E4B ldr r3, .L205+48 5531 014c 0022 movs r2, #0 5532 014e 1A70 strb r2, [r3] 5533 .L202: 1319:user_src/soft_p_2_c.c **** } 1320:user_src/soft_p_2_c.c **** } 1321:user_src/soft_p_2_c.c **** } 5534 .loc 1 1321 1 5535 0150 00BF nop 5536 0152 80BD pop {r7, pc} 5537 .L206: 5538 .align 2 5539 .L205: 5540 0154 00000000 .word uart_info 5541 0158 00000000 .word EZup_par 5542 015c 00000000 .word Rupdate 5543 0160 00000000 .word pmu_send 5544 0164 00000000 .word vol_flag 5545 0168 00000000 .word engine_flag 5546 016c 00000000 .word DM_radar_flag 5547 0170 00000000 .word can_debug_flag 5548 0174 00000000 .word dev_version_flag 5549 0178 00000000 .word devtype_flag 5550 017c 00000000 .word pmu_heart_flag 5551 0180 00000000 .word F4d_send_flag 5552 0184 00000000 .word DM4Dmsg_send_fmu ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 122 5553 .cfi_endproc 5554 .LFE153: 5556 .section .text.Check_Rst,"ax",%progbits 5557 .align 1 5558 .global Check_Rst 5559 .syntax unified 5560 .thumb 5561 .thumb_func 5563 Check_Rst: 5564 .LFB154: 1322:user_src/soft_p_2_c.c **** 1323:user_src/soft_p_2_c.c **** void Check_Rst(void) 1324:user_src/soft_p_2_c.c **** { 5565 .loc 1 1324 1 5566 .cfi_startproc 5567 @ args = 0, pretend = 0, frame = 240 5568 @ frame_needed = 1, uses_anonymous_args = 0 5569 @ link register save eliminated. 5570 0000 80B4 push {r7} 5571 .LCFI105: 5572 .cfi_def_cfa_offset 4 5573 .cfi_offset 7, -4 5574 0002 BDB0 sub sp, sp, #244 5575 .LCFI106: 5576 .cfi_def_cfa_offset 248 5577 0004 00AF add r7, sp, #0 5578 .LCFI107: 5579 .cfi_def_cfa_register 7 5580 0006 4FF08063 mov r3, #67108864 5581 000a C7F8EC30 str r3, [r7, #236] 5582 .LBB92: 5583 .LBB93: 5584 .file 2 "Drivers/CMSIS/Include/cmsis_gcc.h" 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//** 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/ 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /* 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved. 9:Drivers/CMSIS/Include/cmsis_gcc.h **** * 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0 11:Drivers/CMSIS/Include/cmsis_gcc.h **** * 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License. 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at 15:Drivers/CMSIS/Include/cmsis_gcc.h **** * 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0 17:Drivers/CMSIS/Include/cmsis_gcc.h **** * 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License. 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 24:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 123 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H 27:Drivers/CMSIS/Include/cmsis_gcc.h **** 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion" 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion" 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter" 33:Drivers/CMSIS/Include/cmsis_gcc.h **** 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0) 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 38:Drivers/CMSIS/Include/cmsis_gcc.h **** 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__)) 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used)) 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak)) 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1))) 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1))) 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1))) 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; }; 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v) 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 124 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; }; 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))- 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; }; 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; }; 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))- 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked" 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes" 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; }; 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x))) 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 116:Drivers/CMSIS/Include/cmsis_gcc.h **** 117:Drivers/CMSIS/Include/cmsis_gcc.h **** 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */ 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 123:Drivers/CMSIS/Include/cmsis_gcc.h **** 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR. 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void) 130:Drivers/CMSIS/Include/cmsis_gcc.h **** { 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory"); 132:Drivers/CMSIS/Include/cmsis_gcc.h **** } 133:Drivers/CMSIS/Include/cmsis_gcc.h **** 134:Drivers/CMSIS/Include/cmsis_gcc.h **** 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR. 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 125 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void) 141:Drivers/CMSIS/Include/cmsis_gcc.h **** { 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory"); 143:Drivers/CMSIS/Include/cmsis_gcc.h **** } 144:Drivers/CMSIS/Include/cmsis_gcc.h **** 145:Drivers/CMSIS/Include/cmsis_gcc.h **** 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register. 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void) 152:Drivers/CMSIS/Include/cmsis_gcc.h **** { 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 154:Drivers/CMSIS/Include/cmsis_gcc.h **** 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) ); 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 157:Drivers/CMSIS/Include/cmsis_gcc.h **** } 158:Drivers/CMSIS/Include/cmsis_gcc.h **** 159:Drivers/CMSIS/Include/cmsis_gcc.h **** 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure) 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode. 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void) 167:Drivers/CMSIS/Include/cmsis_gcc.h **** { 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 169:Drivers/CMSIS/Include/cmsis_gcc.h **** 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) ); 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 172:Drivers/CMSIS/Include/cmsis_gcc.h **** } 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 174:Drivers/CMSIS/Include/cmsis_gcc.h **** 175:Drivers/CMSIS/Include/cmsis_gcc.h **** 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register. 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control) 182:Drivers/CMSIS/Include/cmsis_gcc.h **** { 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory"); 184:Drivers/CMSIS/Include/cmsis_gcc.h **** } 185:Drivers/CMSIS/Include/cmsis_gcc.h **** 186:Drivers/CMSIS/Include/cmsis_gcc.h **** 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure) 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state. 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control) 194:Drivers/CMSIS/Include/cmsis_gcc.h **** { 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory"); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 126 196:Drivers/CMSIS/Include/cmsis_gcc.h **** } 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 198:Drivers/CMSIS/Include/cmsis_gcc.h **** 199:Drivers/CMSIS/Include/cmsis_gcc.h **** 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register. 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void) 206:Drivers/CMSIS/Include/cmsis_gcc.h **** { 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 208:Drivers/CMSIS/Include/cmsis_gcc.h **** 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) ); 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 211:Drivers/CMSIS/Include/cmsis_gcc.h **** } 212:Drivers/CMSIS/Include/cmsis_gcc.h **** 213:Drivers/CMSIS/Include/cmsis_gcc.h **** 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register. 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void) 220:Drivers/CMSIS/Include/cmsis_gcc.h **** { 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 222:Drivers/CMSIS/Include/cmsis_gcc.h **** 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) ); 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 225:Drivers/CMSIS/Include/cmsis_gcc.h **** } 226:Drivers/CMSIS/Include/cmsis_gcc.h **** 227:Drivers/CMSIS/Include/cmsis_gcc.h **** 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register. 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void) 234:Drivers/CMSIS/Include/cmsis_gcc.h **** { 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 236:Drivers/CMSIS/Include/cmsis_gcc.h **** 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) ); 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 239:Drivers/CMSIS/Include/cmsis_gcc.h **** } 240:Drivers/CMSIS/Include/cmsis_gcc.h **** 241:Drivers/CMSIS/Include/cmsis_gcc.h **** 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP). 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void) 248:Drivers/CMSIS/Include/cmsis_gcc.h **** { 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 250:Drivers/CMSIS/Include/cmsis_gcc.h **** 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) ); 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 127 253:Drivers/CMSIS/Include/cmsis_gcc.h **** } 254:Drivers/CMSIS/Include/cmsis_gcc.h **** 255:Drivers/CMSIS/Include/cmsis_gcc.h **** 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure) 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void) 263:Drivers/CMSIS/Include/cmsis_gcc.h **** { 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 265:Drivers/CMSIS/Include/cmsis_gcc.h **** 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) ); 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 268:Drivers/CMSIS/Include/cmsis_gcc.h **** } 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 270:Drivers/CMSIS/Include/cmsis_gcc.h **** 271:Drivers/CMSIS/Include/cmsis_gcc.h **** 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP). 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack) 278:Drivers/CMSIS/Include/cmsis_gcc.h **** { 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : ); 280:Drivers/CMSIS/Include/cmsis_gcc.h **** } 281:Drivers/CMSIS/Include/cmsis_gcc.h **** 282:Drivers/CMSIS/Include/cmsis_gcc.h **** 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack) 290:Drivers/CMSIS/Include/cmsis_gcc.h **** { 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : ); 292:Drivers/CMSIS/Include/cmsis_gcc.h **** } 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 294:Drivers/CMSIS/Include/cmsis_gcc.h **** 295:Drivers/CMSIS/Include/cmsis_gcc.h **** 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP). 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void) 302:Drivers/CMSIS/Include/cmsis_gcc.h **** { 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 304:Drivers/CMSIS/Include/cmsis_gcc.h **** 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) ); 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 307:Drivers/CMSIS/Include/cmsis_gcc.h **** } 308:Drivers/CMSIS/Include/cmsis_gcc.h **** 309:Drivers/CMSIS/Include/cmsis_gcc.h **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 128 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure) 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void) 317:Drivers/CMSIS/Include/cmsis_gcc.h **** { 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 319:Drivers/CMSIS/Include/cmsis_gcc.h **** 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) ); 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 322:Drivers/CMSIS/Include/cmsis_gcc.h **** } 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 324:Drivers/CMSIS/Include/cmsis_gcc.h **** 325:Drivers/CMSIS/Include/cmsis_gcc.h **** 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP). 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack) 332:Drivers/CMSIS/Include/cmsis_gcc.h **** { 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : ); 334:Drivers/CMSIS/Include/cmsis_gcc.h **** } 335:Drivers/CMSIS/Include/cmsis_gcc.h **** 336:Drivers/CMSIS/Include/cmsis_gcc.h **** 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure) 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state. 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack) 344:Drivers/CMSIS/Include/cmsis_gcc.h **** { 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : ); 346:Drivers/CMSIS/Include/cmsis_gcc.h **** } 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 348:Drivers/CMSIS/Include/cmsis_gcc.h **** 349:Drivers/CMSIS/Include/cmsis_gcc.h **** 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure) 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state. 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void) 357:Drivers/CMSIS/Include/cmsis_gcc.h **** { 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 359:Drivers/CMSIS/Include/cmsis_gcc.h **** 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) ); 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 362:Drivers/CMSIS/Include/cmsis_gcc.h **** } 363:Drivers/CMSIS/Include/cmsis_gcc.h **** 364:Drivers/CMSIS/Include/cmsis_gcc.h **** 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 129 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state. 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack) 371:Drivers/CMSIS/Include/cmsis_gcc.h **** { 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : ); 373:Drivers/CMSIS/Include/cmsis_gcc.h **** } 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 375:Drivers/CMSIS/Include/cmsis_gcc.h **** 376:Drivers/CMSIS/Include/cmsis_gcc.h **** 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register. 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void) 383:Drivers/CMSIS/Include/cmsis_gcc.h **** { 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 385:Drivers/CMSIS/Include/cmsis_gcc.h **** 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory"); 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 388:Drivers/CMSIS/Include/cmsis_gcc.h **** } 389:Drivers/CMSIS/Include/cmsis_gcc.h **** 390:Drivers/CMSIS/Include/cmsis_gcc.h **** 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure) 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void) 398:Drivers/CMSIS/Include/cmsis_gcc.h **** { 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 400:Drivers/CMSIS/Include/cmsis_gcc.h **** 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory"); 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 403:Drivers/CMSIS/Include/cmsis_gcc.h **** } 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 405:Drivers/CMSIS/Include/cmsis_gcc.h **** 406:Drivers/CMSIS/Include/cmsis_gcc.h **** 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register. 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask) 413:Drivers/CMSIS/Include/cmsis_gcc.h **** { 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory"); 415:Drivers/CMSIS/Include/cmsis_gcc.h **** } 416:Drivers/CMSIS/Include/cmsis_gcc.h **** 417:Drivers/CMSIS/Include/cmsis_gcc.h **** 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure) 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state. 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 130 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask) 425:Drivers/CMSIS/Include/cmsis_gcc.h **** { 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory"); 427:Drivers/CMSIS/Include/cmsis_gcc.h **** } 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 429:Drivers/CMSIS/Include/cmsis_gcc.h **** 430:Drivers/CMSIS/Include/cmsis_gcc.h **** 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR. 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void) 440:Drivers/CMSIS/Include/cmsis_gcc.h **** { 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory"); 442:Drivers/CMSIS/Include/cmsis_gcc.h **** } 443:Drivers/CMSIS/Include/cmsis_gcc.h **** 444:Drivers/CMSIS/Include/cmsis_gcc.h **** 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR. 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes. 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void) 451:Drivers/CMSIS/Include/cmsis_gcc.h **** { 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory"); 453:Drivers/CMSIS/Include/cmsis_gcc.h **** } 454:Drivers/CMSIS/Include/cmsis_gcc.h **** 455:Drivers/CMSIS/Include/cmsis_gcc.h **** 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register. 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void) 462:Drivers/CMSIS/Include/cmsis_gcc.h **** { 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 464:Drivers/CMSIS/Include/cmsis_gcc.h **** 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) ); 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 467:Drivers/CMSIS/Include/cmsis_gcc.h **** } 468:Drivers/CMSIS/Include/cmsis_gcc.h **** 469:Drivers/CMSIS/Include/cmsis_gcc.h **** 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure) 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state. 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void) 477:Drivers/CMSIS/Include/cmsis_gcc.h **** { 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 479:Drivers/CMSIS/Include/cmsis_gcc.h **** 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) ); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 131 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 482:Drivers/CMSIS/Include/cmsis_gcc.h **** } 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 484:Drivers/CMSIS/Include/cmsis_gcc.h **** 485:Drivers/CMSIS/Include/cmsis_gcc.h **** 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register. 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri) 492:Drivers/CMSIS/Include/cmsis_gcc.h **** { 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory"); 494:Drivers/CMSIS/Include/cmsis_gcc.h **** } 495:Drivers/CMSIS/Include/cmsis_gcc.h **** 496:Drivers/CMSIS/Include/cmsis_gcc.h **** 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure) 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state. 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri) 504:Drivers/CMSIS/Include/cmsis_gcc.h **** { 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory"); 506:Drivers/CMSIS/Include/cmsis_gcc.h **** } 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 508:Drivers/CMSIS/Include/cmsis_gcc.h **** 509:Drivers/CMSIS/Include/cmsis_gcc.h **** 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level. 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri) 517:Drivers/CMSIS/Include/cmsis_gcc.h **** { 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory"); 519:Drivers/CMSIS/Include/cmsis_gcc.h **** } 520:Drivers/CMSIS/Include/cmsis_gcc.h **** 521:Drivers/CMSIS/Include/cmsis_gcc.h **** 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register. 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void) 528:Drivers/CMSIS/Include/cmsis_gcc.h **** { 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 530:Drivers/CMSIS/Include/cmsis_gcc.h **** 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) ); 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 533:Drivers/CMSIS/Include/cmsis_gcc.h **** } 534:Drivers/CMSIS/Include/cmsis_gcc.h **** 535:Drivers/CMSIS/Include/cmsis_gcc.h **** 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 132 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure) 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state. 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void) 543:Drivers/CMSIS/Include/cmsis_gcc.h **** { 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 545:Drivers/CMSIS/Include/cmsis_gcc.h **** 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) ); 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 548:Drivers/CMSIS/Include/cmsis_gcc.h **** } 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 550:Drivers/CMSIS/Include/cmsis_gcc.h **** 551:Drivers/CMSIS/Include/cmsis_gcc.h **** 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register. 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask) 558:Drivers/CMSIS/Include/cmsis_gcc.h **** { 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory"); 560:Drivers/CMSIS/Include/cmsis_gcc.h **** } 561:Drivers/CMSIS/Include/cmsis_gcc.h **** 562:Drivers/CMSIS/Include/cmsis_gcc.h **** 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure) 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state. 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask) 570:Drivers/CMSIS/Include/cmsis_gcc.h **** { 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory"); 572:Drivers/CMSIS/Include/cmsis_gcc.h **** } 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 574:Drivers/CMSIS/Include/cmsis_gcc.h **** 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */ 578:Drivers/CMSIS/Include/cmsis_gcc.h **** 579:Drivers/CMSIS/Include/cmsis_gcc.h **** 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) 582:Drivers/CMSIS/Include/cmsis_gcc.h **** 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 588:Drivers/CMSIS/Include/cmsis_gcc.h **** 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM). 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void) 593:Drivers/CMSIS/Include/cmsis_gcc.h **** { 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 133 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) ); 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 603:Drivers/CMSIS/Include/cmsis_gcc.h **** } 604:Drivers/CMSIS/Include/cmsis_gcc.h **** 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3)) 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure) 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 610:Drivers/CMSIS/Include/cmsis_gcc.h **** 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void) 615:Drivers/CMSIS/Include/cmsis_gcc.h **** { 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) ); 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 624:Drivers/CMSIS/Include/cmsis_gcc.h **** } 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 626:Drivers/CMSIS/Include/cmsis_gcc.h **** 627:Drivers/CMSIS/Include/cmsis_gcc.h **** 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 633:Drivers/CMSIS/Include/cmsis_gcc.h **** 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM). 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit) 638:Drivers/CMSIS/Include/cmsis_gcc.h **** { 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit)); 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 646:Drivers/CMSIS/Include/cmsis_gcc.h **** } 647:Drivers/CMSIS/Include/cmsis_gcc.h **** 648:Drivers/CMSIS/Include/cmsis_gcc.h **** 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 134 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. 654:Drivers/CMSIS/Include/cmsis_gcc.h **** 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit) 659:Drivers/CMSIS/Include/cmsis_gcc.h **** { 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit; 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit)); 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 666:Drivers/CMSIS/Include/cmsis_gcc.h **** } 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 668:Drivers/CMSIS/Include/cmsis_gcc.h **** 669:Drivers/CMSIS/Include/cmsis_gcc.h **** 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 675:Drivers/CMSIS/Include/cmsis_gcc.h **** 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM). 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void) 680:Drivers/CMSIS/Include/cmsis_gcc.h **** { 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) ); 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 690:Drivers/CMSIS/Include/cmsis_gcc.h **** } 691:Drivers/CMSIS/Include/cmsis_gcc.h **** 692:Drivers/CMSIS/Include/cmsis_gcc.h **** 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure) 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always. 698:Drivers/CMSIS/Include/cmsis_gcc.h **** 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void) 703:Drivers/CMSIS/Include/cmsis_gcc.h **** { 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U; 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 135 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) ); 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 712:Drivers/CMSIS/Include/cmsis_gcc.h **** } 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 714:Drivers/CMSIS/Include/cmsis_gcc.h **** 715:Drivers/CMSIS/Include/cmsis_gcc.h **** 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode. 721:Drivers/CMSIS/Include/cmsis_gcc.h **** 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM). 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit) 726:Drivers/CMSIS/Include/cmsis_gcc.h **** { 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \ 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3))) 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit)); 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 734:Drivers/CMSIS/Include/cmsis_gcc.h **** } 735:Drivers/CMSIS/Include/cmsis_gcc.h **** 736:Drivers/CMSIS/Include/cmsis_gcc.h **** 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3)) 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure) 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored. 742:Drivers/CMSIS/Include/cmsis_gcc.h **** 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit) 747:Drivers/CMSIS/Include/cmsis_gcc.h **** { 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1))) 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit; 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit)); 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 754:Drivers/CMSIS/Include/cmsis_gcc.h **** } 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 756:Drivers/CMSIS/Include/cmsis_gcc.h **** 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \ 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */ 759:Drivers/CMSIS/Include/cmsis_gcc.h **** 760:Drivers/CMSIS/Include/cmsis_gcc.h **** 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register. 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 136 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void) 767:Drivers/CMSIS/Include/cmsis_gcc.h **** { 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr) 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr(); 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 777:Drivers/CMSIS/Include/cmsis_gcc.h **** 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) ); 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result); 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U); 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 784:Drivers/CMSIS/Include/cmsis_gcc.h **** } 785:Drivers/CMSIS/Include/cmsis_gcc.h **** 786:Drivers/CMSIS/Include/cmsis_gcc.h **** 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register. 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr) 793:Drivers/CMSIS/Include/cmsis_gcc.h **** { 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \ 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) ) 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr) 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2) 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */ 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr); 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory"); 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr; 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 807:Drivers/CMSIS/Include/cmsis_gcc.h **** } 808:Drivers/CMSIS/Include/cmsis_gcc.h **** 809:Drivers/CMSIS/Include/cmsis_gcc.h **** 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */ 811:Drivers/CMSIS/Include/cmsis_gcc.h **** 812:Drivers/CMSIS/Include/cmsis_gcc.h **** 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */ 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{ 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 818:Drivers/CMSIS/Include/cmsis_gcc.h **** 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2. 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l" 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */ 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 137 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r) 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r) 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r) 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r) 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r) 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r) 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 831:Drivers/CMSIS/Include/cmsis_gcc.h **** 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes. 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop") 837:Drivers/CMSIS/Include/cmsis_gcc.h **** 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi") 843:Drivers/CMSIS/Include/cmsis_gcc.h **** 844:Drivers/CMSIS/Include/cmsis_gcc.h **** 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs. 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe") 851:Drivers/CMSIS/Include/cmsis_gcc.h **** 852:Drivers/CMSIS/Include/cmsis_gcc.h **** 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU. 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev") 858:Drivers/CMSIS/Include/cmsis_gcc.h **** 859:Drivers/CMSIS/Include/cmsis_gcc.h **** 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor, 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory, 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed. 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void) 867:Drivers/CMSIS/Include/cmsis_gcc.h **** { 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory"); 869:Drivers/CMSIS/Include/cmsis_gcc.h **** } 870:Drivers/CMSIS/Include/cmsis_gcc.h **** 871:Drivers/CMSIS/Include/cmsis_gcc.h **** 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier. 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete. 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void) 878:Drivers/CMSIS/Include/cmsis_gcc.h **** { 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory"); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 138 880:Drivers/CMSIS/Include/cmsis_gcc.h **** } 881:Drivers/CMSIS/Include/cmsis_gcc.h **** 882:Drivers/CMSIS/Include/cmsis_gcc.h **** 883:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier 885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before 886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion. 887:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void) 889:Drivers/CMSIS/Include/cmsis_gcc.h **** { 890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory"); 891:Drivers/CMSIS/Include/cmsis_gcc.h **** } 892:Drivers/CMSIS/Include/cmsis_gcc.h **** 893:Drivers/CMSIS/Include/cmsis_gcc.h **** 894:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 895:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (32 bit) 896:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x785 897:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 898:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 899:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 900:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV(uint32_t value) 901:Drivers/CMSIS/Include/cmsis_gcc.h **** { 902:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) 903:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_bswap32(value); 904:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 905:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 906:Drivers/CMSIS/Include/cmsis_gcc.h **** 907:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 908:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 909:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 910:Drivers/CMSIS/Include/cmsis_gcc.h **** } 911:Drivers/CMSIS/Include/cmsis_gcc.h **** 912:Drivers/CMSIS/Include/cmsis_gcc.h **** 913:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 914:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 915:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 916:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 917:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 918:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 919:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __REV16(uint32_t value) 920:Drivers/CMSIS/Include/cmsis_gcc.h **** { 921:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 922:Drivers/CMSIS/Include/cmsis_gcc.h **** 923:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 924:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 925:Drivers/CMSIS/Include/cmsis_gcc.h **** } 926:Drivers/CMSIS/Include/cmsis_gcc.h **** 927:Drivers/CMSIS/Include/cmsis_gcc.h **** 928:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 929:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse byte order (16 bit) 930:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For exam 931:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 932:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 933:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 934:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE int16_t __REVSH(int16_t value) 935:Drivers/CMSIS/Include/cmsis_gcc.h **** { 936:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 139 937:Drivers/CMSIS/Include/cmsis_gcc.h **** return (int16_t)__builtin_bswap16(value); 938:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 939:Drivers/CMSIS/Include/cmsis_gcc.h **** int16_t result; 940:Drivers/CMSIS/Include/cmsis_gcc.h **** 941:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) ); 942:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 943:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 944:Drivers/CMSIS/Include/cmsis_gcc.h **** } 945:Drivers/CMSIS/Include/cmsis_gcc.h **** 946:Drivers/CMSIS/Include/cmsis_gcc.h **** 947:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 948:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Rotate Right in unsigned value (32 bit) 949:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Rotate Right (immediate) provides the value of the contents of a register rotated by a v 950:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op1 Value to rotate 951:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] op2 Number of Bits to rotate 952:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Rotated value 953:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 954:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2) 955:Drivers/CMSIS/Include/cmsis_gcc.h **** { 956:Drivers/CMSIS/Include/cmsis_gcc.h **** op2 %= 32U; 957:Drivers/CMSIS/Include/cmsis_gcc.h **** if (op2 == 0U) 958:Drivers/CMSIS/Include/cmsis_gcc.h **** { 959:Drivers/CMSIS/Include/cmsis_gcc.h **** return op1; 960:Drivers/CMSIS/Include/cmsis_gcc.h **** } 961:Drivers/CMSIS/Include/cmsis_gcc.h **** return (op1 >> op2) | (op1 << (32U - op2)); 962:Drivers/CMSIS/Include/cmsis_gcc.h **** } 963:Drivers/CMSIS/Include/cmsis_gcc.h **** 964:Drivers/CMSIS/Include/cmsis_gcc.h **** 965:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 966:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Breakpoint 967:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Causes the processor to enter Debug state. 968:Drivers/CMSIS/Include/cmsis_gcc.h **** Debug tools can use this to investigate system state when the instruction at a particula 969:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value is ignored by the processor. 970:Drivers/CMSIS/Include/cmsis_gcc.h **** If required, a debugger can use it to store additional information about the break 971:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 972:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __BKPT(value) __ASM volatile ("bkpt "#value) 973:Drivers/CMSIS/Include/cmsis_gcc.h **** 974:Drivers/CMSIS/Include/cmsis_gcc.h **** 975:Drivers/CMSIS/Include/cmsis_gcc.h **** /** 976:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Reverse bit order of value 977:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Reverses the bit order of the given value. 978:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] value Value to reverse 979:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Reversed value 980:Drivers/CMSIS/Include/cmsis_gcc.h **** */ 981:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value) 982:Drivers/CMSIS/Include/cmsis_gcc.h **** { 983:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result; 984:Drivers/CMSIS/Include/cmsis_gcc.h **** 985:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \ 986:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \ 987:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) 988:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) ); 5585 .loc 2 988 4 5586 000e D7F8EC30 ldr r3, [r7, #236] 5587 .syntax unified 5588 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5589 0012 93FAA3F3 rbit r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 140 5590 @ 0 "" 2 5591 .thumb 5592 .syntax unified 5593 0016 C7F8E830 str r3, [r7, #232] 5594 001a 4FF08063 mov r3, #67108864 5595 001e C7F8E430 str r3, [r7, #228] 5596 .LBE93: 5597 .LBE92: 5598 .LBB94: 5599 .LBB95: 5600 0022 D7F8E430 ldr r3, [r7, #228] 5601 .syntax unified 5602 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5603 0026 93FAA3F3 rbit r3, r3 5604 @ 0 "" 2 5605 .thumb 5606 .syntax unified 5607 002a C7F8E030 str r3, [r7, #224] 5608 002e 4FF08063 mov r3, #67108864 5609 0032 C7F8DC30 str r3, [r7, #220] 5610 .LBE95: 5611 .LBE94: 5612 .LBB96: 5613 .LBB97: 5614 0036 D7F8DC30 ldr r3, [r7, #220] 5615 .syntax unified 5616 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5617 003a 93FAA3F3 rbit r3, r3 5618 @ 0 "" 2 5619 .thumb 5620 .syntax unified 5621 003e C7F8D830 str r3, [r7, #216] 5622 .LBE97: 5623 .LBE96: 1325:user_src/soft_p_2_c.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET ) // NRST 引脚复位 5624 .loc 1 1325 8 5625 0042 C64B ldr r3, .L245 5626 0044 5A6A ldr r2, [r3, #36] 5627 0046 4FF08063 mov r3, #67108864 5628 004a C7F8D430 str r3, [r7, #212] 5629 .LBB98: 5630 .LBB99: 5631 .loc 2 988 4 5632 004e D7F8D430 ldr r3, [r7, #212] 5633 .syntax unified 5634 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5635 0052 93FAA3F3 rbit r3, r3 5636 @ 0 "" 2 5637 .thumb 5638 .syntax unified 5639 0056 C7F8D030 str r3, [r7, #208] 989:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 990:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */ 991:Drivers/CMSIS/Include/cmsis_gcc.h **** 992:Drivers/CMSIS/Include/cmsis_gcc.h **** result = value; /* r will be reversed bits of v; first get LSB of v */ 993:Drivers/CMSIS/Include/cmsis_gcc.h **** for (value >>= 1U; value != 0U; value >>= 1U) 994:Drivers/CMSIS/Include/cmsis_gcc.h **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 141 995:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= 1U; 996:Drivers/CMSIS/Include/cmsis_gcc.h **** result |= value & 1U; 997:Drivers/CMSIS/Include/cmsis_gcc.h **** s--; 998:Drivers/CMSIS/Include/cmsis_gcc.h **** } 999:Drivers/CMSIS/Include/cmsis_gcc.h **** result <<= s; /* shift when v's highest bits are zero */ 1000:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif 1001:Drivers/CMSIS/Include/cmsis_gcc.h **** return result; 5640 .loc 2 1001 10 5641 005a D7F8D030 ldr r3, [r7, #208] 5642 .LBE99: 5643 .LBE98: 5644 .loc 1 1325 8 5645 005e B3FA83F3 clz r3, r3 5646 0062 DBB2 uxtb r3, r3 5647 0064 43F06003 orr r3, r3, #96 5648 0068 DBB2 uxtb r3, r3 5649 006a 03F01F03 and r3, r3, #31 5650 006e 0121 movs r1, #1 5651 0070 01FA03F3 lsl r3, r1, r3 5652 0074 1340 ands r3, r3, r2 5653 .loc 1 1325 7 5654 0076 002B cmp r3, #0 5655 0078 1BD0 beq .L212 1326:user_src/soft_p_2_c.c **** { 1327:user_src/soft_p_2_c.c **** flash_pmu_par._reset_reason = R_NRST; 5656 .loc 1 1327 37 5657 007a B94B ldr r3, .L245+4 5658 007c 0122 movs r2, #1 5659 007e 1A81 strh r2, [r3, #8] @ movhi 1328:user_src/soft_p_2_c.c **** write_flash_flag = true; 5660 .loc 1 1328 26 5661 0080 B84B ldr r3, .L245+8 5662 0082 0122 movs r2, #1 5663 0084 1A70 strb r2, [r3] 5664 0086 4FF08073 mov r3, #16777216 5665 008a C7F8CC30 str r3, [r7, #204] 5666 .LBB100: 5667 .LBB101: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5668 .loc 2 988 4 5669 008e D7F8CC30 ldr r3, [r7, #204] 5670 .syntax unified 5671 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5672 0092 93FAA3F3 rbit r3, r3 5673 @ 0 "" 2 5674 .thumb 5675 .syntax unified 5676 0096 C7F8C830 str r3, [r7, #200] 5677 .loc 2 1001 10 5678 009a D7F8C830 ldr r3, [r7, #200] 5679 .LBE101: 5680 .LBE100: 1329:user_src/soft_p_2_c.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); 5681 .loc 1 1329 9 5682 009e B3FA83F3 clz r3, r3 5683 00a2 DBB2 uxtb r3, r3 5684 00a4 1A46 mov r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 142 5685 00a6 B04B ldr r3, .L245+12 5686 00a8 1344 add r3, r3, r2 5687 00aa 9B00 lsls r3, r3, #2 5688 00ac 1A46 mov r2, r3 5689 00ae 0123 movs r3, #1 5690 00b0 1360 str r3, [r2] 5691 .L212: 5692 00b2 4FF00063 mov r3, #134217728 5693 00b6 C7F8C430 str r3, [r7, #196] 5694 .LBB102: 5695 .LBB103: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5696 .loc 2 988 4 5697 00ba D7F8C430 ldr r3, [r7, #196] 5698 .syntax unified 5699 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5700 00be 93FAA3F3 rbit r3, r3 5701 @ 0 "" 2 5702 .thumb 5703 .syntax unified 5704 00c2 C7F8C030 str r3, [r7, #192] 5705 00c6 4FF00063 mov r3, #134217728 5706 00ca C7F8BC30 str r3, [r7, #188] 5707 .LBE103: 5708 .LBE102: 5709 .LBB104: 5710 .LBB105: 5711 00ce D7F8BC30 ldr r3, [r7, #188] 5712 .syntax unified 5713 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5714 00d2 93FAA3F3 rbit r3, r3 5715 @ 0 "" 2 5716 .thumb 5717 .syntax unified 5718 00d6 C7F8B830 str r3, [r7, #184] 5719 00da 4FF00063 mov r3, #134217728 5720 00de C7F8B430 str r3, [r7, #180] 5721 .LBE105: 5722 .LBE104: 5723 .LBB106: 5724 .LBB107: 5725 00e2 D7F8B430 ldr r3, [r7, #180] 5726 .syntax unified 5727 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5728 00e6 93FAA3F3 rbit r3, r3 5729 @ 0 "" 2 5730 .thumb 5731 .syntax unified 5732 00ea C7F8B030 str r3, [r7, #176] 5733 .LBE107: 5734 .LBE106: 1330:user_src/soft_p_2_c.c **** } 1331:user_src/soft_p_2_c.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET ) // 上电掉电复位 5735 .loc 1 1331 8 5736 00ee 9B4B ldr r3, .L245 5737 00f0 5A6A ldr r2, [r3, #36] 5738 00f2 4FF00063 mov r3, #134217728 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 143 5739 00f6 C7F8AC30 str r3, [r7, #172] 5740 .LBB108: 5741 .LBB109: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5742 .loc 2 988 4 5743 00fa D7F8AC30 ldr r3, [r7, #172] 5744 .syntax unified 5745 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5746 00fe 93FAA3F3 rbit r3, r3 5747 @ 0 "" 2 5748 .thumb 5749 .syntax unified 5750 0102 C7F8A830 str r3, [r7, #168] 5751 .loc 2 1001 10 5752 0106 D7F8A830 ldr r3, [r7, #168] 5753 .LBE109: 5754 .LBE108: 5755 .loc 1 1331 8 5756 010a B3FA83F3 clz r3, r3 5757 010e DBB2 uxtb r3, r3 5758 0110 43F06003 orr r3, r3, #96 5759 0114 DBB2 uxtb r3, r3 5760 0116 03F01F03 and r3, r3, #31 5761 011a 0121 movs r1, #1 5762 011c 01FA03F3 lsl r3, r1, r3 5763 0120 1340 ands r3, r3, r2 5764 .loc 1 1331 7 5765 0122 002B cmp r3, #0 5766 0124 1BD0 beq .L218 1332:user_src/soft_p_2_c.c **** { 1333:user_src/soft_p_2_c.c **** flash_pmu_par._reset_reason = R_POWER; 5767 .loc 1 1333 37 5768 0126 8E4B ldr r3, .L245+4 5769 0128 0222 movs r2, #2 5770 012a 1A81 strh r2, [r3, #8] @ movhi 1334:user_src/soft_p_2_c.c **** write_flash_flag = true; 5771 .loc 1 1334 26 5772 012c 8D4B ldr r3, .L245+8 5773 012e 0122 movs r2, #1 5774 0130 1A70 strb r2, [r3] 5775 0132 4FF08073 mov r3, #16777216 5776 0136 C7F8A430 str r3, [r7, #164] 5777 .LBB110: 5778 .LBB111: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5779 .loc 2 988 4 5780 013a D7F8A430 ldr r3, [r7, #164] 5781 .syntax unified 5782 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5783 013e 93FAA3F3 rbit r3, r3 5784 @ 0 "" 2 5785 .thumb 5786 .syntax unified 5787 0142 C7F8A030 str r3, [r7, #160] 5788 .loc 2 1001 10 5789 0146 D7F8A030 ldr r3, [r7, #160] 5790 .LBE111: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 144 5791 .LBE110: 1335:user_src/soft_p_2_c.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); 5792 .loc 1 1335 9 5793 014a B3FA83F3 clz r3, r3 5794 014e DBB2 uxtb r3, r3 5795 0150 1A46 mov r2, r3 5796 0152 854B ldr r3, .L245+12 5797 0154 1344 add r3, r3, r2 5798 0156 9B00 lsls r3, r3, #2 5799 0158 1A46 mov r2, r3 5800 015a 0123 movs r3, #1 5801 015c 1360 str r3, [r2] 5802 .L218: 5803 015e 4FF08053 mov r3, #268435456 5804 0162 C7F89C30 str r3, [r7, #156] 5805 .LBB112: 5806 .LBB113: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5807 .loc 2 988 4 5808 0166 D7F89C30 ldr r3, [r7, #156] 5809 .syntax unified 5810 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5811 016a 93FAA3F3 rbit r3, r3 5812 @ 0 "" 2 5813 .thumb 5814 .syntax unified 5815 016e C7F89830 str r3, [r7, #152] 5816 0172 4FF08053 mov r3, #268435456 5817 0176 C7F89430 str r3, [r7, #148] 5818 .LBE113: 5819 .LBE112: 5820 .LBB114: 5821 .LBB115: 5822 017a D7F89430 ldr r3, [r7, #148] 5823 .syntax unified 5824 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5825 017e 93FAA3F3 rbit r3, r3 5826 @ 0 "" 2 5827 .thumb 5828 .syntax unified 5829 0182 C7F89030 str r3, [r7, #144] 5830 0186 4FF08053 mov r3, #268435456 5831 018a C7F88C30 str r3, [r7, #140] 5832 .LBE115: 5833 .LBE114: 5834 .LBB116: 5835 .LBB117: 5836 018e D7F88C30 ldr r3, [r7, #140] 5837 .syntax unified 5838 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5839 0192 93FAA3F3 rbit r3, r3 5840 @ 0 "" 2 5841 .thumb 5842 .syntax unified 5843 0196 C7F88830 str r3, [r7, #136] 5844 .LBE117: 5845 .LBE116: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 145 1336:user_src/soft_p_2_c.c **** } 1337:user_src/soft_p_2_c.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_SFTRST) != RESET ) // 软件复位 5846 .loc 1 1337 8 5847 019a 704B ldr r3, .L245 5848 019c 5A6A ldr r2, [r3, #36] 5849 019e 4FF08053 mov r3, #268435456 5850 01a2 C7F88430 str r3, [r7, #132] 5851 .LBB118: 5852 .LBB119: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5853 .loc 2 988 4 5854 01a6 D7F88430 ldr r3, [r7, #132] 5855 .syntax unified 5856 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5857 01aa 93FAA3F3 rbit r3, r3 5858 @ 0 "" 2 5859 .thumb 5860 .syntax unified 5861 01ae C7F88030 str r3, [r7, #128] 5862 .loc 2 1001 10 5863 01b2 D7F88030 ldr r3, [r7, #128] 5864 .LBE119: 5865 .LBE118: 5866 .loc 1 1337 8 5867 01b6 B3FA83F3 clz r3, r3 5868 01ba DBB2 uxtb r3, r3 5869 01bc 43F06003 orr r3, r3, #96 5870 01c0 DBB2 uxtb r3, r3 5871 01c2 03F01F03 and r3, r3, #31 5872 01c6 0121 movs r1, #1 5873 01c8 01FA03F3 lsl r3, r1, r3 5874 01cc 1340 ands r3, r3, r2 5875 .loc 1 1337 7 5876 01ce 002B cmp r3, #0 5877 01d0 17D0 beq .L224 1338:user_src/soft_p_2_c.c **** { 1339:user_src/soft_p_2_c.c **** flash_pmu_par._reset_reason = R_SOFT; 5878 .loc 1 1339 37 5879 01d2 634B ldr r3, .L245+4 5880 01d4 0322 movs r2, #3 5881 01d6 1A81 strh r2, [r3, #8] @ movhi 1340:user_src/soft_p_2_c.c **** write_flash_flag = true; 5882 .loc 1 1340 26 5883 01d8 624B ldr r3, .L245+8 5884 01da 0122 movs r2, #1 5885 01dc 1A70 strb r2, [r3] 5886 01de 4FF08073 mov r3, #16777216 5887 01e2 FB67 str r3, [r7, #124] 5888 .LBB120: 5889 .LBB121: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5890 .loc 2 988 4 5891 01e4 FB6F ldr r3, [r7, #124] 5892 .syntax unified 5893 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5894 01e6 93FAA3F3 rbit r3, r3 5895 @ 0 "" 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 146 5896 .thumb 5897 .syntax unified 5898 01ea BB67 str r3, [r7, #120] 5899 .loc 2 1001 10 5900 01ec BB6F ldr r3, [r7, #120] 5901 .LBE121: 5902 .LBE120: 1341:user_src/soft_p_2_c.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); 5903 .loc 1 1341 9 5904 01ee B3FA83F3 clz r3, r3 5905 01f2 DBB2 uxtb r3, r3 5906 01f4 1A46 mov r2, r3 5907 01f6 5C4B ldr r3, .L245+12 5908 01f8 1344 add r3, r3, r2 5909 01fa 9B00 lsls r3, r3, #2 5910 01fc 1A46 mov r2, r3 5911 01fe 0123 movs r3, #1 5912 0200 1360 str r3, [r2] 5913 .L224: 5914 0202 4FF00053 mov r3, #536870912 5915 0206 7B67 str r3, [r7, #116] 5916 .LBB122: 5917 .LBB123: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5918 .loc 2 988 4 5919 0208 7B6F ldr r3, [r7, #116] 5920 .syntax unified 5921 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5922 020a 93FAA3F3 rbit r3, r3 5923 @ 0 "" 2 5924 .thumb 5925 .syntax unified 5926 020e 3B67 str r3, [r7, #112] 5927 0210 4FF00053 mov r3, #536870912 5928 0214 FB66 str r3, [r7, #108] 5929 .LBE123: 5930 .LBE122: 5931 .LBB124: 5932 .LBB125: 5933 0216 FB6E ldr r3, [r7, #108] 5934 .syntax unified 5935 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5936 0218 93FAA3F3 rbit r3, r3 5937 @ 0 "" 2 5938 .thumb 5939 .syntax unified 5940 021c BB66 str r3, [r7, #104] 5941 021e 4FF00053 mov r3, #536870912 5942 0222 7B66 str r3, [r7, #100] 5943 .LBE125: 5944 .LBE124: 5945 .LBB126: 5946 .LBB127: 5947 0224 7B6E ldr r3, [r7, #100] 5948 .syntax unified 5949 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5950 0226 93FAA3F3 rbit r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 147 5951 @ 0 "" 2 5952 .thumb 5953 .syntax unified 5954 022a 3B66 str r3, [r7, #96] 5955 .LBE127: 5956 .LBE126: 1342:user_src/soft_p_2_c.c **** } 1343:user_src/soft_p_2_c.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) != RESET ) // 独立看门狗复位 5957 .loc 1 1343 8 5958 022c 4B4B ldr r3, .L245 5959 022e 5A6A ldr r2, [r3, #36] 5960 0230 4FF00053 mov r3, #536870912 5961 0234 FB65 str r3, [r7, #92] 5962 .LBB128: 5963 .LBB129: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 5964 .loc 2 988 4 5965 0236 FB6D ldr r3, [r7, #92] 5966 .syntax unified 5967 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 5968 0238 93FAA3F3 rbit r3, r3 5969 @ 0 "" 2 5970 .thumb 5971 .syntax unified 5972 023c BB65 str r3, [r7, #88] 5973 .loc 2 1001 10 5974 023e BB6D ldr r3, [r7, #88] 5975 .LBE129: 5976 .LBE128: 5977 .loc 1 1343 8 5978 0240 B3FA83F3 clz r3, r3 5979 0244 DBB2 uxtb r3, r3 5980 0246 43F06003 orr r3, r3, #96 5981 024a DBB2 uxtb r3, r3 5982 024c 03F01F03 and r3, r3, #31 5983 0250 0121 movs r1, #1 5984 0252 01FA03F3 lsl r3, r1, r3 5985 0256 1340 ands r3, r3, r2 5986 .loc 1 1343 7 5987 0258 002B cmp r3, #0 5988 025a 17D0 beq .L230 1344:user_src/soft_p_2_c.c **** { 1345:user_src/soft_p_2_c.c **** flash_pmu_par._reset_reason = R_IWD; 5989 .loc 1 1345 37 5990 025c 404B ldr r3, .L245+4 5991 025e 0422 movs r2, #4 5992 0260 1A81 strh r2, [r3, #8] @ movhi 1346:user_src/soft_p_2_c.c **** write_flash_flag = true; 5993 .loc 1 1346 26 5994 0262 404B ldr r3, .L245+8 5995 0264 0122 movs r2, #1 5996 0266 1A70 strb r2, [r3] 5997 0268 4FF08073 mov r3, #16777216 5998 026c 7B65 str r3, [r7, #84] 5999 .LBB130: 6000 .LBB131: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 148 6001 .loc 2 988 4 6002 026e 7B6D ldr r3, [r7, #84] 6003 .syntax unified 6004 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6005 0270 93FAA3F3 rbit r3, r3 6006 @ 0 "" 2 6007 .thumb 6008 .syntax unified 6009 0274 3B65 str r3, [r7, #80] 6010 .loc 2 1001 10 6011 0276 3B6D ldr r3, [r7, #80] 6012 .LBE131: 6013 .LBE130: 1347:user_src/soft_p_2_c.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); 6014 .loc 1 1347 9 6015 0278 B3FA83F3 clz r3, r3 6016 027c DBB2 uxtb r3, r3 6017 027e 1A46 mov r2, r3 6018 0280 394B ldr r3, .L245+12 6019 0282 1344 add r3, r3, r2 6020 0284 9B00 lsls r3, r3, #2 6021 0286 1A46 mov r2, r3 6022 0288 0123 movs r3, #1 6023 028a 1360 str r3, [r2] 6024 .L230: 6025 028c 4FF08043 mov r3, #1073741824 6026 0290 FB64 str r3, [r7, #76] 6027 .LBB132: 6028 .LBB133: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 6029 .loc 2 988 4 6030 0292 FB6C ldr r3, [r7, #76] 6031 .syntax unified 6032 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6033 0294 93FAA3F3 rbit r3, r3 6034 @ 0 "" 2 6035 .thumb 6036 .syntax unified 6037 0298 BB64 str r3, [r7, #72] 6038 029a 4FF08043 mov r3, #1073741824 6039 029e 7B64 str r3, [r7, #68] 6040 .LBE133: 6041 .LBE132: 6042 .LBB134: 6043 .LBB135: 6044 02a0 7B6C ldr r3, [r7, #68] 6045 .syntax unified 6046 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6047 02a2 93FAA3F3 rbit r3, r3 6048 @ 0 "" 2 6049 .thumb 6050 .syntax unified 6051 02a6 3B64 str r3, [r7, #64] 6052 02a8 4FF08043 mov r3, #1073741824 6053 02ac FB63 str r3, [r7, #60] 6054 .LBE135: 6055 .LBE134: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 149 6056 .LBB136: 6057 .LBB137: 6058 02ae FB6B ldr r3, [r7, #60] 6059 .syntax unified 6060 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6061 02b0 93FAA3F3 rbit r3, r3 6062 @ 0 "" 2 6063 .thumb 6064 .syntax unified 6065 02b4 BB63 str r3, [r7, #56] 6066 .LBE137: 6067 .LBE136: 1348:user_src/soft_p_2_c.c **** } 1349:user_src/soft_p_2_c.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST) != RESET ) // 窗口看门狗复位 6068 .loc 1 1349 8 6069 02b6 294B ldr r3, .L245 6070 02b8 5A6A ldr r2, [r3, #36] 6071 02ba 4FF08043 mov r3, #1073741824 6072 02be 7B63 str r3, [r7, #52] 6073 .LBB138: 6074 .LBB139: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 6075 .loc 2 988 4 6076 02c0 7B6B ldr r3, [r7, #52] 6077 .syntax unified 6078 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6079 02c2 93FAA3F3 rbit r3, r3 6080 @ 0 "" 2 6081 .thumb 6082 .syntax unified 6083 02c6 3B63 str r3, [r7, #48] 6084 .loc 2 1001 10 6085 02c8 3B6B ldr r3, [r7, #48] 6086 .LBE139: 6087 .LBE138: 6088 .loc 1 1349 8 6089 02ca B3FA83F3 clz r3, r3 6090 02ce DBB2 uxtb r3, r3 6091 02d0 43F06003 orr r3, r3, #96 6092 02d4 DBB2 uxtb r3, r3 6093 02d6 03F01F03 and r3, r3, #31 6094 02da 0121 movs r1, #1 6095 02dc 01FA03F3 lsl r3, r1, r3 6096 02e0 1340 ands r3, r3, r2 6097 .loc 1 1349 7 6098 02e2 002B cmp r3, #0 6099 02e4 17D0 beq .L236 1350:user_src/soft_p_2_c.c **** { 1351:user_src/soft_p_2_c.c **** flash_pmu_par._reset_reason = R_WWD; 6100 .loc 1 1351 37 6101 02e6 1E4B ldr r3, .L245+4 6102 02e8 0522 movs r2, #5 6103 02ea 1A81 strh r2, [r3, #8] @ movhi 1352:user_src/soft_p_2_c.c **** write_flash_flag = true; 6104 .loc 1 1352 26 6105 02ec 1D4B ldr r3, .L245+8 6106 02ee 0122 movs r2, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 150 6107 02f0 1A70 strb r2, [r3] 6108 02f2 4FF08073 mov r3, #16777216 6109 02f6 FB62 str r3, [r7, #44] 6110 .LBB140: 6111 .LBB141: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 6112 .loc 2 988 4 6113 02f8 FB6A ldr r3, [r7, #44] 6114 .syntax unified 6115 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6116 02fa 93FAA3F3 rbit r3, r3 6117 @ 0 "" 2 6118 .thumb 6119 .syntax unified 6120 02fe BB62 str r3, [r7, #40] 6121 .loc 2 1001 10 6122 0300 BB6A ldr r3, [r7, #40] 6123 .LBE141: 6124 .LBE140: 1353:user_src/soft_p_2_c.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); 6125 .loc 1 1353 9 6126 0302 B3FA83F3 clz r3, r3 6127 0306 DBB2 uxtb r3, r3 6128 0308 1A46 mov r2, r3 6129 030a 174B ldr r3, .L245+12 6130 030c 1344 add r3, r3, r2 6131 030e 9B00 lsls r3, r3, #2 6132 0310 1A46 mov r2, r3 6133 0312 0123 movs r3, #1 6134 0314 1360 str r3, [r2] 6135 .L236: 6136 0316 4FF00043 mov r3, #-2147483648 6137 031a 7B62 str r3, [r7, #36] 6138 .LBB142: 6139 .LBB143: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 6140 .loc 2 988 4 6141 031c 7B6A ldr r3, [r7, #36] 6142 .syntax unified 6143 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6144 031e 93FAA3F3 rbit r3, r3 6145 @ 0 "" 2 6146 .thumb 6147 .syntax unified 6148 0322 3B62 str r3, [r7, #32] 6149 0324 4FF00043 mov r3, #-2147483648 6150 0328 FB61 str r3, [r7, #28] 6151 .LBE143: 6152 .LBE142: 6153 .LBB144: 6154 .LBB145: 6155 032a FB69 ldr r3, [r7, #28] 6156 .syntax unified 6157 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6158 032c 93FAA3F3 rbit r3, r3 6159 @ 0 "" 2 6160 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 151 6161 .syntax unified 6162 0330 BB61 str r3, [r7, #24] 6163 0332 4FF00043 mov r3, #-2147483648 6164 0336 7B61 str r3, [r7, #20] 6165 .LBE145: 6166 .LBE144: 6167 .LBB146: 6168 .LBB147: 6169 0338 7B69 ldr r3, [r7, #20] 6170 .syntax unified 6171 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6172 033a 93FAA3F3 rbit r3, r3 6173 @ 0 "" 2 6174 .thumb 6175 .syntax unified 6176 033e 3B61 str r3, [r7, #16] 6177 .LBE147: 6178 .LBE146: 1354:user_src/soft_p_2_c.c **** } 1355:user_src/soft_p_2_c.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_LPWRRST) != RESET ) // 低功耗复位 6179 .loc 1 1355 8 6180 0340 064B ldr r3, .L245 6181 0342 5A6A ldr r2, [r3, #36] 6182 0344 4FF00043 mov r3, #-2147483648 6183 0348 FB60 str r3, [r7, #12] 6184 .LBB148: 6185 .LBB149: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 6186 .loc 2 988 4 6187 034a FB68 ldr r3, [r7, #12] 6188 .syntax unified 6189 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6190 034c 93FAA3F3 rbit r3, r3 6191 @ 0 "" 2 6192 .thumb 6193 .syntax unified 6194 0350 BB60 str r3, [r7, #8] 6195 .loc 2 1001 10 6196 0352 BB68 ldr r3, [r7, #8] 6197 .LBE149: 6198 .LBE148: 6199 .loc 1 1355 8 6200 0354 B3FA83F3 clz r3, r3 6201 0358 08E0 b .L246 6202 .L247: 6203 035a 00BF .align 2 6204 .L245: 6205 035c 00100240 .word 1073876992 6206 0360 00000000 .word flash_pmu_par 6207 0364 00000000 .word write_flash_flag 6208 0368 20819010 .word 277905696 6209 .L246: 6210 036c DBB2 uxtb r3, r3 6211 036e 43F06003 orr r3, r3, #96 6212 0372 DBB2 uxtb r3, r3 6213 0374 03F01F03 and r3, r3, #31 6214 0378 0121 movs r1, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 152 6215 037a 01FA03F3 lsl r3, r1, r3 6216 037e 1340 ands r3, r3, r2 6217 .loc 1 1355 7 6218 0380 002B cmp r3, #0 6219 0382 17D0 beq .L244 1356:user_src/soft_p_2_c.c **** { 1357:user_src/soft_p_2_c.c **** flash_pmu_par._reset_reason = R_LOPWER; 6220 .loc 1 1357 37 6221 0384 0E4B ldr r3, .L248 6222 0386 0622 movs r2, #6 6223 0388 1A81 strh r2, [r3, #8] @ movhi 1358:user_src/soft_p_2_c.c **** write_flash_flag = true; 6224 .loc 1 1358 26 6225 038a 0E4B ldr r3, .L248+4 6226 038c 0122 movs r2, #1 6227 038e 1A70 strb r2, [r3] 6228 0390 4FF08073 mov r3, #16777216 6229 0394 7B60 str r3, [r7, #4] 6230 .LBB150: 6231 .LBB151: 988:Drivers/CMSIS/Include/cmsis_gcc.h **** #else 6232 .loc 2 988 4 6233 0396 7B68 ldr r3, [r7, #4] 6234 .syntax unified 6235 @ 988 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 6236 0398 93FAA3F3 rbit r3, r3 6237 @ 0 "" 2 6238 .thumb 6239 .syntax unified 6240 039c 3B60 str r3, [r7] 6241 .loc 2 1001 10 6242 039e 3B68 ldr r3, [r7] 6243 .LBE151: 6244 .LBE150: 1359:user_src/soft_p_2_c.c **** __HAL_RCC_CLEAR_RESET_FLAGS(); 6245 .loc 1 1359 9 6246 03a0 B3FA83F3 clz r3, r3 6247 03a4 DBB2 uxtb r3, r3 6248 03a6 1A46 mov r2, r3 6249 03a8 074B ldr r3, .L248+8 6250 03aa 1344 add r3, r3, r2 6251 03ac 9B00 lsls r3, r3, #2 6252 03ae 1A46 mov r2, r3 6253 03b0 0123 movs r3, #1 6254 03b2 1360 str r3, [r2] 6255 .L244: 1360:user_src/soft_p_2_c.c **** } 1361:user_src/soft_p_2_c.c **** 1362:user_src/soft_p_2_c.c **** 1363:user_src/soft_p_2_c.c **** } 6256 .loc 1 1363 1 6257 03b4 00BF nop 6258 03b6 F437 adds r7, r7, #244 6259 .LCFI108: 6260 .cfi_def_cfa_offset 4 6261 03b8 BD46 mov sp, r7 6262 .LCFI109: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 153 6263 .cfi_def_cfa_register 13 6264 @ sp needed 6265 03ba 5DF8047B ldr r7, [sp], #4 6266 .LCFI110: 6267 .cfi_restore 7 6268 .cfi_def_cfa_offset 0 6269 03be 7047 bx lr 6270 .L249: 6271 .align 2 6272 .L248: 6273 03c0 00000000 .word flash_pmu_par 6274 03c4 00000000 .word write_flash_flag 6275 03c8 20819010 .word 277905696 6276 .cfi_endproc 6277 .LFE154: 6279 .section .bss.fmu_link_time,"aw",%nobits 6280 .align 2 6283 fmu_link_time: 6284 0000 00000000 .space 4 6285 .section .text.check_fmu_link,"ax",%progbits 6286 .align 1 6287 .global check_fmu_link 6288 .syntax unified 6289 .thumb 6290 .thumb_func 6292 check_fmu_link: 6293 .LFB155: 1364:user_src/soft_p_2_c.c **** /******************void check_fmu_link()************************ 1365:user_src/soft_p_2_c.c **** * ****************检查是否收到FMU信息************************************ 1366:user_src/soft_p_2_c.c **** * ****************************************************************/ 1367:user_src/soft_p_2_c.c **** static uint32_t fmu_link_time = 0; 1368:user_src/soft_p_2_c.c **** void check_fmu_link() 1369:user_src/soft_p_2_c.c **** { 6294 .loc 1 1369 1 6295 .cfi_startproc 6296 @ args = 0, pretend = 0, frame = 0 6297 @ frame_needed = 1, uses_anonymous_args = 0 6298 0000 80B5 push {r7, lr} 6299 .LCFI111: 6300 .cfi_def_cfa_offset 8 6301 .cfi_offset 7, -8 6302 .cfi_offset 14, -4 6303 0002 00AF add r7, sp, #0 6304 .LCFI112: 6305 .cfi_def_cfa_register 7 1370:user_src/soft_p_2_c.c **** //FMU串口通讯连接检测 1371:user_src/soft_p_2_c.c **** if(HAL_GetTick() > 15000) 6306 .loc 1 1371 8 6307 0004 FFF7FEFF bl HAL_GetTick 6308 0008 0346 mov r3, r0 6309 .loc 1 1371 7 6310 000a 43F69822 movw r2, #15000 6311 000e 9342 cmp r3, r2 6312 0010 10D9 bls .L251 1372:user_src/soft_p_2_c.c **** { 1373:user_src/soft_p_2_c.c **** if(recv_fmu_data == true && HAL_GetTick() - fmu_link_time > 3000) 6313 .loc 1 1373 26 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 154 6314 0012 174B ldr r3, .L254 6315 0014 1B78 ldrb r3, [r3] @ zero_extendqisi2 6316 .loc 1 1373 11 6317 0016 002B cmp r3, #0 6318 0018 0CD0 beq .L251 6319 .loc 1 1373 37 discriminator 1 6320 001a FFF7FEFF bl HAL_GetTick 6321 001e 0246 mov r2, r0 6322 .loc 1 1373 51 discriminator 1 6323 0020 144B ldr r3, .L254+4 6324 0022 1B68 ldr r3, [r3] 6325 0024 D31A subs r3, r2, r3 6326 .loc 1 1373 34 discriminator 1 6327 0026 40F6B832 movw r2, #3000 6328 002a 9342 cmp r3, r2 6329 002c 02D9 bls .L251 1374:user_src/soft_p_2_c.c **** { 1375:user_src/soft_p_2_c.c **** recv_fmu_data = false; 6330 .loc 1 1375 27 6331 002e 104B ldr r3, .L254 6332 0030 0022 movs r2, #0 6333 0032 1A70 strb r2, [r3] 6334 .L251: 1376:user_src/soft_p_2_c.c **** } 1377:user_src/soft_p_2_c.c **** } 1378:user_src/soft_p_2_c.c **** 1379:user_src/soft_p_2_c.c **** //FMU异常断电检测 1380:user_src/soft_p_2_c.c **** if((planep.lock_status != STA_LOCK) && (recv_fmu_data == true) && (HAL_GetTick() - fmu_link_tim 6335 .loc 1 1380 15 6336 0034 104B ldr r3, .L254+8 6337 0036 B3F90E30 ldrsh r3, [r3, #14] 6338 .loc 1 1380 7 6339 003a 002B cmp r3, #0 6340 003c 15D0 beq .L253 6341 .loc 1 1380 59 discriminator 1 6342 003e 0C4B ldr r3, .L254 6343 0040 1B78 ldrb r3, [r3] @ zero_extendqisi2 6344 .loc 1 1380 41 discriminator 1 6345 0042 002B cmp r3, #0 6346 0044 11D0 beq .L253 6347 .loc 1 1380 72 discriminator 2 6348 0046 FFF7FEFF bl HAL_GetTick 6349 004a 0246 mov r2, r0 6350 .loc 1 1380 86 discriminator 2 6351 004c 094B ldr r3, .L254+4 6352 004e 1B68 ldr r3, [r3] 6353 0050 D31A subs r3, r2, r3 6354 .loc 1 1380 68 discriminator 2 6355 0052 B3F5FA7F cmp r3, #500 6356 0056 08D9 bls .L253 1381:user_src/soft_p_2_c.c **** { 1382:user_src/soft_p_2_c.c **** flash_pmu_par._abnormal_outage_flag = 1; 6357 .loc 1 1382 45 6358 0058 084B ldr r3, .L254+12 6359 005a 0122 movs r2, #1 6360 005c DA80 strh r2, [r3, #6] @ movhi 1383:user_src/soft_p_2_c.c **** write_flash_flag = true; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 155 6361 .loc 1 1383 26 6362 005e 084B ldr r3, .L254+16 6363 0060 0122 movs r2, #1 6364 0062 1A70 strb r2, [r3] 1384:user_src/soft_p_2_c.c **** recv_fmu_data = false; 6365 .loc 1 1384 23 6366 0064 024B ldr r3, .L254 6367 0066 0022 movs r2, #0 6368 0068 1A70 strb r2, [r3] 6369 .L253: 1385:user_src/soft_p_2_c.c **** } 1386:user_src/soft_p_2_c.c **** 1387:user_src/soft_p_2_c.c **** //Check_Rst(); 1388:user_src/soft_p_2_c.c **** } 6370 .loc 1 1388 1 6371 006a 00BF nop 6372 006c 80BD pop {r7, pc} 6373 .L255: 6374 006e 00BF .align 2 6375 .L254: 6376 0070 00000000 .word recv_fmu_data 6377 0074 00000000 .word fmu_link_time 6378 0078 00000000 .word planep 6379 007c 00000000 .word flash_pmu_par 6380 0080 00000000 .word write_flash_flag 6381 .cfi_endproc 6382 .LFE155: 6384 .global pmu_pin 6385 .section .bss.pmu_pin,"aw",%nobits 6386 .align 2 6389 pmu_pin: 6390 0000 00000000 .space 16 6390 00000000 6390 00000000 6390 00000000 6391 .global recv_fmu_data 6392 .section .bss.recv_fmu_data,"aw",%nobits 6395 recv_fmu_data: 6396 0000 00 .space 1 6397 .global msgidset 6398 .section .bss.msgidset,"aw",%nobits 6399 .align 2 6402 msgidset: 6403 0000 00000000 .space 8 6403 00000000 6404 .global DMJZ 6405 .section .bss.DMJZ,"aw",%nobits 6406 .align 2 6409 DMJZ: 6410 0000 00000000 .space 4 6411 .section .text.uart_recv_con_msg,"ax",%progbits 6412 .align 1 6413 .global uart_recv_con_msg 6414 .syntax unified 6415 .thumb 6416 .thumb_func 6418 uart_recv_con_msg: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 156 6419 .LFB156: 1389:user_src/soft_p_2_c.c **** 1390:user_src/soft_p_2_c.c **** /******************void uart_recv_con_msg()************************ 1391:user_src/soft_p_2_c.c **** * ****************PMU收控制消息************************************ 1392:user_src/soft_p_2_c.c **** * ****************************************************************/ 1393:user_src/soft_p_2_c.c **** _pmu_pin pmu_pin; 1394:user_src/soft_p_2_c.c **** bool recv_fmu_data = false; 1395:user_src/soft_p_2_c.c **** Set_info msgidset; 1396:user_src/soft_p_2_c.c **** uint32_t DMJZ = 0 ; 1397:user_src/soft_p_2_c.c **** void uart_recv_con_msg() 1398:user_src/soft_p_2_c.c **** { 6420 .loc 1 1398 1 6421 .cfi_startproc 6422 @ args = 0, pretend = 0, frame = 192 6423 @ frame_needed = 1, uses_anonymous_args = 0 6424 0000 B0B5 push {r4, r5, r7, lr} 6425 .LCFI113: 6426 .cfi_def_cfa_offset 16 6427 .cfi_offset 4, -16 6428 .cfi_offset 5, -12 6429 .cfi_offset 7, -8 6430 .cfi_offset 14, -4 6431 0002 B6B0 sub sp, sp, #216 6432 .LCFI114: 6433 .cfi_def_cfa_offset 232 6434 0004 06AF add r7, sp, #24 6435 .LCFI115: 6436 .cfi_def_cfa 7, 208 1399:user_src/soft_p_2_c.c **** check_fmu_link(); 6437 .loc 1 1399 5 6438 0006 FFF7FEFF bl check_fmu_link 1400:user_src/soft_p_2_c.c **** 1401:user_src/soft_p_2_c.c **** check_uart_data(&recv_rkfifo); 6439 .loc 1 1401 5 6440 000a B148 ldr r0, .L431 6441 000c FFF7FEFF bl check_uart_data 1402:user_src/soft_p_2_c.c **** 1403:user_src/soft_p_2_c.c **** if (uart_info.fcu_buf_flag == true) 6442 .loc 1 1403 18 6443 0010 B04B ldr r3, .L431+4 6444 0012 1B78 ldrb r3, [r3] @ zero_extendqisi2 6445 .loc 1 1403 8 6446 0014 002B cmp r3, #0 6447 0016 01F0BD82 beq .L406 6448 .LBB152: 1404:user_src/soft_p_2_c.c **** { 1405:user_src/soft_p_2_c.c **** uint32_t tem_32t = 0; 6449 .loc 1 1405 18 6450 001a 0023 movs r3, #0 6451 001c C7F8A830 str r3, [r7, #168] 1406:user_src/soft_p_2_c.c **** FLASH_EraseInitTypeDef f; 1407:user_src/soft_p_2_c.c **** 1408:user_src/soft_p_2_c.c **** fmu_link_time = HAL_GetTick(); 6452 .loc 1 1408 25 6453 0020 FFF7FEFF bl HAL_GetTick 6454 0024 0346 mov r3, r0 6455 .loc 1 1408 23 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 157 6456 0026 AC4A ldr r2, .L431+8 6457 0028 1360 str r3, [r2] 1409:user_src/soft_p_2_c.c **** recv_fmu_data = true; 6458 .loc 1 1409 23 6459 002a AC4B ldr r3, .L431+12 6460 002c 0122 movs r2, #1 6461 002e 1A70 strb r2, [r3] 1410:user_src/soft_p_2_c.c **** 1411:user_src/soft_p_2_c.c **** switch (fcu_protocol.msg_id) 6462 .loc 1 1411 29 6463 0030 AB4B ldr r3, .L431+16 6464 0032 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2 6465 .loc 1 1411 9 6466 0034 1B2B cmp r3, #27 6467 0036 37DC bgt .L258 6468 0038 052B cmp r3, #5 6469 003a C1F29B82 blt .L407 6470 003e 053B subs r3, r3, #5 6471 0040 162B cmp r3, #22 6472 0042 01F29782 bhi .L407 6473 0046 01A2 adr r2, .L261 6474 0048 52F823F0 ldr pc, [r2, r3, lsl #2] 6475 .p2align 2 6476 .L261: 6477 004c B3000000 .word .L271+1 6478 0050 DD010000 .word .L270+1 6479 0054 75150000 .word .L407+1 6480 0058 45020000 .word .L269+1 6481 005c 75020000 .word .L268+1 6482 0060 75150000 .word .L407+1 6483 0064 9B020000 .word .L267+1 6484 0068 75150000 .word .L407+1 6485 006c 75150000 .word .L407+1 6486 0070 75150000 .word .L407+1 6487 0074 75150000 .word .L407+1 6488 0078 75150000 .word .L407+1 6489 007c 75150000 .word .L407+1 6490 0080 75150000 .word .L407+1 6491 0084 75150000 .word .L407+1 6492 0088 B9020000 .word .L266+1 6493 008c 31030000 .word .L265+1 6494 0090 CF030000 .word .L264+1 6495 0094 75150000 .word .L407+1 6496 0098 4F130000 .word .L263+1 6497 009c 67140000 .word .L262+1 6498 00a0 75150000 .word .L407+1 6499 00a4 5F140000 .word .L260+1 6500 .p2align 1 6501 .L258: 6502 00a8 C82B cmp r3, #200 6503 00aa 01F02E82 beq .L272 1412:user_src/soft_p_2_c.c **** { 1413:user_src/soft_p_2_c.c **** case _MSGID_PWM: 1414:user_src/soft_p_2_c.c **** memcpy(&pmu_pin.pump1, &fcu_protocol.payload[6], sizeof(_pmu_pin)); 1415:user_src/soft_p_2_c.c **** 1416:user_src/soft_p_2_c.c **** if(set_HWesc_ESCid == true && setESCidInfo.setESCidStep == SETESCID_SET) 1417:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 158 1418:user_src/soft_p_2_c.c **** memset(&pmu_pin.pump1,0,4); 1419:user_src/soft_p_2_c.c **** 1420:user_src/soft_p_2_c.c **** if(setESCidInfo.setESCidNum == 1) 1421:user_src/soft_p_2_c.c **** pmu_pin.pump1 = 1000; 1422:user_src/soft_p_2_c.c **** else if(setESCidInfo.setESCidNum == 2) 1423:user_src/soft_p_2_c.c **** pmu_pin.pump2 = 1000; 1424:user_src/soft_p_2_c.c **** } 1425:user_src/soft_p_2_c.c **** 1426:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, pmu_pin.pump1); 1427:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_2, pmu_pin.pump2); 1428:user_src/soft_p_2_c.c **** 1429:user_src/soft_p_2_c.c **** if(planep.UAV_type == VK_ALL_IN_ONE) 1430:user_src/soft_p_2_c.c **** { 1431:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, pmu_pin.nozz1_fm); 1432:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, pmu_pin.nozz2_zp); 1433:user_src/soft_p_2_c.c **** } 1434:user_src/soft_p_2_c.c **** else 1435:user_src/soft_p_2_c.c **** { 1436:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, pmu_pin.nozz1_fm); 1437:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, pmu_pin.nozz2_zp); 1438:user_src/soft_p_2_c.c **** } 1439:user_src/soft_p_2_c.c **** 1440:user_src/soft_p_2_c.c **** if(planep.UAV_type == VK_ALL_IN_ONE) 1441:user_src/soft_p_2_c.c **** { 1442:user_src/soft_p_2_c.c **** //分电板离心喷头 1443:user_src/soft_p_2_c.c **** distributor.nozzle1 = pmu_pin.nozz1_fm; 1444:user_src/soft_p_2_c.c **** distributor.nozzle2 = pmu_pin.nozz2_zp; 1445:user_src/soft_p_2_c.c **** 1446:user_src/soft_p_2_c.c **** //离心喷头34 1447:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_4, pmu_pin.nozz3); // PB8 nozzle 1448:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_3, pmu_pin.nozz4); // PB9 nozzle 1449:user_src/soft_p_2_c.c **** 1450:user_src/soft_p_2_c.c **** 1451:user_src/soft_p_2_c.c **** //前后灯 1452:user_src/soft_p_2_c.c **** if((pmu_pin.aux_light & 0x1) > 0) 1453:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET); 1454:user_src/soft_p_2_c.c **** else 1455:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET); 1456:user_src/soft_p_2_c.c **** 1457:user_src/soft_p_2_c.c **** if((pmu_pin.aux_light & 0x2) > 0) 1458:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET); 1459:user_src/soft_p_2_c.c **** else 1460:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); 1461:user_src/soft_p_2_c.c **** 1462:user_src/soft_p_2_c.c **** //摄像头舵机 1463:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_1, pmu_pin.aux_steer); 1464:user_src/soft_p_2_c.c **** } 1465:user_src/soft_p_2_c.c **** 1466:user_src/soft_p_2_c.c **** break; 1467:user_src/soft_p_2_c.c **** case _MSGID_LED: 1468:user_src/soft_p_2_c.c **** for(uint8_t i = 0; i < 7; i++) 1469:user_src/soft_p_2_c.c **** { 1470:user_src/soft_p_2_c.c **** if(planep.UAV_type != VK_ALL_IN_ONE ) //青岛机型不用LED 1471:user_src/soft_p_2_c.c **** { 1472:user_src/soft_p_2_c.c **** led_set_blink(i, fcu_protocol.payload[i*3+6], fcu_protocol.payload[i*3+7], fcu_ 1473:user_src/soft_p_2_c.c **** } 1474:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 159 1475:user_src/soft_p_2_c.c **** break; 1476:user_src/soft_p_2_c.c **** //飞机姿态信息 1477:user_src/soft_p_2_c.c **** case _MSGID_ATTITUDE: 1478:user_src/soft_p_2_c.c **** memcpy(&planep.yaw, &fcu_protocol.payload[6], sizeof(plane_para)); 1479:user_src/soft_p_2_c.c **** 1480:user_src/soft_p_2_c.c **** if(current_pmu_par.uavtype != planep.UAV_type) 1481:user_src/soft_p_2_c.c **** { 1482:user_src/soft_p_2_c.c **** flash_pmu_par._uavtype = planep.UAV_type; 1483:user_src/soft_p_2_c.c **** write_flash_flag = true; 1484:user_src/soft_p_2_c.c **** } 1485:user_src/soft_p_2_c.c **** break; 1486:user_src/soft_p_2_c.c **** case _MSGID_TIME: 1487:user_src/soft_p_2_c.c **** //tem_32t = 1684136124; 1488:user_src/soft_p_2_c.c **** memcpy(&utc_time, &fcu_protocol.payload[6], 4); 1489:user_src/soft_p_2_c.c **** covUnixTimeStp2Beijing(utc_time,&beijing_time); 1490:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_TIME,0,0,0); 1491:user_src/soft_p_2_c.c **** break; 1492:user_src/soft_p_2_c.c **** //eft播撒器 1493:user_src/soft_p_2_c.c **** case _MSGID_EFT_CON: 1494:user_src/soft_p_2_c.c **** recv_fmu_seed_info = true; 1495:user_src/soft_p_2_c.c **** memcpy(&tppwm_value, &fcu_protocol.payload[6], 2); 1496:user_src/soft_p_2_c.c **** memcpy(&sow_rotate_value, &fcu_protocol.payload[8], 2); 1497:user_src/soft_p_2_c.c **** break; 1498:user_src/soft_p_2_c.c **** //请求信息包 1499:user_src/soft_p_2_c.c **** case _MSGID_REQ: 1500:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[6]) 1501:user_src/soft_p_2_c.c **** { 1502:user_src/soft_p_2_c.c **** case MSGID_REQ_VERSION: 1503:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_VERSION; 1504:user_src/soft_p_2_c.c **** break; 1505:user_src/soft_p_2_c.c **** default: 1506:user_src/soft_p_2_c.c **** break; 1507:user_src/soft_p_2_c.c **** } 1508:user_src/soft_p_2_c.c **** break; 1509:user_src/soft_p_2_c.c **** //主控应答 1510:user_src/soft_p_2_c.c **** case _MSGID_ACK: 1511:user_src/soft_p_2_c.c **** msgidset.content1 = fcu_protocol.payload[7] + 256 * fcu_protocol.payload[8]; 1512:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[6]) 1513:user_src/soft_p_2_c.c **** { 1514:user_src/soft_p_2_c.c **** case MSGID_ACK_HEART: 1515:user_src/soft_p_2_c.c **** if(flash_pmu_par._abnormal_outage_flag != 0) 1516:user_src/soft_p_2_c.c **** { 1517:user_src/soft_p_2_c.c **** flash_pmu_par._abnormal_outage_flag = 0; 1518:user_src/soft_p_2_c.c **** write_flash_flag = true; 1519:user_src/soft_p_2_c.c **** } 1520:user_src/soft_p_2_c.c **** break; 1521:user_src/soft_p_2_c.c **** case MSGID_ACK_VERSION: 1522:user_src/soft_p_2_c.c **** start_msg.version_info = true; 1523:user_src/soft_p_2_c.c **** break; 1524:user_src/soft_p_2_c.c **** case MSGID_ACK_DEV: 1525:user_src/soft_p_2_c.c **** { 1526:user_src/soft_p_2_c.c **** if(msgidset.content1 < DEVICE_END - 1) 1527:user_src/soft_p_2_c.c **** { 1528:user_src/soft_p_2_c.c **** dev_version_content *Pt = dev_ptr[msgidset.content1]; 1529:user_src/soft_p_2_c.c **** if(Pt->send_times > 0) 1530:user_src/soft_p_2_c.c **** Pt->send_times--; 1531:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 160 1532:user_src/soft_p_2_c.c **** } 1533:user_src/soft_p_2_c.c **** break; 1534:user_src/soft_p_2_c.c **** default: 1535:user_src/soft_p_2_c.c **** break; 1536:user_src/soft_p_2_c.c **** } 1537:user_src/soft_p_2_c.c **** break; 1538:user_src/soft_p_2_c.c **** //设置雷达灵敏度 1539:user_src/soft_p_2_c.c **** case _MSGID_SET: 1540:user_src/soft_p_2_c.c **** msgidset.num = fcu_protocol.payload[6]; 1541:user_src/soft_p_2_c.c **** msgidset.content1 = fcu_protocol.payload[7] + 256 * fcu_protocol.payload[8]; 1542:user_src/soft_p_2_c.c **** msgidset.content2 = fcu_protocol.payload[9] + 256 * fcu_protocol.payload[10]; 1543:user_src/soft_p_2_c.c **** msgidset.content3 = fcu_protocol.payload[11] + 256 * fcu_protocol.payload[12]; 1544:user_src/soft_p_2_c.c **** switch (msgidset.num) 1545:user_src/soft_p_2_c.c **** { 1546:user_src/soft_p_2_c.c **** //前雷达 1547:user_src/soft_p_2_c.c **** case MSGID_SET_F_RADAR: 1548:user_src/soft_p_2_c.c **** if(uavr12_info.fcu_set_sensi_flag != true && uavr56_info.fcu_set_sensi_flag != true 1549:user_src/soft_p_2_c.c **** { 1550:user_src/soft_p_2_c.c **** uavr11_info.fcu_set_sensi_flag = true; 1551:user_src/soft_p_2_c.c **** } 1552:user_src/soft_p_2_c.c **** memcpy(&obsfradar_sensitivity, &fcu_protocol.payload[7], 2); 1553:user_src/soft_p_2_c.c **** if(obsfradar_sensitivity == uavr11_info.get_radar_sensi) 1554:user_src/soft_p_2_c.c **** { 1555:user_src/soft_p_2_c.c **** uavr11_info.fcu_set_sensi_flag = false; 1556:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_F_RADAR,uavr11_info.get_radar_sensi,0); 1557:user_src/soft_p_2_c.c **** } 1558:user_src/soft_p_2_c.c **** break; 1559:user_src/soft_p_2_c.c **** //后雷达 1560:user_src/soft_p_2_c.c **** case MSGID_SET_B_RADAR: 1561:user_src/soft_p_2_c.c **** if(uavr11_info.fcu_set_sensi_flag != true && uavr56_info.fcu_set_sensi_flag != true 1562:user_src/soft_p_2_c.c **** { 1563:user_src/soft_p_2_c.c **** uavr12_info.fcu_set_sensi_flag = true; 1564:user_src/soft_p_2_c.c **** } 1565:user_src/soft_p_2_c.c **** memcpy(&obsbradar_sensitivity, &fcu_protocol.payload[7], 2); 1566:user_src/soft_p_2_c.c **** if(obsbradar_sensitivity == uavr12_info.get_radar_sensi) 1567:user_src/soft_p_2_c.c **** { 1568:user_src/soft_p_2_c.c **** uavr12_info.fcu_set_sensi_flag = false; 1569:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_B_RADAR,uavr12_info.get_radar_sensi,0); 1570:user_src/soft_p_2_c.c **** } 1571:user_src/soft_p_2_c.c **** break; 1572:user_src/soft_p_2_c.c **** //仿地 1573:user_src/soft_p_2_c.c **** case MSGID_SET_T_RADAR: 1574:user_src/soft_p_2_c.c **** if(uavr11_info.fcu_set_sensi_flag != true && uavr12_info.fcu_set_sensi_flag != true 1575:user_src/soft_p_2_c.c **** { 1576:user_src/soft_p_2_c.c **** uavr56_info.fcu_set_sensi_flag = true; 1577:user_src/soft_p_2_c.c **** } 1578:user_src/soft_p_2_c.c **** memcpy(&uavr56_info.fcu_set_sensi, &fcu_protocol.payload[7], 2); 1579:user_src/soft_p_2_c.c **** if(uavr56_info.fcu_set_sensi == uavr56_info.get_radar_sensi) 1580:user_src/soft_p_2_c.c **** { 1581:user_src/soft_p_2_c.c **** uavr56_info.fcu_set_sensi_flag = false; 1582:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_T_RADAR,uavr56_info.get_radar_sensi,0); 1583:user_src/soft_p_2_c.c **** } 1584:user_src/soft_p_2_c.c **** break; 1585:user_src/soft_p_2_c.c **** case MSGID_SET_TR_BLIND: 1586:user_src/soft_p_2_c.c **** { 1587:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1588:user_src/soft_p_2_c.c **** uint32_t can_id = 0; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 161 1589:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 1590:user_src/soft_p_2_c.c **** can_id = 0xA81300; 1591:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x56) 1592:user_src/soft_p_2_c.c **** can_id = 0x981300; 1593:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x5,(msgidset.content2 & 0xff),((msgidset.content2 >> 8 1594:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 1595:user_src/soft_p_2_c.c **** } 1596:user_src/soft_p_2_c.c **** break; 1597:user_src/soft_p_2_c.c **** case MSGID_SET_BR_POWER: 1598:user_src/soft_p_2_c.c **** { 1599:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1600:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 1601:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 1602:user_src/soft_p_2_c.c **** can_id = 0xA81300; 1603:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x56) 1604:user_src/soft_p_2_c.c **** can_id = 0x981300; 1605:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x7,(msgidset.content2 & 0xff),((msgidset.content2 >> 8 1606:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 1607:user_src/soft_p_2_c.c **** } 1608:user_src/soft_p_2_c.c **** break; 1609:user_src/soft_p_2_c.c **** case MSGID_SET_R_FUNC: 1610:user_src/soft_p_2_c.c **** { 1611:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1612:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 1613:user_src/soft_p_2_c.c **** if(msgidset.content1 == 3 ) 1614:user_src/soft_p_2_c.c **** can_id = 0x981300; 1615:user_src/soft_p_2_c.c **** else if(msgidset.content1 == 5 || msgidset.content1 == 7) 1616:user_src/soft_p_2_c.c **** can_id = 0xA81300; 1617:user_src/soft_p_2_c.c **** else if(msgidset.content1 == 6) 1618:user_src/soft_p_2_c.c **** can_id = 0xB81300; 1619:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x4,(msgidset.content1 & 0xff),((msgidset.content1 >> 8 1620:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 1621:user_src/soft_p_2_c.c **** } 1622:user_src/soft_p_2_c.c **** break; 1623:user_src/soft_p_2_c.c **** case MSGID_SET_RAW_SWITCH: 1624:user_src/soft_p_2_c.c **** { 1625:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1626:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 1627:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 1628:user_src/soft_p_2_c.c **** can_id = 0xA81300; 1629:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x56) 1630:user_src/soft_p_2_c.c **** can_id = 0x981300; 1631:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0xA,(msgidset.content2 & 0xff),((msgidset.content2 >> 8 1632:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 1633:user_src/soft_p_2_c.c **** } 1634:user_src/soft_p_2_c.c **** break; 1635:user_src/soft_p_2_c.c **** case MSGID_SET_GEELY: 1636:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[7]) 1637:user_src/soft_p_2_c.c **** { 1638:user_src/soft_p_2_c.c **** case SET_START_OR_STOP: 1639:user_src/soft_p_2_c.c **** if(0x1 == fcu_protocol.payload[9] + ((fcu_protocol.payload[10] << 8) & 0xff00)) 1640:user_src/soft_p_2_c.c **** { 1641:user_src/soft_p_2_c.c **** if (geely_engin_link.connect_status == COMP_NORMAL && geely_data.engine_con 1642:user_src/soft_p_2_c.c **** { 1643:user_src/soft_p_2_c.c **** sendto_geely.ExtenderControl = 1; 1644:user_src/soft_p_2_c.c **** } 1645:user_src/soft_p_2_c.c **** start_engine = 0x80; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 162 1646:user_src/soft_p_2_c.c **** } 1647:user_src/soft_p_2_c.c **** else if(0x0 == fcu_protocol.payload[9] + ((fcu_protocol.payload[10] << 8) & 0xf 1648:user_src/soft_p_2_c.c **** { 1649:user_src/soft_p_2_c.c **** if (geely_engin_link.connect_status == COMP_NORMAL && geely_data.engine_con 1650:user_src/soft_p_2_c.c **** { 1651:user_src/soft_p_2_c.c **** sendto_geely.ExtenderControl = 0; 1652:user_src/soft_p_2_c.c **** } 1653:user_src/soft_p_2_c.c **** start_engine = 0; 1654:user_src/soft_p_2_c.c **** } 1655:user_src/soft_p_2_c.c **** break; 1656:user_src/soft_p_2_c.c **** case SET_PROTECT_TIME: 1657:user_src/soft_p_2_c.c **** if (geely_engin_link.connect_status == COMP_NORMAL) 1658:user_src/soft_p_2_c.c **** { 1659:user_src/soft_p_2_c.c **** geely_set_tcd = true; 1660:user_src/soft_p_2_c.c **** 1661:user_src/soft_p_2_c.c **** sendto_geely.SettingParameter = fcu_protocol.payload[9] + ((fcu_protocol.pa 1662:user_src/soft_p_2_c.c **** } 1663:user_src/soft_p_2_c.c **** break; 1664:user_src/soft_p_2_c.c **** case SET_LOCK_TIME: 1665:user_src/soft_p_2_c.c **** if (geely_engin_link.connect_status == COMP_NORMAL) 1666:user_src/soft_p_2_c.c **** { 1667:user_src/soft_p_2_c.c **** geely_set_tlock = true; 1668:user_src/soft_p_2_c.c **** 1669:user_src/soft_p_2_c.c **** sendto_geely.SettingParameter = fcu_protocol.payload[9] + ((fcu_protocol.pa 1670:user_src/soft_p_2_c.c **** } 1671:user_src/soft_p_2_c.c **** break; 1672:user_src/soft_p_2_c.c **** case SET_LOWVOL_PROTECT: 1673:user_src/soft_p_2_c.c **** if(0x1 == fcu_protocol.payload[9] + ((fcu_protocol.payload[10] << 8) & 0xff00)) 1674:user_src/soft_p_2_c.c **** { 1675:user_src/soft_p_2_c.c **** if (geely_engin_link.connect_status == COMP_NORMAL) 1676:user_src/soft_p_2_c.c **** { 1677:user_src/soft_p_2_c.c **** sendto_geely.ExtenderControl = 1; 1678:user_src/soft_p_2_c.c **** geely_set_protect = true; 1679:user_src/soft_p_2_c.c **** } 1680:user_src/soft_p_2_c.c **** } 1681:user_src/soft_p_2_c.c **** else 1682:user_src/soft_p_2_c.c **** { 1683:user_src/soft_p_2_c.c **** geely_set_protect = false; 1684:user_src/soft_p_2_c.c **** } 1685:user_src/soft_p_2_c.c **** break; 1686:user_src/soft_p_2_c.c **** default: 1687:user_src/soft_p_2_c.c **** break; 1688:user_src/soft_p_2_c.c **** } 1689:user_src/soft_p_2_c.c **** break; 1690:user_src/soft_p_2_c.c **** case MSGID_SET_VOL: 1691:user_src/soft_p_2_c.c **** flash_pmu_par._cal_vol = (fcu_protocol.payload[7] + 256 * fcu_protocol.payload[8]) 1692:user_src/soft_p_2_c.c **** write_flash_flag = true; 1693:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_VOL,0,0); 1694:user_src/soft_p_2_c.c **** break; 1695:user_src/soft_p_2_c.c **** case MSGID_SET_MIMO_FLOW: 1696:user_src/soft_p_2_c.c **** if(msgidset.content1 != 0) 1697:user_src/soft_p_2_c.c **** { 1698:user_src/soft_p_2_c.c **** if(Dev.Flow.facid == FAC_MIMO_SIG || Dev.Flow.facid == FAC_MIMO_DOU) 1699:user_src/soft_p_2_c.c **** { 1700:user_src/soft_p_2_c.c **** tem_32t = flow_mimo1.flow_k * msgidset.content1 / 100; 1701:user_src/soft_p_2_c.c **** 1702:user_src/soft_p_2_c.c **** if(tem_32t >= 500 && tem_32t <= 20000) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 163 1703:user_src/soft_p_2_c.c **** { 1704:user_src/soft_p_2_c.c **** flow_mimo1.flow_calk = tem_32t; 1705:user_src/soft_p_2_c.c **** } 1706:user_src/soft_p_2_c.c **** else{ 1707:user_src/soft_p_2_c.c **** flow_mimo1.flow_calk = 10000; 1708:user_src/soft_p_2_c.c **** } 1709:user_src/soft_p_2_c.c **** flow_mimo1.send_k_count = 5; 1710:user_src/soft_p_2_c.c **** } 1711:user_src/soft_p_2_c.c **** else if(Dev.Flow.facid == FAC_QIFEI_SIG || Dev.Flow.facid == FAC_QIFEI_DOU) 1712:user_src/soft_p_2_c.c **** { 1713:user_src/soft_p_2_c.c **** tem_32t = flow_inf.ch1.k * msgidset.content1 / 100; 1714:user_src/soft_p_2_c.c **** 1715:user_src/soft_p_2_c.c **** if(tem_32t >= 500 && tem_32t <= 20000) 1716:user_src/soft_p_2_c.c **** { 1717:user_src/soft_p_2_c.c **** flow_inf.ch1.cal_k = tem_32t; 1718:user_src/soft_p_2_c.c **** } 1719:user_src/soft_p_2_c.c **** else{ 1720:user_src/soft_p_2_c.c **** flow_inf.ch1.cal_k = 10000; 1721:user_src/soft_p_2_c.c **** } 1722:user_src/soft_p_2_c.c **** flow_inf.ch1.set_k = true; 1723:user_src/soft_p_2_c.c **** } 1724:user_src/soft_p_2_c.c **** } 1725:user_src/soft_p_2_c.c **** 1726:user_src/soft_p_2_c.c **** if(msgidset.content2 != 0) 1727:user_src/soft_p_2_c.c **** { 1728:user_src/soft_p_2_c.c **** if(Dev.Flow.facid == FAC_MIMO_SIG || Dev.Flow.facid == FAC_MIMO_DOU) 1729:user_src/soft_p_2_c.c **** { 1730:user_src/soft_p_2_c.c **** tem_32t = flow_mimo2.flow_k * msgidset.content2 / 100; 1731:user_src/soft_p_2_c.c **** 1732:user_src/soft_p_2_c.c **** if(tem_32t >= 500 && tem_32t <= 20000) 1733:user_src/soft_p_2_c.c **** { 1734:user_src/soft_p_2_c.c **** flow_mimo2.flow_calk = tem_32t; 1735:user_src/soft_p_2_c.c **** } 1736:user_src/soft_p_2_c.c **** else{ 1737:user_src/soft_p_2_c.c **** flow_mimo2.flow_calk = 10000; 1738:user_src/soft_p_2_c.c **** } 1739:user_src/soft_p_2_c.c **** flow_mimo2.send_k_count = 5; 1740:user_src/soft_p_2_c.c **** } 1741:user_src/soft_p_2_c.c **** else if(Dev.Flow.facid == FAC_QIFEI_SIG || Dev.Flow.facid == FAC_QIFEI_DOU) 1742:user_src/soft_p_2_c.c **** { 1743:user_src/soft_p_2_c.c **** tem_32t = flow_inf.ch2.k * msgidset.content2 / 100; 1744:user_src/soft_p_2_c.c **** 1745:user_src/soft_p_2_c.c **** if(tem_32t >= 500 && tem_32t <= 20000) 1746:user_src/soft_p_2_c.c **** { 1747:user_src/soft_p_2_c.c **** flow_inf.ch2.cal_k = tem_32t; 1748:user_src/soft_p_2_c.c **** } 1749:user_src/soft_p_2_c.c **** else{ 1750:user_src/soft_p_2_c.c **** flow_inf.ch2.cal_k = 10000; 1751:user_src/soft_p_2_c.c **** } 1752:user_src/soft_p_2_c.c **** flow_inf.ch1.set_k = true; 1753:user_src/soft_p_2_c.c **** } 1754:user_src/soft_p_2_c.c **** } 1755:user_src/soft_p_2_c.c **** break; 1756:user_src/soft_p_2_c.c **** case MSGID_SET_FLOW_BACKGROUND: 1757:user_src/soft_p_2_c.c **** if(Dev.Flow.facid == FAC_MIMO_SIG) 1758:user_src/soft_p_2_c.c **** { 1759:user_src/soft_p_2_c.c **** flow_inf.ch1.clear_background = true; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 164 1760:user_src/soft_p_2_c.c **** } 1761:user_src/soft_p_2_c.c **** if(Dev.Flow.facid == FAC_MIMO_DOU) 1762:user_src/soft_p_2_c.c **** { 1763:user_src/soft_p_2_c.c **** flow_inf.ch1.clear_background = true; 1764:user_src/soft_p_2_c.c **** flow_inf.ch2.clear_background = true; 1765:user_src/soft_p_2_c.c **** } 1766:user_src/soft_p_2_c.c **** break; 1767:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_K: 1768:user_src/soft_p_2_c.c **** //calib_aux = msgidset.content1 + (msgidset.content2 << 2); //bit 0-1 编号 2-15K 1769:user_src/soft_p_2_c.c **** weight_order.type = Weight_Set_K; 1770:user_src/soft_p_2_c.c **** weight_order.order_con1 = msgidset.content1; 1771:user_src/soft_p_2_c.c **** weight_order.order_con2 = msgidset.content2; 1772:user_src/soft_p_2_c.c **** break; 1773:user_src/soft_p_2_c.c **** case MSGID_SET_SEED_OUT_TYPE: 1774:user_src/soft_p_2_c.c **** recv_fmu_seed_info = true; 1775:user_src/soft_p_2_c.c **** seed_output_mode = msgidset.content1; 1776:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_SEED_OUT_TYPE,0,0); 1777:user_src/soft_p_2_c.c **** break; 1778:user_src/soft_p_2_c.c **** case MSGID_SET_SEED_CAL_TYPE: 1779:user_src/soft_p_2_c.c **** switch (msgidset.content1) 1780:user_src/soft_p_2_c.c **** { 1781:user_src/soft_p_2_c.c **** case Cal_Remove_Peel: 1782:user_src/soft_p_2_c.c **** weight_order.type = Weight_Peer; 1783:user_src/soft_p_2_c.c **** break; 1784:user_src/soft_p_2_c.c **** case Cal_Weight: 1785:user_src/soft_p_2_c.c **** weight_order.type = Weight_Kg; 1786:user_src/soft_p_2_c.c **** weight_order.order_con2 = msgidset.content2; 1787:user_src/soft_p_2_c.c **** weight_order.order_con3 = msgidset.content3; 1788:user_src/soft_p_2_c.c **** break; 1789:user_src/soft_p_2_c.c **** case Cal_Seed_Back: 1790:user_src/soft_p_2_c.c **** weight_order.type = Seed_Bcak; 1791:user_src/soft_p_2_c.c **** break; 1792:user_src/soft_p_2_c.c **** default: 1793:user_src/soft_p_2_c.c **** break; 1794:user_src/soft_p_2_c.c **** } 1795:user_src/soft_p_2_c.c **** break; 1796:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_MODE: 1797:user_src/soft_p_2_c.c **** weight_order.type = Weight_Mode; 1798:user_src/soft_p_2_c.c **** weight_order.order_con1 = msgidset.content1; 1799:user_src/soft_p_2_c.c **** break; 1800:user_src/soft_p_2_c.c **** case MSGID_SET_MAX_RATE: 1801:user_src/soft_p_2_c.c **** weight_order.type = Weight_Drug_Rate; 1802:user_src/soft_p_2_c.c **** weight_order.order_con1 = msgidset.content1; 1803:user_src/soft_p_2_c.c **** break; 1804:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_RESETK: 1805:user_src/soft_p_2_c.c **** weight_order.type = Weight_Bcak; 1806:user_src/soft_p_2_c.c **** break; 1807:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHTFAC_CAL: 1808:user_src/soft_p_2_c.c **** weight_order.type = Weight_Fac_cal; 1809:user_src/soft_p_2_c.c **** weight_factory_cal_flag = true; //一直发送 1810:user_src/soft_p_2_c.c **** break; 1811:user_src/soft_p_2_c.c **** case MSGID_SET_PMU_SERIAL: 1812:user_src/soft_p_2_c.c **** { 1813:user_src/soft_p_2_c.c **** int sn_32t = 0; 1814:user_src/soft_p_2_c.c **** sn_32t = msgidset.content1 + (msgidset.content2 << 16); 1815:user_src/soft_p_2_c.c **** if(sn_32t == PMU_SERIAL || current_pmu_par.SN == PMU_SERIAL) 1816:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 165 1817:user_src/soft_p_2_c.c **** flash_pmu_par._SN_L = msgidset.content1; 1818:user_src/soft_p_2_c.c **** flash_pmu_par._SN_H = msgidset.content2; 1819:user_src/soft_p_2_c.c **** write_flash_flag = true; 1820:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_PMU_SERIAL,0,0); 1821:user_src/soft_p_2_c.c **** Int2String(sn_32t,dev_pmu.sn,9); 1822:user_src/soft_p_2_c.c **** dev_pmu.send_times += 5; 1823:user_src/soft_p_2_c.c **** } 1824:user_src/soft_p_2_c.c **** else if(sn_32t == current_pmu_par.SN) 1825:user_src/soft_p_2_c.c **** { 1826:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_PMU_SERIAL,0,0); 1827:user_src/soft_p_2_c.c **** } 1828:user_src/soft_p_2_c.c **** break; 1829:user_src/soft_p_2_c.c **** } 1830:user_src/soft_p_2_c.c **** case MSGID_SET_RADAR_FB: 1831:user_src/soft_p_2_c.c **** { 1832:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1833:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 1834:user_src/soft_p_2_c.c **** { 1835:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x55,0XAA,0X03,0X61,0X03,0X01,0X65,0X00); 1836:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,7,0xFA); 1837:user_src/soft_p_2_c.c **** } 1838:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x12) 1839:user_src/soft_p_2_c.c **** { 1840:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x55,0XAA,0X03,0X61,0X03,0X02,0X66,0X00); 1841:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,7,0xFA); 1842:user_src/soft_p_2_c.c **** } 1843:user_src/soft_p_2_c.c **** else if(msgidset.content1 == 0x100) 1844:user_src/soft_p_2_c.c **** { 1845:user_src/soft_p_2_c.c **** if(msgidset.content2 == 0x11 || msgidset.content2 == 0x12) 1846:user_src/soft_p_2_c.c **** { 1847:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x55,0XAA,0X03,0X61,0X00,0X03,0X64,0X00); 1848:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,7,0xFA); 1849:user_src/soft_p_2_c.c **** } 1850:user_src/soft_p_2_c.c **** else if(msgidset.content2 == 0x56) 1851:user_src/soft_p_2_c.c **** { 1852:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x55,0XAA,0X02,0X60,0X03,0X63,0X00,0X00); 1853:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,6,0xFA); 1854:user_src/soft_p_2_c.c **** } 1855:user_src/soft_p_2_c.c **** } 1856:user_src/soft_p_2_c.c **** } 1857:user_src/soft_p_2_c.c **** break; 1858:user_src/soft_p_2_c.c **** case MSGID_SET_LACKLOSS_CAL: 1859:user_src/soft_p_2_c.c **** { 1860:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1861:user_src/soft_p_2_c.c **** if(Dev.Lackloss_Link.connect_status == COMP_NORMAL && Dev.Checklow.facid == FAC_VK) 1862:user_src/soft_p_2_c.c **** { 1863:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0xFA,0x03,0x00,0xB2,0XE1,0x00,0X00,0X00); 1864:user_src/soft_p_2_c.c **** can_buf[7] = (can_buf[1]+can_buf[2]+can_buf[3]+can_buf[4]+can_buf[5]+can_buf[6] 1865:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 1866:user_src/soft_p_2_c.c **** } 1867:user_src/soft_p_2_c.c **** else if(Dev.Lackloss_Link.connect_status == COMP_NORMAL && Dev.Checklow.facid == FA 1868:user_src/soft_p_2_c.c **** { 1869:user_src/soft_p_2_c.c **** if(HAL_GetTick()-DMJZ >= 6000) 1870:user_src/soft_p_2_c.c **** { 1871:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x01,0x00,0x00,0x00,0X00,0x00,0X00,0X00); 1872:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0x18F2AD0A); 1873:user_src/soft_p_2_c.c **** DMJZ = HAL_GetTick(); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 166 1874:user_src/soft_p_2_c.c **** } 1875:user_src/soft_p_2_c.c **** } 1876:user_src/soft_p_2_c.c **** } 1877:user_src/soft_p_2_c.c **** break; 1878:user_src/soft_p_2_c.c **** case MSGID_SET_PUMP_ID: 1879:user_src/soft_p_2_c.c **** set_HWesc_ESCid = true; 1880:user_src/soft_p_2_c.c **** setESCidInfo.setESCidNum = 1; 1881:user_src/soft_p_2_c.c **** setESCidInfo.setESCidStep = SETESCID_INIT; 1882:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_PUMP_ID,0,2); 1883:user_src/soft_p_2_c.c **** break; 1884:user_src/soft_p_2_c.c **** case MSGID_SET_RESIWIRE_BLOWN: 1885:user_src/soft_p_2_c.c **** { 1886:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1887:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0xF7,fcu_protocol.payload[7],0x00,0x00,0x00,0xF1,0XF3,0X00) 1888:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, 0x88BB); 1889:user_src/soft_p_2_c.c **** } 1890:user_src/soft_p_2_c.c **** break; 1891:user_src/soft_p_2_c.c **** case MSGID_SET_FRADAR_SN: 1892:user_src/soft_p_2_c.c **** { 1893:user_src/soft_p_2_c.c **** int radar_Sn = 0; 1894:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1895:user_src/soft_p_2_c.c **** 1896:user_src/soft_p_2_c.c **** radar_Sn = msgidset.content1 + (msgidset.content2 << 16); 1897:user_src/soft_p_2_c.c **** can_buf[0] = 2; 1898:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 1899:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1900:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xA81300); 1901:user_src/soft_p_2_c.c **** DM_f_info.get_radar_ver_flag = false; 1902:user_src/soft_p_2_c.c **** dev_obsf.regist.sn = false; 1903:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_FRADAR_SN,msgidset.content1,msgidset.content2) 1904:user_src/soft_p_2_c.c **** } 1905:user_src/soft_p_2_c.c **** break; 1906:user_src/soft_p_2_c.c **** case MSGID_SET_BRADAR_SN: 1907:user_src/soft_p_2_c.c **** { 1908:user_src/soft_p_2_c.c **** int radar_Sn = 0; 1909:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1910:user_src/soft_p_2_c.c **** 1911:user_src/soft_p_2_c.c **** radar_Sn = msgidset.content1 + (msgidset.content2 << 16); 1912:user_src/soft_p_2_c.c **** can_buf[0] = 2; 1913:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 1914:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1915:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xB81300); 1916:user_src/soft_p_2_c.c **** dev_obsb.regist.sn = false; 1917:user_src/soft_p_2_c.c **** //DM_b_info.get_radar_ver_flag = false; 1918:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_BRADAR_SN,msgidset.content1,msgidset.content2) 1919:user_src/soft_p_2_c.c **** } 1920:user_src/soft_p_2_c.c **** break; 1921:user_src/soft_p_2_c.c **** case MSGID_SET_TRADAR_SN: 1922:user_src/soft_p_2_c.c **** { 1923:user_src/soft_p_2_c.c **** int radar_Sn = 0; 1924:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1925:user_src/soft_p_2_c.c **** 1926:user_src/soft_p_2_c.c **** radar_Sn = msgidset.content1 + (msgidset.content2 << 16); 1927:user_src/soft_p_2_c.c **** can_buf[0] = 2; 1928:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 1929:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1930:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0x981300); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 167 1931:user_src/soft_p_2_c.c **** DM_ter_info.get_radar_ver_flag = false; 1932:user_src/soft_p_2_c.c **** dev_ter.regist.sn = false; //重新获取sn 1933:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_TRADAR_SN,msgidset.content1,msgidset.content2) 1934:user_src/soft_p_2_c.c **** } 1935:user_src/soft_p_2_c.c **** break; 1936:user_src/soft_p_2_c.c **** case MSGID_SET_4DFRADAR_SN: 1937:user_src/soft_p_2_c.c **** { 1938:user_src/soft_p_2_c.c **** int radar_Sn = 0; 1939:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1940:user_src/soft_p_2_c.c **** 1941:user_src/soft_p_2_c.c **** radar_Sn = msgidset.content1 + (msgidset.content2 << 16); 1942:user_src/soft_p_2_c.c **** can_buf[0] = 2; 1943:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 1944:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1945:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xA81300); 1946:user_src/soft_p_2_c.c **** DM_f_info.get_radar_ver_flag = false; 1947:user_src/soft_p_2_c.c **** dev_obsf.regist.sn = false; 1948:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_4DFRADAR_SN,msgidset.content1,msgidset.content 1949:user_src/soft_p_2_c.c **** } 1950:user_src/soft_p_2_c.c **** break; 1951:user_src/soft_p_2_c.c **** case MSGID_SET_4DBRADAR_SN: 1952:user_src/soft_p_2_c.c **** { 1953:user_src/soft_p_2_c.c **** int radar_Sn = 0; 1954:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1955:user_src/soft_p_2_c.c **** 1956:user_src/soft_p_2_c.c **** radar_Sn = msgidset.content1 + (msgidset.content2 << 16); 1957:user_src/soft_p_2_c.c **** can_buf[0] = 2; 1958:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 1959:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1960:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xB81300); 1961:user_src/soft_p_2_c.c **** dev_obsb.regist.sn = false; 1962:user_src/soft_p_2_c.c **** //DM_b_info.get_radar_ver_flag = false; 1963:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_4DBRADAR_SN,msgidset.content1,msgidset.content 1964:user_src/soft_p_2_c.c **** } 1965:user_src/soft_p_2_c.c **** break; 1966:user_src/soft_p_2_c.c **** case MSGID_SET_4DTRADAR_SN: 1967:user_src/soft_p_2_c.c **** { 1968:user_src/soft_p_2_c.c **** int radar_Sn = 0; 1969:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1970:user_src/soft_p_2_c.c **** 1971:user_src/soft_p_2_c.c **** radar_Sn = msgidset.content1 + (msgidset.content2 << 16); 1972:user_src/soft_p_2_c.c **** can_buf[0] = 2; 1973:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 1974:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1975:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0x981300); 1976:user_src/soft_p_2_c.c **** DM_ter_info.get_radar_ver_flag = false; 1977:user_src/soft_p_2_c.c **** dev_ter.regist.sn = false; //重新获取sn 1978:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_4DTRADAR_SN,msgidset.content1,msgidset.content 1979:user_src/soft_p_2_c.c **** } 1980:user_src/soft_p_2_c.c **** break; 1981:user_src/soft_p_2_c.c **** default: 1982:user_src/soft_p_2_c.c **** break; 1983:user_src/soft_p_2_c.c **** } 1984:user_src/soft_p_2_c.c **** break; 1985:user_src/soft_p_2_c.c **** case _MSGID_SET4D: 1986:user_src/soft_p_2_c.c **** { 1987:user_src/soft_p_2_c.c **** uint16_t radar_id = 0; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 168 1988:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 1989:user_src/soft_p_2_c.c **** int radar_msg = 0; 1990:user_src/soft_p_2_c.c **** 1991:user_src/soft_p_2_c.c **** radar_id = fcu_protocol.payload[6] + fcu_protocol.payload[7]*256; 1992:user_src/soft_p_2_c.c **** memcpy(&radar_msg,&fcu_protocol.payload[8],4); 1993:user_src/soft_p_2_c.c **** switch (radar_id) 1994:user_src/soft_p_2_c.c **** { 1995:user_src/soft_p_2_c.c **** case 1: 1996:user_src/soft_p_2_c.c **** can_buf[0] = 0XC; 1997:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 1998:user_src/soft_p_2_c.c **** can_buf[7] = 7; 1999:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XA81300); 2000:user_src/soft_p_2_c.c **** break; 2001:user_src/soft_p_2_c.c **** case 2: 2002:user_src/soft_p_2_c.c **** can_buf[0] = 0XE; 2003:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 2004:user_src/soft_p_2_c.c **** can_buf[7] = 7; 2005:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XA81300); 2006:user_src/soft_p_2_c.c **** break; 2007:user_src/soft_p_2_c.c **** case 3: 2008:user_src/soft_p_2_c.c **** can_buf[0] = 0XA; 2009:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 2010:user_src/soft_p_2_c.c **** can_buf[7] = 7; 2011:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XA81300); 2012:user_src/soft_p_2_c.c **** break; 2013:user_src/soft_p_2_c.c **** case 4: 2014:user_src/soft_p_2_c.c **** can_buf[0] = 0XC; 2015:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 2016:user_src/soft_p_2_c.c **** can_buf[7] = 7; 2017:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XB81300); 2018:user_src/soft_p_2_c.c **** break; 2019:user_src/soft_p_2_c.c **** case 5: 2020:user_src/soft_p_2_c.c **** can_buf[0] = 0XE; 2021:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 2022:user_src/soft_p_2_c.c **** can_buf[7] = 7; 2023:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XB81300); 2024:user_src/soft_p_2_c.c **** break; 2025:user_src/soft_p_2_c.c **** case 6: 2026:user_src/soft_p_2_c.c **** can_buf[0] = 0XA; 2027:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 2028:user_src/soft_p_2_c.c **** can_buf[7] = 7; 2029:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XB81300); 2030:user_src/soft_p_2_c.c **** break; 2031:user_src/soft_p_2_c.c **** default: 2032:user_src/soft_p_2_c.c **** break; 2033:user_src/soft_p_2_c.c **** } 2034:user_src/soft_p_2_c.c **** } 2035:user_src/soft_p_2_c.c **** case _MSGID_HEART: 2036:user_src/soft_p_2_c.c **** pmu_heart_flag = true; 2037:user_src/soft_p_2_c.c **** break; 2038:user_src/soft_p_2_c.c **** case _MSGID_SHA1: 2039:user_src/soft_p_2_c.c **** //智能电池秘钥 2040:user_src/soft_p_2_c.c **** if(fcu_protocol.payload[6] == 1) 2041:user_src/soft_p_2_c.c **** { 2042:user_src/soft_p_2_c.c **** //有秘钥 2043:user_src/soft_p_2_c.c **** if(fcu_protocol.payload[7] == 2 && fcu_protocol.payload[8] == 1) 2044:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 169 2045:user_src/soft_p_2_c.c **** if(start_msg.key_info_checking == true) 2046:user_src/soft_p_2_c.c **** { 2047:user_src/soft_p_2_c.c **** memcpy(&start_msg.key_data[0],&fcu_protocol.payload[9],20); 2048:user_src/soft_p_2_c.c **** start_msg.key_to_bms = true;//给电池发送秘钥 2049:user_src/soft_p_2_c.c **** start_msg.key_info_checking = false; 2050:user_src/soft_p_2_c.c **** } 2051:user_src/soft_p_2_c.c **** } 2052:user_src/soft_p_2_c.c **** //无秘钥 2053:user_src/soft_p_2_c.c **** else if(fcu_protocol.payload[7] == 2 && fcu_protocol.payload[8] == 2) 2054:user_src/soft_p_2_c.c **** { 2055:user_src/soft_p_2_c.c **** start_msg.key_info_checking = false; 2056:user_src/soft_p_2_c.c **** } 2057:user_src/soft_p_2_c.c **** //回馈,防止PMU一直发 2058:user_src/soft_p_2_c.c **** else if(fcu_protocol.payload[7] == 3 || fcu_protocol.payload[7] == 4) 2059:user_src/soft_p_2_c.c **** { 2060:user_src/soft_p_2_c.c **** start_msg.key_info_checking = false; 2061:user_src/soft_p_2_c.c **** } 2062:user_src/soft_p_2_c.c **** } 2063:user_src/soft_p_2_c.c **** break; 2064:user_src/soft_p_2_c.c **** //升级固件标志 2065:user_src/soft_p_2_c.c **** case _MSGID_UPDATA: 2066:user_src/soft_p_2_c.c **** { 2067:user_src/soft_p_2_c.c **** __disable_irq(); 2068:user_src/soft_p_2_c.c **** HAL_FLASH_Unlock(); 2069:user_src/soft_p_2_c.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR); 2070:user_src/soft_p_2_c.c **** 2071:user_src/soft_p_2_c.c **** f.TypeErase = FLASH_TYPEERASE_PAGES; 2072:user_src/soft_p_2_c.c **** f.PageAddress = UPDATE_FLAG; 2073:user_src/soft_p_2_c.c **** f.NbPages = 1; 2074:user_src/soft_p_2_c.c **** uint32_t PageError = 0; 2075:user_src/soft_p_2_c.c **** HAL_FLASHEx_Erase(&f, &PageError); 2076:user_src/soft_p_2_c.c **** 2077:user_src/soft_p_2_c.c **** uint16_t TempBuf = 0xABCD; 2078:user_src/soft_p_2_c.c **** HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, UPDATE_FLAG, TempBuf); 2079:user_src/soft_p_2_c.c **** 2080:user_src/soft_p_2_c.c **** HAL_FLASH_Lock(); 2081:user_src/soft_p_2_c.c **** __enable_irq(); 2082:user_src/soft_p_2_c.c **** 2083:user_src/soft_p_2_c.c **** HAL_NVIC_DisableIRQ(USART2_IRQn); 2084:user_src/soft_p_2_c.c **** HAL_Delay(100); 2085:user_src/soft_p_2_c.c **** 2086:user_src/soft_p_2_c.c **** //软件复位 2087:user_src/soft_p_2_c.c **** HAL_NVIC_SystemReset(); 2088:user_src/soft_p_2_c.c **** } 2089:user_src/soft_p_2_c.c **** break; 2090:user_src/soft_p_2_c.c **** default: 2091:user_src/soft_p_2_c.c **** break; 6504 .loc 1 2091 13 6505 00ae 01F061BA b .L407 6506 .L271: 1414:user_src/soft_p_2_c.c **** 6507 .loc 1 1414 13 6508 00b2 1022 movs r2, #16 6509 00b4 8B49 ldr r1, .L431+20 6510 00b6 8C48 ldr r0, .L431+24 6511 00b8 FFF7FEFF bl memcpy 1416:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 170 6512 .loc 1 1416 32 6513 00bc 8B4B ldr r3, .L431+28 6514 00be 1B78 ldrb r3, [r3] @ zero_extendqisi2 1416:user_src/soft_p_2_c.c **** { 6515 .loc 1 1416 15 6516 00c0 002B cmp r3, #0 6517 00c2 19D0 beq .L273 1416:user_src/soft_p_2_c.c **** { 6518 .loc 1 1416 55 discriminator 1 6519 00c4 8A4B ldr r3, .L431+32 6520 00c6 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 1416:user_src/soft_p_2_c.c **** { 6521 .loc 1 1416 40 discriminator 1 6522 00c8 022B cmp r3, #2 6523 00ca 15D1 bne .L273 1418:user_src/soft_p_2_c.c **** 6524 .loc 1 1418 17 6525 00cc 0422 movs r2, #4 6526 00ce 0021 movs r1, #0 6527 00d0 8548 ldr r0, .L431+24 6528 00d2 FFF7FEFF bl memset 1420:user_src/soft_p_2_c.c **** pmu_pin.pump1 = 1000; 6529 .loc 1 1420 32 6530 00d6 864B ldr r3, .L431+32 6531 00d8 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2 1420:user_src/soft_p_2_c.c **** pmu_pin.pump1 = 1000; 6532 .loc 1 1420 19 6533 00da 012B cmp r3, #1 6534 00dc 04D1 bne .L274 1421:user_src/soft_p_2_c.c **** else if(setESCidInfo.setESCidNum == 2) 6535 .loc 1 1421 35 6536 00de 824B ldr r3, .L431+24 6537 00e0 4FF47A72 mov r2, #1000 6538 00e4 1A80 strh r2, [r3] @ movhi 6539 00e6 07E0 b .L273 6540 .L274: 1422:user_src/soft_p_2_c.c **** pmu_pin.pump2 = 1000; 6541 .loc 1 1422 37 6542 00e8 814B ldr r3, .L431+32 6543 00ea 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2 1422:user_src/soft_p_2_c.c **** pmu_pin.pump2 = 1000; 6544 .loc 1 1422 24 6545 00ec 022B cmp r3, #2 6546 00ee 03D1 bne .L273 1423:user_src/soft_p_2_c.c **** } 6547 .loc 1 1423 35 6548 00f0 7D4B ldr r3, .L431+24 6549 00f2 4FF47A72 mov r2, #1000 6550 00f6 5A80 strh r2, [r3, #2] @ movhi 6551 .L273: 1426:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_2, pmu_pin.pump2); 6552 .loc 1 1426 13 6553 00f8 7B4B ldr r3, .L431+24 6554 00fa B3F90020 ldrsh r2, [r3] 6555 00fe 7D4B ldr r3, .L431+36 6556 0100 1B68 ldr r3, [r3] 6557 0102 5A63 str r2, [r3, #52] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 171 1427:user_src/soft_p_2_c.c **** 6558 .loc 1 1427 13 6559 0104 784B ldr r3, .L431+24 6560 0106 B3F90220 ldrsh r2, [r3, #2] 6561 010a 7A4B ldr r3, .L431+36 6562 010c 1B68 ldr r3, [r3] 6563 010e 9A63 str r2, [r3, #56] 1429:user_src/soft_p_2_c.c **** { 6564 .loc 1 1429 22 6565 0110 794B ldr r3, .L431+40 6566 0112 B3F91030 ldrsh r3, [r3, #16] 1429:user_src/soft_p_2_c.c **** { 6567 .loc 1 1429 15 6568 0116 122B cmp r3, #18 6569 0118 0CD1 bne .L275 1431:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, pmu_pin.nozz2_zp); 6570 .loc 1 1431 17 6571 011a 734B ldr r3, .L431+24 6572 011c B3F90420 ldrsh r2, [r3, #4] 6573 0120 764B ldr r3, .L431+44 6574 0122 1B68 ldr r3, [r3] 6575 0124 5A63 str r2, [r3, #52] 1432:user_src/soft_p_2_c.c **** } 6576 .loc 1 1432 17 6577 0126 704B ldr r3, .L431+24 6578 0128 B3F90620 ldrsh r2, [r3, #6] 6579 012c 734B ldr r3, .L431+44 6580 012e 1B68 ldr r3, [r3] 6581 0130 9A63 str r2, [r3, #56] 6582 0132 0BE0 b .L276 6583 .L275: 1436:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, pmu_pin.nozz2_zp); 6584 .loc 1 1436 17 6585 0134 6C4B ldr r3, .L431+24 6586 0136 B3F90420 ldrsh r2, [r3, #4] 6587 013a 704B ldr r3, .L431+44 6588 013c 1B68 ldr r3, [r3] 6589 013e 9A63 str r2, [r3, #56] 1437:user_src/soft_p_2_c.c **** } 6590 .loc 1 1437 17 6591 0140 694B ldr r3, .L431+24 6592 0142 B3F90620 ldrsh r2, [r3, #6] 6593 0146 6D4B ldr r3, .L431+44 6594 0148 1B68 ldr r3, [r3] 6595 014a 5A63 str r2, [r3, #52] 6596 .L276: 1440:user_src/soft_p_2_c.c **** { 6597 .loc 1 1440 22 6598 014c 6A4B ldr r3, .L431+40 6599 014e B3F91030 ldrsh r3, [r3, #16] 1440:user_src/soft_p_2_c.c **** { 6600 .loc 1 1440 15 6601 0152 122B cmp r3, #18 6602 0154 41F01082 bne .L408 1443:user_src/soft_p_2_c.c **** distributor.nozzle2 = pmu_pin.nozz2_zp; 6603 .loc 1 1443 46 6604 0158 634B ldr r3, .L431+24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 172 6605 015a B3F90430 ldrsh r3, [r3, #4] 6606 015e 9AB2 uxth r2, r3 1443:user_src/soft_p_2_c.c **** distributor.nozzle2 = pmu_pin.nozz2_zp; 6607 .loc 1 1443 37 6608 0160 674B ldr r3, .L431+48 6609 0162 5A80 strh r2, [r3, #2] @ movhi 1444:user_src/soft_p_2_c.c **** 6610 .loc 1 1444 46 6611 0164 604B ldr r3, .L431+24 6612 0166 B3F90630 ldrsh r3, [r3, #6] 6613 016a 9AB2 uxth r2, r3 1444:user_src/soft_p_2_c.c **** 6614 .loc 1 1444 37 6615 016c 644B ldr r3, .L431+48 6616 016e 9A80 strh r2, [r3, #4] @ movhi 1447:user_src/soft_p_2_c.c **** __HAL_TIM_SET_COMPARE(&htim4, TIM_CHANNEL_3, pmu_pin.nozz4); // PB9 nozzle 6617 .loc 1 1447 17 6618 0170 5D4B ldr r3, .L431+24 6619 0172 B3F90820 ldrsh r2, [r3, #8] 6620 0176 634B ldr r3, .L431+52 6621 0178 1B68 ldr r3, [r3] 6622 017a 1A64 str r2, [r3, #64] 1448:user_src/soft_p_2_c.c **** 6623 .loc 1 1448 17 6624 017c 5A4B ldr r3, .L431+24 6625 017e B3F90A20 ldrsh r2, [r3, #10] 6626 0182 604B ldr r3, .L431+52 6627 0184 1B68 ldr r3, [r3] 6628 0186 DA63 str r2, [r3, #60] 1452:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET); 6629 .loc 1 1452 28 6630 0188 574B ldr r3, .L431+24 6631 018a 9B89 ldrh r3, [r3, #12] 1452:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET); 6632 .loc 1 1452 39 6633 018c 03F00103 and r3, r3, #1 1452:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET); 6634 .loc 1 1452 19 6635 0190 002B cmp r3, #0 6636 0192 05DD ble .L278 1453:user_src/soft_p_2_c.c **** else 6637 .loc 1 1453 21 6638 0194 0122 movs r2, #1 6639 0196 0121 movs r1, #1 6640 0198 5B48 ldr r0, .L431+56 6641 019a FFF7FEFF bl HAL_GPIO_WritePin 6642 019e 04E0 b .L279 6643 .L278: 1455:user_src/soft_p_2_c.c **** 6644 .loc 1 1455 21 6645 01a0 0022 movs r2, #0 6646 01a2 0121 movs r1, #1 6647 01a4 5848 ldr r0, .L431+56 6648 01a6 FFF7FEFF bl HAL_GPIO_WritePin 6649 .L279: 1457:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET); 6650 .loc 1 1457 28 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 173 6651 01aa 4F4B ldr r3, .L431+24 6652 01ac 9B89 ldrh r3, [r3, #12] 1457:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET); 6653 .loc 1 1457 39 6654 01ae 03F00203 and r3, r3, #2 1457:user_src/soft_p_2_c.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET); 6655 .loc 1 1457 19 6656 01b2 002B cmp r3, #0 6657 01b4 05DD ble .L280 1458:user_src/soft_p_2_c.c **** else 6658 .loc 1 1458 21 6659 01b6 0122 movs r2, #1 6660 01b8 0221 movs r1, #2 6661 01ba 5348 ldr r0, .L431+56 6662 01bc FFF7FEFF bl HAL_GPIO_WritePin 6663 01c0 04E0 b .L281 6664 .L280: 1460:user_src/soft_p_2_c.c **** 6665 .loc 1 1460 21 6666 01c2 0022 movs r2, #0 6667 01c4 0221 movs r1, #2 6668 01c6 5048 ldr r0, .L431+56 6669 01c8 FFF7FEFF bl HAL_GPIO_WritePin 6670 .L281: 1463:user_src/soft_p_2_c.c **** } 6671 .loc 1 1463 17 6672 01cc 464B ldr r3, .L431+24 6673 01ce B3F90E20 ldrsh r2, [r3, #14] 6674 01d2 4C4B ldr r3, .L431+52 6675 01d4 1B68 ldr r3, [r3] 6676 01d6 5A63 str r2, [r3, #52] 1466:user_src/soft_p_2_c.c **** case _MSGID_LED: 6677 .loc 1 1466 13 6678 01d8 01F0CEB9 b .L408 6679 .L270: 6680 .LBB153: 1468:user_src/soft_p_2_c.c **** { 6681 .loc 1 1468 25 6682 01dc 0023 movs r3, #0 6683 01de 87F8BF30 strb r3, [r7, #191] 1468:user_src/soft_p_2_c.c **** { 6684 .loc 1 1468 13 6685 01e2 29E0 b .L283 6686 .L285: 1470:user_src/soft_p_2_c.c **** { 6687 .loc 1 1470 26 6688 01e4 444B ldr r3, .L431+40 6689 01e6 B3F91030 ldrsh r3, [r3, #16] 1470:user_src/soft_p_2_c.c **** { 6690 .loc 1 1470 19 6691 01ea 122B cmp r3, #18 6692 01ec 1FD0 beq .L284 1472:user_src/soft_p_2_c.c **** } 6693 .loc 1 1472 60 6694 01ee 97F8BF20 ldrb r2, [r7, #191] @ zero_extendqisi2 6695 01f2 1346 mov r3, r2 6696 01f4 5B00 lsls r3, r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 174 6697 01f6 1344 add r3, r3, r2 1472:user_src/soft_p_2_c.c **** } 6698 .loc 1 1472 62 6699 01f8 0633 adds r3, r3, #6 1472:user_src/soft_p_2_c.c **** } 6700 .loc 1 1472 21 6701 01fa 394A ldr r2, .L431+16 6702 01fc 1344 add r3, r3, r2 6703 01fe 997A ldrb r1, [r3, #10] @ zero_extendqisi2 1472:user_src/soft_p_2_c.c **** } 6704 .loc 1 1472 89 6705 0200 97F8BF20 ldrb r2, [r7, #191] @ zero_extendqisi2 6706 0204 1346 mov r3, r2 6707 0206 5B00 lsls r3, r3, #1 6708 0208 1344 add r3, r3, r2 1472:user_src/soft_p_2_c.c **** } 6709 .loc 1 1472 91 6710 020a 0733 adds r3, r3, #7 1472:user_src/soft_p_2_c.c **** } 6711 .loc 1 1472 21 6712 020c 344A ldr r2, .L431+16 6713 020e 1344 add r3, r3, r2 6714 0210 9C7A ldrb r4, [r3, #10] @ zero_extendqisi2 1472:user_src/soft_p_2_c.c **** } 6715 .loc 1 1472 118 6716 0212 97F8BF20 ldrb r2, [r7, #191] @ zero_extendqisi2 6717 0216 1346 mov r3, r2 6718 0218 5B00 lsls r3, r3, #1 6719 021a 1344 add r3, r3, r2 1472:user_src/soft_p_2_c.c **** } 6720 .loc 1 1472 120 6721 021c 0833 adds r3, r3, #8 1472:user_src/soft_p_2_c.c **** } 6722 .loc 1 1472 21 6723 021e 304A ldr r2, .L431+16 6724 0220 1344 add r3, r3, r2 6725 0222 9B7A ldrb r3, [r3, #10] @ zero_extendqisi2 6726 0224 97F8BF00 ldrb r0, [r7, #191] @ zero_extendqisi2 6727 0228 2246 mov r2, r4 6728 022a FFF7FEFF bl led_set_blink 6729 .L284: 1468:user_src/soft_p_2_c.c **** { 6730 .loc 1 1468 40 discriminator 2 6731 022e 97F8BF30 ldrb r3, [r7, #191] @ zero_extendqisi2 6732 0232 0133 adds r3, r3, #1 6733 0234 87F8BF30 strb r3, [r7, #191] 6734 .L283: 1468:user_src/soft_p_2_c.c **** { 6735 .loc 1 1468 13 discriminator 1 6736 0238 97F8BF30 ldrb r3, [r7, #191] @ zero_extendqisi2 6737 023c 062B cmp r3, #6 6738 023e D1D9 bls .L285 6739 .LBE153: 1475:user_src/soft_p_2_c.c **** //飞机姿态信息 6740 .loc 1 1475 13 6741 0240 01F09FB9 b .L282 6742 .L269: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 175 1478:user_src/soft_p_2_c.c **** 6743 .loc 1 1478 13 6744 0244 3E22 movs r2, #62 6745 0246 2749 ldr r1, .L431+20 6746 0248 2B48 ldr r0, .L431+40 6747 024a FFF7FEFF bl memcpy 1480:user_src/soft_p_2_c.c **** { 6748 .loc 1 1480 31 6749 024e 2F4B ldr r3, .L431+60 6750 0250 B3F90220 ldrsh r2, [r3, #2] 1480:user_src/soft_p_2_c.c **** { 6751 .loc 1 1480 49 6752 0254 284B ldr r3, .L431+40 6753 0256 B3F91030 ldrsh r3, [r3, #16] 1480:user_src/soft_p_2_c.c **** { 6754 .loc 1 1480 15 6755 025a 9A42 cmp r2, r3 6756 025c 01F08E81 beq .L409 1482:user_src/soft_p_2_c.c **** write_flash_flag = true; 6757 .loc 1 1482 48 6758 0260 254B ldr r3, .L431+40 6759 0262 B3F91020 ldrsh r2, [r3, #16] 1482:user_src/soft_p_2_c.c **** write_flash_flag = true; 6760 .loc 1 1482 40 6761 0266 2A4B ldr r3, .L431+64 6762 0268 9A80 strh r2, [r3, #4] @ movhi 1483:user_src/soft_p_2_c.c **** } 6763 .loc 1 1483 34 6764 026a 2A4B ldr r3, .L431+68 6765 026c 0122 movs r2, #1 6766 026e 1A70 strb r2, [r3] 1485:user_src/soft_p_2_c.c **** case _MSGID_TIME: 6767 .loc 1 1485 13 6768 0270 01F084B9 b .L409 6769 .L268: 6770 0274 1A4B ldr r3, .L431+16 6771 0276 1B69 ldr r3, [r3, #16] @ unaligned 6772 0278 1A46 mov r2, r3 1488:user_src/soft_p_2_c.c **** covUnixTimeStp2Beijing(utc_time,&beijing_time); 6773 .loc 1 1488 13 6774 027a 274B ldr r3, .L431+72 6775 027c 1A60 str r2, [r3] 1489:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_TIME,0,0,0); 6776 .loc 1 1489 13 6777 027e 264B ldr r3, .L431+72 6778 0280 1B68 ldr r3, [r3] 6779 0282 2649 ldr r1, .L431+76 6780 0284 1846 mov r0, r3 6781 0286 FFF7FEFF bl covUnixTimeStp2Beijing 1490:user_src/soft_p_2_c.c **** break; 6782 .loc 1 1490 13 6783 028a 0023 movs r3, #0 6784 028c 0022 movs r2, #0 6785 028e 0021 movs r1, #0 6786 0290 0920 movs r0, #9 6787 0292 FFF7FEFF bl pmu_set_ack 1491:user_src/soft_p_2_c.c **** //eft播撒器 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 176 6788 .loc 1 1491 13 6789 0296 01F074B9 b .L282 6790 .L267: 1494:user_src/soft_p_2_c.c **** memcpy(&tppwm_value, &fcu_protocol.payload[6], 2); 6791 .loc 1 1494 32 6792 029a 214B ldr r3, .L431+80 6793 029c 0122 movs r2, #1 6794 029e 1A70 strb r2, [r3] 6795 02a0 0F4B ldr r3, .L431+16 6796 02a2 1B8A ldrh r3, [r3, #16] @ unaligned 6797 02a4 9AB2 uxth r2, r3 1495:user_src/soft_p_2_c.c **** memcpy(&sow_rotate_value, &fcu_protocol.payload[8], 2); 6798 .loc 1 1495 13 6799 02a6 1F4B ldr r3, .L431+84 6800 02a8 1A80 strh r2, [r3] @ movhi 6801 02aa 0D4B ldr r3, .L431+16 6802 02ac 5B8A ldrh r3, [r3, #18] @ unaligned 6803 02ae 9AB2 uxth r2, r3 1496:user_src/soft_p_2_c.c **** break; 6804 .loc 1 1496 13 6805 02b0 1D4B ldr r3, .L431+88 6806 02b2 1A80 strh r2, [r3] @ movhi 1497:user_src/soft_p_2_c.c **** //请求信息包 6807 .loc 1 1497 13 6808 02b4 01F065B9 b .L282 6809 .L266: 1500:user_src/soft_p_2_c.c **** { 6810 .loc 1 1500 41 6811 02b8 094B ldr r3, .L431+16 6812 02ba 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 6813 02bc 072B cmp r3, #7 6814 02be 03D1 bne .L410 1503:user_src/soft_p_2_c.c **** break; 6815 .loc 1 1503 26 6816 02c0 1A4B ldr r3, .L431+92 6817 02c2 0422 movs r2, #4 6818 02c4 1A70 strb r2, [r3] 1504:user_src/soft_p_2_c.c **** default: 6819 .loc 1 1504 17 6820 02c6 00E0 b .L288 6821 .L410: 1506:user_src/soft_p_2_c.c **** } 6822 .loc 1 1506 17 6823 02c8 00BF nop 6824 .L288: 1508:user_src/soft_p_2_c.c **** //主控应答 6825 .loc 1 1508 13 6826 02ca 01F05AB9 b .L282 6827 .L432: 6828 02ce 00BF .align 2 6829 .L431: 6830 02d0 00000000 .word recv_rkfifo 6831 02d4 00000000 .word uart_info 6832 02d8 00000000 .word fmu_link_time 6833 02dc 00000000 .word recv_fmu_data 6834 02e0 00000000 .word fcu_protocol 6835 02e4 10000000 .word fcu_protocol+16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 177 6836 02e8 00000000 .word pmu_pin 6837 02ec 00000000 .word set_HWesc_ESCid 6838 02f0 00000000 .word setESCidInfo 6839 02f4 00000000 .word htim2 6840 02f8 00000000 .word planep 6841 02fc 00000000 .word htim3 6842 0300 00000000 .word distributor 6843 0304 00000000 .word htim4 6844 0308 00040048 .word 1207960576 6845 030c 00000000 .word current_pmu_par 6846 0310 00000000 .word flash_pmu_par 6847 0314 00000000 .word write_flash_flag 6848 0318 00000000 .word utc_time 6849 031c 00000000 .word beijing_time 6850 0320 00000000 .word recv_fmu_seed_info 6851 0324 00000000 .word tppwm_value 6852 0328 00000000 .word sow_rotate_value 6853 032c 00000000 .word pmu_send 6854 .L265: 1511:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[6]) 6855 .loc 1 1511 53 6856 0330 C24B ldr r3, .L433 6857 0332 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 6858 0334 9AB2 uxth r2, r3 1511:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[6]) 6859 .loc 1 1511 85 6860 0336 C14B ldr r3, .L433 6861 0338 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 1511:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[6]) 6862 .loc 1 1511 57 6863 033a 9BB2 uxth r3, r3 6864 033c 1B02 lsls r3, r3, #8 6865 033e 9BB2 uxth r3, r3 6866 0340 1344 add r3, r3, r2 6867 0342 9AB2 uxth r2, r3 1511:user_src/soft_p_2_c.c **** switch (fcu_protocol.payload[6]) 6868 .loc 1 1511 31 6869 0344 BE4B ldr r3, .L433+4 6870 0346 5A80 strh r2, [r3, #2] @ movhi 1512:user_src/soft_p_2_c.c **** { 6871 .loc 1 1512 41 6872 0348 BC4B ldr r3, .L433 6873 034a 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 6874 034c 1A2B cmp r3, #26 6875 034e 16D0 beq .L289 6876 0350 1A2B cmp r3, #26 6877 0352 33DC bgt .L411 6878 0354 012B cmp r3, #1 6879 0356 02D0 beq .L291 6880 0358 072B cmp r3, #7 6881 035a 0CD0 beq .L292 1535:user_src/soft_p_2_c.c **** } 6882 .loc 1 1535 17 6883 035c 2EE0 b .L411 6884 .L291: 1515:user_src/soft_p_2_c.c **** { 6885 .loc 1 1515 33 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 178 6886 035e B94B ldr r3, .L433+8 6887 0360 B3F90630 ldrsh r3, [r3, #6] 1515:user_src/soft_p_2_c.c **** { 6888 .loc 1 1515 19 6889 0364 002B cmp r3, #0 6890 0366 2CD0 beq .L412 1517:user_src/soft_p_2_c.c **** write_flash_flag = true; 6891 .loc 1 1517 57 6892 0368 B64B ldr r3, .L433+8 6893 036a 0022 movs r2, #0 6894 036c DA80 strh r2, [r3, #6] @ movhi 1518:user_src/soft_p_2_c.c **** } 6895 .loc 1 1518 38 6896 036e B64B ldr r3, .L433+12 6897 0370 0122 movs r2, #1 6898 0372 1A70 strb r2, [r3] 1520:user_src/soft_p_2_c.c **** case MSGID_ACK_VERSION: 6899 .loc 1 1520 17 6900 0374 25E0 b .L412 6901 .L292: 1522:user_src/soft_p_2_c.c **** break; 6902 .loc 1 1522 40 6903 0376 B54B ldr r3, .L433+16 6904 0378 0122 movs r2, #1 6905 037a 1A70 strb r2, [r3] 1523:user_src/soft_p_2_c.c **** case MSGID_ACK_DEV: 6906 .loc 1 1523 17 6907 037c 25E0 b .L294 6908 .L289: 1526:user_src/soft_p_2_c.c **** { 6909 .loc 1 1526 32 6910 037e B04B ldr r3, .L433+4 6911 0380 5B88 ldrh r3, [r3, #2] 1526:user_src/soft_p_2_c.c **** { 6912 .loc 1 1526 23 6913 0382 312B cmp r3, #49 6914 0384 20D8 bhi .L413 6915 .LBB154: 1528:user_src/soft_p_2_c.c **** if(Pt->send_times > 0) 6916 .loc 1 1528 67 6917 0386 AE4B ldr r3, .L433+4 6918 0388 5B88 ldrh r3, [r3, #2] 6919 038a 1A46 mov r2, r3 1528:user_src/soft_p_2_c.c **** if(Pt->send_times > 0) 6920 .loc 1 1528 46 6921 038c B04B ldr r3, .L433+20 6922 038e 53F82230 ldr r3, [r3, r2, lsl #2] 6923 0392 C7F89C30 str r3, [r7, #156] 1529:user_src/soft_p_2_c.c **** Pt->send_times--; 6924 .loc 1 1529 30 6925 0396 D7F89C30 ldr r3, [r7, #156] 6926 039a 93F95830 ldrsb r3, [r3, #88] 1529:user_src/soft_p_2_c.c **** Pt->send_times--; 6927 .loc 1 1529 27 6928 039e 002B cmp r3, #0 6929 03a0 12DD ble .L413 1530:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 179 6930 .loc 1 1530 31 6931 03a2 D7F89C30 ldr r3, [r7, #156] 6932 03a6 93F95830 ldrsb r3, [r3, #88] 1530:user_src/soft_p_2_c.c **** } 6933 .loc 1 1530 43 6934 03aa DBB2 uxtb r3, r3 6935 03ac 013B subs r3, r3, #1 6936 03ae DBB2 uxtb r3, r3 6937 03b0 5AB2 sxtb r2, r3 6938 03b2 D7F89C30 ldr r3, [r7, #156] 6939 03b6 83F85820 strb r2, [r3, #88] 6940 .LBE154: 1533:user_src/soft_p_2_c.c **** default: 6941 .loc 1 1533 17 6942 03ba 05E0 b .L413 6943 .L411: 1535:user_src/soft_p_2_c.c **** } 6944 .loc 1 1535 17 6945 03bc 00BF nop 6946 03be 01F0E0B8 b .L282 6947 .L412: 1520:user_src/soft_p_2_c.c **** case MSGID_ACK_VERSION: 6948 .loc 1 1520 17 6949 03c2 00BF nop 6950 03c4 01F0DDB8 b .L282 6951 .L413: 1533:user_src/soft_p_2_c.c **** default: 6952 .loc 1 1533 17 6953 03c8 00BF nop 6954 .L294: 1537:user_src/soft_p_2_c.c **** //设置雷达灵敏度 6955 .loc 1 1537 13 6956 03ca 01F0DAB8 b .L282 6957 .L264: 1540:user_src/soft_p_2_c.c **** msgidset.content1 = fcu_protocol.payload[7] + 256 * fcu_protocol.payload[8]; 6958 .loc 1 1540 49 6959 03ce 9B4B ldr r3, .L433 6960 03d0 1A7C ldrb r2, [r3, #16] @ zero_extendqisi2 1540:user_src/soft_p_2_c.c **** msgidset.content1 = fcu_protocol.payload[7] + 256 * fcu_protocol.payload[8]; 6961 .loc 1 1540 27 6962 03d2 9B4B ldr r3, .L433+4 6963 03d4 1A70 strb r2, [r3] 1541:user_src/soft_p_2_c.c **** msgidset.content2 = fcu_protocol.payload[9] + 256 * fcu_protocol.payload[10]; 6964 .loc 1 1541 53 6965 03d6 994B ldr r3, .L433 6966 03d8 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 6967 03da 9AB2 uxth r2, r3 1541:user_src/soft_p_2_c.c **** msgidset.content2 = fcu_protocol.payload[9] + 256 * fcu_protocol.payload[10]; 6968 .loc 1 1541 85 6969 03dc 974B ldr r3, .L433 6970 03de 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 1541:user_src/soft_p_2_c.c **** msgidset.content2 = fcu_protocol.payload[9] + 256 * fcu_protocol.payload[10]; 6971 .loc 1 1541 57 6972 03e0 9BB2 uxth r3, r3 6973 03e2 1B02 lsls r3, r3, #8 6974 03e4 9BB2 uxth r3, r3 6975 03e6 1344 add r3, r3, r2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 180 6976 03e8 9AB2 uxth r2, r3 1541:user_src/soft_p_2_c.c **** msgidset.content2 = fcu_protocol.payload[9] + 256 * fcu_protocol.payload[10]; 6977 .loc 1 1541 31 6978 03ea 954B ldr r3, .L433+4 6979 03ec 5A80 strh r2, [r3, #2] @ movhi 1542:user_src/soft_p_2_c.c **** msgidset.content3 = fcu_protocol.payload[11] + 256 * fcu_protocol.payload[12]; 6980 .loc 1 1542 53 6981 03ee 934B ldr r3, .L433 6982 03f0 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 6983 03f2 9AB2 uxth r2, r3 1542:user_src/soft_p_2_c.c **** msgidset.content3 = fcu_protocol.payload[11] + 256 * fcu_protocol.payload[12]; 6984 .loc 1 1542 85 6985 03f4 914B ldr r3, .L433 6986 03f6 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1542:user_src/soft_p_2_c.c **** msgidset.content3 = fcu_protocol.payload[11] + 256 * fcu_protocol.payload[12]; 6987 .loc 1 1542 57 6988 03f8 9BB2 uxth r3, r3 6989 03fa 1B02 lsls r3, r3, #8 6990 03fc 9BB2 uxth r3, r3 6991 03fe 1344 add r3, r3, r2 6992 0400 9AB2 uxth r2, r3 1542:user_src/soft_p_2_c.c **** msgidset.content3 = fcu_protocol.payload[11] + 256 * fcu_protocol.payload[12]; 6993 .loc 1 1542 31 6994 0402 8F4B ldr r3, .L433+4 6995 0404 9A80 strh r2, [r3, #4] @ movhi 1543:user_src/soft_p_2_c.c **** switch (msgidset.num) 6996 .loc 1 1543 53 6997 0406 8D4B ldr r3, .L433 6998 0408 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 6999 040a 9AB2 uxth r2, r3 1543:user_src/soft_p_2_c.c **** switch (msgidset.num) 7000 .loc 1 1543 86 7001 040c 8B4B ldr r3, .L433 7002 040e 9B7D ldrb r3, [r3, #22] @ zero_extendqisi2 1543:user_src/soft_p_2_c.c **** switch (msgidset.num) 7003 .loc 1 1543 58 7004 0410 9BB2 uxth r3, r3 7005 0412 1B02 lsls r3, r3, #8 7006 0414 9BB2 uxth r3, r3 7007 0416 1344 add r3, r3, r2 7008 0418 9AB2 uxth r2, r3 1543:user_src/soft_p_2_c.c **** switch (msgidset.num) 7009 .loc 1 1543 31 7010 041a 894B ldr r3, .L433+4 7011 041c DA80 strh r2, [r3, #6] @ movhi 1544:user_src/soft_p_2_c.c **** { 7012 .loc 1 1544 29 7013 041e 884B ldr r3, .L433+4 7014 0420 1B78 ldrb r3, [r3] @ zero_extendqisi2 7015 0422 013B subs r3, r3, #1 7016 0424 672B cmp r3, #103 7017 0426 00F28087 bhi .L414 7018 042a 01A2 adr r2, .L298 7019 042c 52F823F0 ldr pc, [r2, r3, lsl #2] 7020 .p2align 2 7021 .L298: 7022 0430 D1050000 .word .L326+1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 181 7023 0434 69060000 .word .L325+1 7024 0438 2B130000 .word .L414+1 7025 043c 2B130000 .word .L414+1 7026 0440 2B130000 .word .L414+1 7027 0444 D5060000 .word .L324+1 7028 0448 45070000 .word .L323+1 7029 044c B7070000 .word .L322+1 7030 0450 29080000 .word .L321+1 7031 0454 45090000 .word .L320+1 7032 0458 2B130000 .word .L414+1 7033 045c 2B130000 .word .L414+1 7034 0460 2B130000 .word .L414+1 7035 0464 2B130000 .word .L414+1 7036 0468 AF080000 .word .L319+1 7037 046c 2B130000 .word .L414+1 7038 0470 2B130000 .word .L414+1 7039 0474 2B130000 .word .L414+1 7040 0478 2B130000 .word .L414+1 7041 047c 650A0000 .word .L318+1 7042 0480 B30A0000 .word .L317+1 7043 0484 CD0C0000 .word .L316+1 7044 0488 F90C0000 .word .L315+1 7045 048c 150D0000 .word .L314+1 7046 0490 330D0000 .word .L313+1 7047 0494 790D0000 .word .L312+1 7048 0498 8B0D0000 .word .L311+1 7049 049c B30D0000 .word .L310+1 7050 04a0 3F0E0000 .word .L309+1 7051 04a4 810F0000 .word .L308+1 7052 04a8 2B130000 .word .L414+1 7053 04ac 69100000 .word .L307+1 7054 04b0 2B130000 .word .L414+1 7055 04b4 2B130000 .word .L414+1 7056 04b8 2B130000 .word .L414+1 7057 04bc 2B130000 .word .L414+1 7058 04c0 2B130000 .word .L414+1 7059 04c4 2B130000 .word .L414+1 7060 04c8 2B130000 .word .L414+1 7061 04cc 2B130000 .word .L414+1 7062 04d0 2B130000 .word .L414+1 7063 04d4 2B130000 .word .L414+1 7064 04d8 2B130000 .word .L414+1 7065 04dc 2B130000 .word .L414+1 7066 04e0 2B130000 .word .L414+1 7067 04e4 2B130000 .word .L414+1 7068 04e8 2B130000 .word .L414+1 7069 04ec 2B130000 .word .L414+1 7070 04f0 2B130000 .word .L414+1 7071 04f4 2B130000 .word .L414+1 7072 04f8 2B130000 .word .L414+1 7073 04fc 2B130000 .word .L414+1 7074 0500 2B130000 .word .L414+1 7075 0504 2B130000 .word .L414+1 7076 0508 2B130000 .word .L414+1 7077 050c 2B130000 .word .L414+1 7078 0510 2B130000 .word .L414+1 7079 0514 2B130000 .word .L414+1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 182 7080 0518 2B130000 .word .L414+1 7081 051c 89100000 .word .L306+1 7082 0520 2B130000 .word .L414+1 7083 0524 9D0D0000 .word .L305+1 7084 0528 A50D0000 .word .L304+1 7085 052c 2B130000 .word .L414+1 7086 0530 2B130000 .word .L414+1 7087 0534 2B130000 .word .L414+1 7088 0538 2B130000 .word .L414+1 7089 053c 2B130000 .word .L414+1 7090 0540 2B130000 .word .L414+1 7091 0544 2B130000 .word .L414+1 7092 0548 2B130000 .word .L414+1 7093 054c 2B130000 .word .L414+1 7094 0550 2B130000 .word .L414+1 7095 0554 2B130000 .word .L414+1 7096 0558 2B130000 .word .L414+1 7097 055c 2B130000 .word .L414+1 7098 0560 2B130000 .word .L414+1 7099 0564 2B130000 .word .L414+1 7100 0568 2B130000 .word .L414+1 7101 056c 2B130000 .word .L414+1 7102 0570 2B130000 .word .L414+1 7103 0574 2B130000 .word .L414+1 7104 0578 2B130000 .word .L414+1 7105 057c 2B130000 .word .L414+1 7106 0580 2B130000 .word .L414+1 7107 0584 2B130000 .word .L414+1 7108 0588 2B130000 .word .L414+1 7109 058c 2B130000 .word .L414+1 7110 0590 2B130000 .word .L414+1 7111 0594 2B130000 .word .L414+1 7112 0598 2B130000 .word .L414+1 7113 059c 2B130000 .word .L414+1 7114 05a0 2B130000 .word .L414+1 7115 05a4 2B130000 .word .L414+1 7116 05a8 2B130000 .word .L414+1 7117 05ac 2B130000 .word .L414+1 7118 05b0 2B130000 .word .L414+1 7119 05b4 C7100000 .word .L303+1 7120 05b8 29110000 .word .L302+1 7121 05bc B5110000 .word .L301+1 7122 05c0 2B130000 .word .L414+1 7123 05c4 15120000 .word .L300+1 7124 05c8 77120000 .word .L299+1 7125 05cc CF120000 .word .L297+1 7126 .p2align 1 7127 .L326: 1548:user_src/soft_p_2_c.c **** { 7128 .loc 1 1548 31 7129 05d0 204B ldr r3, .L433+24 7130 05d2 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1548:user_src/soft_p_2_c.c **** { 7131 .loc 1 1548 51 7132 05d4 83F00103 eor r3, r3, #1 7133 05d8 DBB2 uxtb r3, r3 1548:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 183 7134 .loc 1 1548 19 7135 05da 002B cmp r3, #0 7136 05dc 10D0 beq .L327 1548:user_src/soft_p_2_c.c **** { 7137 .loc 1 1548 73 discriminator 1 7138 05de 1E4B ldr r3, .L433+28 7139 05e0 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 1548:user_src/soft_p_2_c.c **** { 7140 .loc 1 1548 93 discriminator 1 7141 05e2 83F00103 eor r3, r3, #1 7142 05e6 DBB2 uxtb r3, r3 1548:user_src/soft_p_2_c.c **** { 7143 .loc 1 1548 59 discriminator 1 7144 05e8 002B cmp r3, #0 7145 05ea 09D0 beq .L327 1548:user_src/soft_p_2_c.c **** { 7146 .loc 1 1548 122 discriminator 2 7147 05ec 1B4B ldr r3, .L433+32 7148 05ee 1B78 ldrb r3, [r3] @ zero_extendqisi2 7149 05f0 83F00103 eor r3, r3, #1 7150 05f4 DBB2 uxtb r3, r3 1548:user_src/soft_p_2_c.c **** { 7151 .loc 1 1548 101 discriminator 2 7152 05f6 002B cmp r3, #0 7153 05f8 02D0 beq .L327 1550:user_src/soft_p_2_c.c **** } 7154 .loc 1 1550 52 7155 05fa 194B ldr r3, .L433+36 7156 05fc 0122 movs r2, #1 7157 05fe 1A75 strb r2, [r3, #20] 7158 .L327: 7159 0600 0E4B ldr r3, .L433 7160 0602 B3F81130 ldrh r3, [r3, #17] @ unaligned 7161 0606 9AB2 uxth r2, r3 1552:user_src/soft_p_2_c.c **** if(obsfradar_sensitivity == uavr11_info.get_radar_sensi) 7162 .loc 1 1552 17 7163 0608 164B ldr r3, .L433+40 7164 060a 1A80 strh r2, [r3] @ movhi 1553:user_src/soft_p_2_c.c **** { 7165 .loc 1 1553 56 7166 060c 144B ldr r3, .L433+36 7167 060e B3F91130 ldrsh r3, [r3, #17] @ unaligned 7168 0612 1AB2 sxth r2, r3 1553:user_src/soft_p_2_c.c **** { 7169 .loc 1 1553 42 7170 0614 134B ldr r3, .L433+40 7171 0616 B3F90030 ldrsh r3, [r3] 1553:user_src/soft_p_2_c.c **** { 7172 .loc 1 1553 19 7173 061a 9A42 cmp r2, r3 7174 061c 40F08786 bne .L415 1555:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_F_RADAR,uavr11_info.get_radar_sensi,0); 7175 .loc 1 1555 52 7176 0620 0F4B ldr r3, .L433+36 7177 0622 0022 movs r2, #0 7178 0624 1A75 strb r2, [r3, #20] 1556:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 184 7179 .loc 1 1556 21 7180 0626 0E4B ldr r3, .L433+36 7181 0628 B3F91130 ldrsh r3, [r3, #17] @ unaligned 7182 062c 1AB2 sxth r2, r3 7183 062e 0023 movs r3, #0 7184 0630 0121 movs r1, #1 7185 0632 1620 movs r0, #22 7186 0634 FFF7FEFF bl pmu_set_ack 1558:user_src/soft_p_2_c.c **** //后雷达 7187 .loc 1 1558 17 7188 0638 00F079BE b .L415 7189 .L434: 7190 .align 2 7191 .L433: 7192 063c 00000000 .word fcu_protocol 7193 0640 00000000 .word msgidset 7194 0644 00000000 .word flash_pmu_par 7195 0648 00000000 .word write_flash_flag 7196 064c 00000000 .word start_msg 7197 0650 00000000 .word dev_ptr 7198 0654 00000000 .word uavr12_info 7199 0658 00000000 .word uavr56_info 7200 065c 00000000 .word radar_update_flag 7201 0660 00000000 .word uavr11_info 7202 0664 00000000 .word obsfradar_sensitivity 7203 .L325: 1561:user_src/soft_p_2_c.c **** { 7204 .loc 1 1561 31 7205 0668 AC4B ldr r3, .L435 7206 066a 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1561:user_src/soft_p_2_c.c **** { 7207 .loc 1 1561 51 7208 066c 83F00103 eor r3, r3, #1 7209 0670 DBB2 uxtb r3, r3 1561:user_src/soft_p_2_c.c **** { 7210 .loc 1 1561 19 7211 0672 002B cmp r3, #0 7212 0674 10D0 beq .L330 1561:user_src/soft_p_2_c.c **** { 7213 .loc 1 1561 73 discriminator 1 7214 0676 AA4B ldr r3, .L435+4 7215 0678 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 1561:user_src/soft_p_2_c.c **** { 7216 .loc 1 1561 93 discriminator 1 7217 067a 83F00103 eor r3, r3, #1 7218 067e DBB2 uxtb r3, r3 1561:user_src/soft_p_2_c.c **** { 7219 .loc 1 1561 59 discriminator 1 7220 0680 002B cmp r3, #0 7221 0682 09D0 beq .L330 1561:user_src/soft_p_2_c.c **** { 7222 .loc 1 1561 122 discriminator 2 7223 0684 A74B ldr r3, .L435+8 7224 0686 1B78 ldrb r3, [r3] @ zero_extendqisi2 7225 0688 83F00103 eor r3, r3, #1 7226 068c DBB2 uxtb r3, r3 1561:user_src/soft_p_2_c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 185 7227 .loc 1 1561 101 discriminator 2 7228 068e 002B cmp r3, #0 7229 0690 02D0 beq .L330 1563:user_src/soft_p_2_c.c **** } 7230 .loc 1 1563 52 7231 0692 A54B ldr r3, .L435+12 7232 0694 0122 movs r2, #1 7233 0696 1A75 strb r2, [r3, #20] 7234 .L330: 7235 0698 A44B ldr r3, .L435+16 7236 069a B3F81130 ldrh r3, [r3, #17] @ unaligned 7237 069e 9AB2 uxth r2, r3 1565:user_src/soft_p_2_c.c **** if(obsbradar_sensitivity == uavr12_info.get_radar_sensi) 7238 .loc 1 1565 17 7239 06a0 A34B ldr r3, .L435+20 7240 06a2 1A80 strh r2, [r3] @ movhi 1566:user_src/soft_p_2_c.c **** { 7241 .loc 1 1566 56 7242 06a4 A04B ldr r3, .L435+12 7243 06a6 B3F91130 ldrsh r3, [r3, #17] @ unaligned 7244 06aa 1AB2 sxth r2, r3 1566:user_src/soft_p_2_c.c **** { 7245 .loc 1 1566 42 7246 06ac A04B ldr r3, .L435+20 7247 06ae B3F90030 ldrsh r3, [r3] 1566:user_src/soft_p_2_c.c **** { 7248 .loc 1 1566 19 7249 06b2 9A42 cmp r2, r3 7250 06b4 40F03D86 bne .L416 1568:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_B_RADAR,uavr12_info.get_radar_sensi,0); 7251 .loc 1 1568 52 7252 06b8 9B4B ldr r3, .L435+12 7253 06ba 0022 movs r2, #0 7254 06bc 1A75 strb r2, [r3, #20] 1569:user_src/soft_p_2_c.c **** } 7255 .loc 1 1569 21 7256 06be 9A4B ldr r3, .L435+12 7257 06c0 B3F91130 ldrsh r3, [r3, #17] @ unaligned 7258 06c4 1AB2 sxth r2, r3 7259 06c6 0023 movs r3, #0 7260 06c8 0221 movs r1, #2 7261 06ca 1620 movs r0, #22 7262 06cc FFF7FEFF bl pmu_set_ack 1571:user_src/soft_p_2_c.c **** //仿地 7263 .loc 1 1571 17 7264 06d0 00F02FBE b .L416 7265 .L324: 1574:user_src/soft_p_2_c.c **** { 7266 .loc 1 1574 31 7267 06d4 914B ldr r3, .L435 7268 06d6 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1574:user_src/soft_p_2_c.c **** { 7269 .loc 1 1574 51 7270 06d8 83F00103 eor r3, r3, #1 7271 06dc DBB2 uxtb r3, r3 1574:user_src/soft_p_2_c.c **** { 7272 .loc 1 1574 19 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 186 7273 06de 002B cmp r3, #0 7274 06e0 10D0 beq .L332 1574:user_src/soft_p_2_c.c **** { 7275 .loc 1 1574 73 discriminator 1 7276 06e2 914B ldr r3, .L435+12 7277 06e4 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1574:user_src/soft_p_2_c.c **** { 7278 .loc 1 1574 93 discriminator 1 7279 06e6 83F00103 eor r3, r3, #1 7280 06ea DBB2 uxtb r3, r3 1574:user_src/soft_p_2_c.c **** { 7281 .loc 1 1574 59 discriminator 1 7282 06ec 002B cmp r3, #0 7283 06ee 09D0 beq .L332 1574:user_src/soft_p_2_c.c **** { 7284 .loc 1 1574 122 discriminator 2 7285 06f0 8C4B ldr r3, .L435+8 7286 06f2 1B78 ldrb r3, [r3] @ zero_extendqisi2 7287 06f4 83F00103 eor r3, r3, #1 7288 06f8 DBB2 uxtb r3, r3 1574:user_src/soft_p_2_c.c **** { 7289 .loc 1 1574 101 discriminator 2 7290 06fa 002B cmp r3, #0 7291 06fc 02D0 beq .L332 1576:user_src/soft_p_2_c.c **** } 7292 .loc 1 1576 52 7293 06fe 884B ldr r3, .L435+4 7294 0700 0122 movs r2, #1 7295 0702 9A74 strb r2, [r3, #18] 7296 .L332: 7297 0704 894B ldr r3, .L435+16 7298 0706 B3F81130 ldrh r3, [r3, #17] @ unaligned 7299 070a 9BB2 uxth r3, r3 1578:user_src/soft_p_2_c.c **** if(uavr56_info.fcu_set_sensi == uavr56_info.get_radar_sensi) 7300 .loc 1 1578 17 7301 070c 844A ldr r2, .L435+4 7302 070e A2F81330 strh r3, [r2, #19] @ unaligned 1579:user_src/soft_p_2_c.c **** { 7303 .loc 1 1579 31 7304 0712 834B ldr r3, .L435+4 7305 0714 B3F91330 ldrsh r3, [r3, #19] @ unaligned 7306 0718 1AB2 sxth r2, r3 1579:user_src/soft_p_2_c.c **** { 7307 .loc 1 1579 60 7308 071a 814B ldr r3, .L435+4 7309 071c B3F91530 ldrsh r3, [r3, #21] @ unaligned 7310 0720 1BB2 sxth r3, r3 1579:user_src/soft_p_2_c.c **** { 7311 .loc 1 1579 19 7312 0722 9A42 cmp r2, r3 7313 0724 40F00786 bne .L417 1581:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_T_RADAR,uavr56_info.get_radar_sensi,0); 7314 .loc 1 1581 52 7315 0728 7D4B ldr r3, .L435+4 7316 072a 0022 movs r2, #0 7317 072c 9A74 strb r2, [r3, #18] 1582:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 187 7318 .loc 1 1582 21 7319 072e 7C4B ldr r3, .L435+4 7320 0730 B3F91530 ldrsh r3, [r3, #21] @ unaligned 7321 0734 1AB2 sxth r2, r3 7322 0736 0023 movs r3, #0 7323 0738 0621 movs r1, #6 7324 073a 1620 movs r0, #22 7325 073c FFF7FEFF bl pmu_set_ack 1584:user_src/soft_p_2_c.c **** case MSGID_SET_TR_BLIND: 7326 .loc 1 1584 17 7327 0740 00F0F9BD b .L417 7328 .L323: 7329 .LBB155: 1587:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 7330 .loc 1 1587 29 7331 0744 0023 movs r3, #0 7332 0746 C7F88830 str r3, [r7, #136] 7333 074a 0023 movs r3, #0 7334 074c C7F88C30 str r3, [r7, #140] 1588:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 7335 .loc 1 1588 30 7336 0750 0023 movs r3, #0 7337 0752 C7F8B830 str r3, [r7, #184] 1589:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7338 .loc 1 1589 32 7339 0756 774B ldr r3, .L435+24 7340 0758 5B88 ldrh r3, [r3, #2] 1589:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7341 .loc 1 1589 23 7342 075a 112B cmp r3, #17 7343 075c 03D1 bne .L334 1590:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x56) 7344 .loc 1 1590 32 7345 075e 764B ldr r3, .L435+28 7346 0760 C7F8B830 str r3, [r7, #184] 7347 0764 06E0 b .L335 7348 .L334: 1591:user_src/soft_p_2_c.c **** can_id = 0x981300; 7349 .loc 1 1591 38 7350 0766 734B ldr r3, .L435+24 7351 0768 5B88 ldrh r3, [r3, #2] 1591:user_src/soft_p_2_c.c **** can_id = 0x981300; 7352 .loc 1 1591 29 7353 076a 562B cmp r3, #86 7354 076c 02D1 bne .L335 1592:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x5,(msgidset.content2 & 0xff),((msgidset.content2 >> 8 7355 .loc 1 1592 32 7356 076e 734B ldr r3, .L435+32 7357 0770 C7F8B830 str r3, [r7, #184] 7358 .L335: 1593:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7359 .loc 1 1593 58 7360 0774 6F4B ldr r3, .L435+24 7361 0776 9B88 ldrh r3, [r3, #4] 1593:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7362 .loc 1 1593 21 7363 0778 DAB2 uxtb r2, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 188 1593:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7364 .loc 1 1593 86 7365 077a 6E4B ldr r3, .L435+24 7366 077c 9B88 ldrh r3, [r3, #4] 1593:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7367 .loc 1 1593 21 7368 077e 1B0A lsrs r3, r3, #8 7369 0780 9BB2 uxth r3, r3 7370 0782 DBB2 uxtb r3, r3 7371 0784 07F18800 add r0, r7, #136 7372 0788 0721 movs r1, #7 7373 078a 0491 str r1, [sp, #16] 7374 078c 0021 movs r1, #0 7375 078e 0391 str r1, [sp, #12] 7376 0790 0021 movs r1, #0 7377 0792 0291 str r1, [sp, #8] 7378 0794 0021 movs r1, #0 7379 0796 0191 str r1, [sp, #4] 7380 0798 0021 movs r1, #0 7381 079a 0091 str r1, [sp] 7382 079c 0521 movs r1, #5 7383 079e FFF7FEFF bl put_date_to_can 1594:user_src/soft_p_2_c.c **** } 7384 .loc 1 1594 21 7385 07a2 07F18803 add r3, r7, #136 7386 07a6 D7F8B820 ldr r2, [r7, #184] 7387 07aa 0821 movs r1, #8 7388 07ac 1846 mov r0, r3 7389 07ae FFF7FEFF bl can_send_msg_normal 7390 .LBE155: 1596:user_src/soft_p_2_c.c **** case MSGID_SET_BR_POWER: 7391 .loc 1 1596 17 7392 07b2 00F0CBBD b .L329 7393 .L322: 7394 .LBB156: 1599:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 7395 .loc 1 1599 29 7396 07b6 0023 movs r3, #0 7397 07b8 C7F88030 str r3, [r7, #128] 7398 07bc 0023 movs r3, #0 7399 07be C7F88430 str r3, [r7, #132] 1600:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 7400 .loc 1 1600 30 7401 07c2 0023 movs r3, #0 7402 07c4 C7F8B430 str r3, [r7, #180] 1601:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7403 .loc 1 1601 32 7404 07c8 5A4B ldr r3, .L435+24 7405 07ca 5B88 ldrh r3, [r3, #2] 1601:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7406 .loc 1 1601 23 7407 07cc 112B cmp r3, #17 7408 07ce 03D1 bne .L336 1602:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x56) 7409 .loc 1 1602 32 7410 07d0 594B ldr r3, .L435+28 7411 07d2 C7F8B430 str r3, [r7, #180] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 189 7412 07d6 06E0 b .L337 7413 .L336: 1603:user_src/soft_p_2_c.c **** can_id = 0x981300; 7414 .loc 1 1603 38 7415 07d8 564B ldr r3, .L435+24 7416 07da 5B88 ldrh r3, [r3, #2] 1603:user_src/soft_p_2_c.c **** can_id = 0x981300; 7417 .loc 1 1603 29 7418 07dc 562B cmp r3, #86 7419 07de 02D1 bne .L337 1604:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x7,(msgidset.content2 & 0xff),((msgidset.content2 >> 8 7420 .loc 1 1604 32 7421 07e0 564B ldr r3, .L435+32 7422 07e2 C7F8B430 str r3, [r7, #180] 7423 .L337: 1605:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7424 .loc 1 1605 58 7425 07e6 534B ldr r3, .L435+24 7426 07e8 9B88 ldrh r3, [r3, #4] 1605:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7427 .loc 1 1605 21 7428 07ea DAB2 uxtb r2, r3 1605:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7429 .loc 1 1605 86 7430 07ec 514B ldr r3, .L435+24 7431 07ee 9B88 ldrh r3, [r3, #4] 1605:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7432 .loc 1 1605 21 7433 07f0 1B0A lsrs r3, r3, #8 7434 07f2 9BB2 uxth r3, r3 7435 07f4 DBB2 uxtb r3, r3 7436 07f6 07F18000 add r0, r7, #128 7437 07fa 0721 movs r1, #7 7438 07fc 0491 str r1, [sp, #16] 7439 07fe 0021 movs r1, #0 7440 0800 0391 str r1, [sp, #12] 7441 0802 0021 movs r1, #0 7442 0804 0291 str r1, [sp, #8] 7443 0806 0021 movs r1, #0 7444 0808 0191 str r1, [sp, #4] 7445 080a 0021 movs r1, #0 7446 080c 0091 str r1, [sp] 7447 080e 0721 movs r1, #7 7448 0810 FFF7FEFF bl put_date_to_can 1606:user_src/soft_p_2_c.c **** } 7449 .loc 1 1606 21 7450 0814 07F18003 add r3, r7, #128 7451 0818 D7F8B420 ldr r2, [r7, #180] 7452 081c 0821 movs r1, #8 7453 081e 1846 mov r0, r3 7454 0820 FFF7FEFF bl can_send_msg_normal 7455 .LBE156: 1608:user_src/soft_p_2_c.c **** case MSGID_SET_R_FUNC: 7456 .loc 1 1608 17 7457 0824 00F092BD b .L329 7458 .L321: 7459 .LBB157: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 190 1611:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 7460 .loc 1 1611 29 7461 0828 0023 movs r3, #0 7462 082a BB67 str r3, [r7, #120] 7463 082c 0023 movs r3, #0 7464 082e FB67 str r3, [r7, #124] 1612:user_src/soft_p_2_c.c **** if(msgidset.content1 == 3 ) 7465 .loc 1 1612 30 7466 0830 0023 movs r3, #0 7467 0832 C7F8B030 str r3, [r7, #176] 1613:user_src/soft_p_2_c.c **** can_id = 0x981300; 7468 .loc 1 1613 32 7469 0836 3F4B ldr r3, .L435+24 7470 0838 5B88 ldrh r3, [r3, #2] 1613:user_src/soft_p_2_c.c **** can_id = 0x981300; 7471 .loc 1 1613 23 7472 083a 032B cmp r3, #3 7473 083c 03D1 bne .L338 1614:user_src/soft_p_2_c.c **** else if(msgidset.content1 == 5 || msgidset.content1 == 7) 7474 .loc 1 1614 32 7475 083e 3F4B ldr r3, .L435+32 7476 0840 C7F8B030 str r3, [r7, #176] 7477 0844 12E0 b .L339 7478 .L338: 1615:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7479 .loc 1 1615 37 7480 0846 3B4B ldr r3, .L435+24 7481 0848 5B88 ldrh r3, [r3, #2] 1615:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7482 .loc 1 1615 28 7483 084a 052B cmp r3, #5 7484 084c 03D0 beq .L340 1615:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7485 .loc 1 1615 63 discriminator 1 7486 084e 394B ldr r3, .L435+24 7487 0850 5B88 ldrh r3, [r3, #2] 1615:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7488 .loc 1 1615 52 discriminator 1 7489 0852 072B cmp r3, #7 7490 0854 03D1 bne .L341 7491 .L340: 1616:user_src/soft_p_2_c.c **** else if(msgidset.content1 == 6) 7492 .loc 1 1616 32 7493 0856 384B ldr r3, .L435+28 7494 0858 C7F8B030 str r3, [r7, #176] 7495 085c 06E0 b .L339 7496 .L341: 1617:user_src/soft_p_2_c.c **** can_id = 0xB81300; 7497 .loc 1 1617 37 7498 085e 354B ldr r3, .L435+24 7499 0860 5B88 ldrh r3, [r3, #2] 1617:user_src/soft_p_2_c.c **** can_id = 0xB81300; 7500 .loc 1 1617 28 7501 0862 062B cmp r3, #6 7502 0864 02D1 bne .L339 1618:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0x4,(msgidset.content1 & 0xff),((msgidset.content1 >> 8 7503 .loc 1 1618 32 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 191 7504 0866 364B ldr r3, .L435+36 7505 0868 C7F8B030 str r3, [r7, #176] 7506 .L339: 1619:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7507 .loc 1 1619 58 7508 086c 314B ldr r3, .L435+24 7509 086e 5B88 ldrh r3, [r3, #2] 1619:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7510 .loc 1 1619 21 7511 0870 DAB2 uxtb r2, r3 1619:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7512 .loc 1 1619 86 7513 0872 304B ldr r3, .L435+24 7514 0874 5B88 ldrh r3, [r3, #2] 1619:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7515 .loc 1 1619 21 7516 0876 1B0A lsrs r3, r3, #8 7517 0878 9BB2 uxth r3, r3 7518 087a DBB2 uxtb r3, r3 7519 087c 07F17800 add r0, r7, #120 7520 0880 0721 movs r1, #7 7521 0882 0491 str r1, [sp, #16] 7522 0884 0021 movs r1, #0 7523 0886 0391 str r1, [sp, #12] 7524 0888 0021 movs r1, #0 7525 088a 0291 str r1, [sp, #8] 7526 088c 0021 movs r1, #0 7527 088e 0191 str r1, [sp, #4] 7528 0890 0021 movs r1, #0 7529 0892 0091 str r1, [sp] 7530 0894 0421 movs r1, #4 7531 0896 FFF7FEFF bl put_date_to_can 1620:user_src/soft_p_2_c.c **** } 7532 .loc 1 1620 21 7533 089a 07F17803 add r3, r7, #120 7534 089e D7F8B020 ldr r2, [r7, #176] 7535 08a2 0821 movs r1, #8 7536 08a4 1846 mov r0, r3 7537 08a6 FFF7FEFF bl can_send_msg_normal 7538 .LBE157: 1622:user_src/soft_p_2_c.c **** case MSGID_SET_RAW_SWITCH: 7539 .loc 1 1622 17 7540 08aa 00F04FBD b .L329 7541 .L319: 7542 .LBB158: 1625:user_src/soft_p_2_c.c **** uint32_t can_id = 0; 7543 .loc 1 1625 29 7544 08ae 0023 movs r3, #0 7545 08b0 3B67 str r3, [r7, #112] 7546 08b2 0023 movs r3, #0 7547 08b4 7B67 str r3, [r7, #116] 1626:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 7548 .loc 1 1626 30 7549 08b6 0023 movs r3, #0 7550 08b8 C7F8AC30 str r3, [r7, #172] 1627:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7551 .loc 1 1627 32 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 192 7552 08bc 1D4B ldr r3, .L435+24 7553 08be 5B88 ldrh r3, [r3, #2] 1627:user_src/soft_p_2_c.c **** can_id = 0xA81300; 7554 .loc 1 1627 23 7555 08c0 112B cmp r3, #17 7556 08c2 03D1 bne .L342 1628:user_src/soft_p_2_c.c **** else if (msgidset.content1 == 0x56) 7557 .loc 1 1628 32 7558 08c4 1C4B ldr r3, .L435+28 7559 08c6 C7F8AC30 str r3, [r7, #172] 7560 08ca 06E0 b .L343 7561 .L342: 1629:user_src/soft_p_2_c.c **** can_id = 0x981300; 7562 .loc 1 1629 38 7563 08cc 194B ldr r3, .L435+24 7564 08ce 5B88 ldrh r3, [r3, #2] 1629:user_src/soft_p_2_c.c **** can_id = 0x981300; 7565 .loc 1 1629 29 7566 08d0 562B cmp r3, #86 7567 08d2 02D1 bne .L343 1630:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0xA,(msgidset.content2 & 0xff),((msgidset.content2 >> 8 7568 .loc 1 1630 32 7569 08d4 194B ldr r3, .L435+32 7570 08d6 C7F8AC30 str r3, [r7, #172] 7571 .L343: 1631:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7572 .loc 1 1631 58 7573 08da 164B ldr r3, .L435+24 7574 08dc 9B88 ldrh r3, [r3, #4] 1631:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7575 .loc 1 1631 21 7576 08de DAB2 uxtb r2, r3 1631:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7577 .loc 1 1631 86 7578 08e0 144B ldr r3, .L435+24 7579 08e2 9B88 ldrh r3, [r3, #4] 1631:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, can_id); 7580 .loc 1 1631 21 7581 08e4 1B0A lsrs r3, r3, #8 7582 08e6 9BB2 uxth r3, r3 7583 08e8 DBB2 uxtb r3, r3 7584 08ea 07F17000 add r0, r7, #112 7585 08ee 0721 movs r1, #7 7586 08f0 0491 str r1, [sp, #16] 7587 08f2 0021 movs r1, #0 7588 08f4 0391 str r1, [sp, #12] 7589 08f6 0021 movs r1, #0 7590 08f8 0291 str r1, [sp, #8] 7591 08fa 0021 movs r1, #0 7592 08fc 0191 str r1, [sp, #4] 7593 08fe 0021 movs r1, #0 7594 0900 0091 str r1, [sp] 7595 0902 0A21 movs r1, #10 7596 0904 FFF7FEFF bl put_date_to_can 1632:user_src/soft_p_2_c.c **** } 7597 .loc 1 1632 21 7598 0908 07F17003 add r3, r7, #112 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 193 7599 090c D7F8AC20 ldr r2, [r7, #172] 7600 0910 0821 movs r1, #8 7601 0912 1846 mov r0, r3 7602 0914 FFF7FEFF bl can_send_msg_normal 7603 .LBE158: 1634:user_src/soft_p_2_c.c **** case MSGID_SET_GEELY: 7604 .loc 1 1634 17 7605 0918 00F018BD b .L329 7606 .L436: 7607 .align 2 7608 .L435: 7609 091c 00000000 .word uavr11_info 7610 0920 00000000 .word uavr56_info 7611 0924 00000000 .word radar_update_flag 7612 0928 00000000 .word uavr12_info 7613 092c 00000000 .word fcu_protocol 7614 0930 00000000 .word obsbradar_sensitivity 7615 0934 00000000 .word msgidset 7616 0938 0013A800 .word 11014912 7617 093c 00139800 .word 9966336 7618 0940 0013B800 .word 12063488 7619 .L320: 1636:user_src/soft_p_2_c.c **** { 7620 .loc 1 1636 45 discriminator 4 7621 0944 8F4B ldr r3, .L437 7622 0946 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 7623 0948 013B subs r3, r3, #1 7624 094a 032B cmp r3, #3 7625 094c 7BD8 bhi .L418 7626 094e 01A2 adr r2, .L346 7627 0950 52F823F0 ldr pc, [r2, r3, lsl #2] 7628 .p2align 2 7629 .L346: 7630 0954 65090000 .word .L349+1 7631 0958 C9090000 .word .L348+1 7632 095c EF090000 .word .L347+1 7633 0960 150A0000 .word .L345+1 7634 .p2align 1 7635 .L349: 1639:user_src/soft_p_2_c.c **** { 7636 .loc 1 1639 51 7637 0964 874B ldr r3, .L437 7638 0966 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 7639 0968 1A46 mov r2, r3 1639:user_src/soft_p_2_c.c **** { 7640 .loc 1 1639 79 7641 096a 864B ldr r3, .L437 7642 096c 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1639:user_src/soft_p_2_c.c **** { 7643 .loc 1 1639 84 7644 096e 1B02 lsls r3, r3, #8 1639:user_src/soft_p_2_c.c **** { 7645 .loc 1 1639 90 7646 0970 9BB2 uxth r3, r3 1639:user_src/soft_p_2_c.c **** { 7647 .loc 1 1639 55 7648 0972 1344 add r3, r3, r2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 194 1639:user_src/soft_p_2_c.c **** { 7649 .loc 1 1639 23 7650 0974 012B cmp r3, #1 7651 0976 0ED1 bne .L350 1641:user_src/soft_p_2_c.c **** { 7652 .loc 1 1641 45 7653 0978 834B ldr r3, .L437+4 7654 097a 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1641:user_src/soft_p_2_c.c **** { 7655 .loc 1 1641 28 7656 097c 012B cmp r3, #1 7657 097e 06D1 bne .L351 1641:user_src/soft_p_2_c.c **** { 7658 .loc 1 1641 89 discriminator 1 7659 0980 824B ldr r3, .L437+8 7660 0982 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 1641:user_src/soft_p_2_c.c **** { 7661 .loc 1 1641 76 discriminator 1 7662 0984 002B cmp r3, #0 7663 0986 02D1 bne .L351 1643:user_src/soft_p_2_c.c **** } 7664 .loc 1 1643 58 7665 0988 814B ldr r3, .L437+12 7666 098a 0122 movs r2, #1 7667 098c 1A70 strb r2, [r3] 7668 .L351: 1645:user_src/soft_p_2_c.c **** } 7669 .loc 1 1645 38 7670 098e 814B ldr r3, .L437+16 7671 0990 8022 movs r2, #128 7672 0992 1A70 strb r2, [r3] 1655:user_src/soft_p_2_c.c **** case SET_PROTECT_TIME: 7673 .loc 1 1655 21 7674 0994 5AE0 b .L419 7675 .L350: 1647:user_src/soft_p_2_c.c **** { 7676 .loc 1 1647 56 7677 0996 7B4B ldr r3, .L437 7678 0998 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 7679 099a 1A46 mov r2, r3 1647:user_src/soft_p_2_c.c **** { 7680 .loc 1 1647 84 7681 099c 794B ldr r3, .L437 7682 099e 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1647:user_src/soft_p_2_c.c **** { 7683 .loc 1 1647 89 7684 09a0 1B02 lsls r3, r3, #8 1647:user_src/soft_p_2_c.c **** { 7685 .loc 1 1647 95 7686 09a2 9BB2 uxth r3, r3 1647:user_src/soft_p_2_c.c **** { 7687 .loc 1 1647 60 7688 09a4 1344 add r3, r3, r2 1647:user_src/soft_p_2_c.c **** { 7689 .loc 1 1647 28 7690 09a6 002B cmp r3, #0 7691 09a8 50D1 bne .L419 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 195 1649:user_src/soft_p_2_c.c **** { 7692 .loc 1 1649 45 7693 09aa 774B ldr r3, .L437+4 7694 09ac 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1649:user_src/soft_p_2_c.c **** { 7695 .loc 1 1649 28 7696 09ae 012B cmp r3, #1 7697 09b0 06D1 bne .L353 1649:user_src/soft_p_2_c.c **** { 7698 .loc 1 1649 89 discriminator 1 7699 09b2 764B ldr r3, .L437+8 7700 09b4 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 1649:user_src/soft_p_2_c.c **** { 7701 .loc 1 1649 76 discriminator 1 7702 09b6 012B cmp r3, #1 7703 09b8 02D1 bne .L353 1651:user_src/soft_p_2_c.c **** } 7704 .loc 1 1651 58 7705 09ba 754B ldr r3, .L437+12 7706 09bc 0022 movs r2, #0 7707 09be 1A70 strb r2, [r3] 7708 .L353: 1653:user_src/soft_p_2_c.c **** } 7709 .loc 1 1653 38 7710 09c0 744B ldr r3, .L437+16 7711 09c2 0022 movs r2, #0 7712 09c4 1A70 strb r2, [r3] 1655:user_src/soft_p_2_c.c **** case SET_PROTECT_TIME: 7713 .loc 1 1655 21 7714 09c6 41E0 b .L419 7715 .L348: 1657:user_src/soft_p_2_c.c **** { 7716 .loc 1 1657 41 7717 09c8 6F4B ldr r3, .L437+4 7718 09ca 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1657:user_src/soft_p_2_c.c **** { 7719 .loc 1 1657 24 7720 09cc 012B cmp r3, #1 7721 09ce 40D1 bne .L420 1659:user_src/soft_p_2_c.c **** 7722 .loc 1 1659 39 7723 09d0 714B ldr r3, .L437+20 7724 09d2 0122 movs r2, #1 7725 09d4 1A70 strb r2, [r3] 1661:user_src/soft_p_2_c.c **** } 7726 .loc 1 1661 77 7727 09d6 6B4B ldr r3, .L437 7728 09d8 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 7729 09da 9AB2 uxth r2, r3 1661:user_src/soft_p_2_c.c **** } 7730 .loc 1 1661 105 7731 09dc 694B ldr r3, .L437 7732 09de 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1661:user_src/soft_p_2_c.c **** } 7733 .loc 1 1661 110 7734 09e0 1B02 lsls r3, r3, #8 1661:user_src/soft_p_2_c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 196 7735 .loc 1 1661 81 7736 09e2 9BB2 uxth r3, r3 7737 09e4 1344 add r3, r3, r2 7738 09e6 9AB2 uxth r2, r3 1661:user_src/soft_p_2_c.c **** } 7739 .loc 1 1661 55 7740 09e8 694B ldr r3, .L437+12 7741 09ea 5A80 strh r2, [r3, #2] @ unaligned 1663:user_src/soft_p_2_c.c **** case SET_LOCK_TIME: 7742 .loc 1 1663 21 7743 09ec 31E0 b .L420 7744 .L347: 1665:user_src/soft_p_2_c.c **** { 7745 .loc 1 1665 41 7746 09ee 664B ldr r3, .L437+4 7747 09f0 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1665:user_src/soft_p_2_c.c **** { 7748 .loc 1 1665 24 7749 09f2 012B cmp r3, #1 7750 09f4 30D1 bne .L421 1667:user_src/soft_p_2_c.c **** 7751 .loc 1 1667 41 7752 09f6 694B ldr r3, .L437+24 7753 09f8 0122 movs r2, #1 7754 09fa 1A70 strb r2, [r3] 1669:user_src/soft_p_2_c.c **** } 7755 .loc 1 1669 77 7756 09fc 614B ldr r3, .L437 7757 09fe DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 7758 0a00 9AB2 uxth r2, r3 1669:user_src/soft_p_2_c.c **** } 7759 .loc 1 1669 105 7760 0a02 604B ldr r3, .L437 7761 0a04 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1669:user_src/soft_p_2_c.c **** } 7762 .loc 1 1669 110 7763 0a06 1B02 lsls r3, r3, #8 1669:user_src/soft_p_2_c.c **** } 7764 .loc 1 1669 81 7765 0a08 9BB2 uxth r3, r3 7766 0a0a 1344 add r3, r3, r2 7767 0a0c 9AB2 uxth r2, r3 1669:user_src/soft_p_2_c.c **** } 7768 .loc 1 1669 55 7769 0a0e 604B ldr r3, .L437+12 7770 0a10 5A80 strh r2, [r3, #2] @ unaligned 1671:user_src/soft_p_2_c.c **** case SET_LOWVOL_PROTECT: 7771 .loc 1 1671 21 7772 0a12 21E0 b .L421 7773 .L345: 1673:user_src/soft_p_2_c.c **** { 7774 .loc 1 1673 51 7775 0a14 5B4B ldr r3, .L437 7776 0a16 DB7C ldrb r3, [r3, #19] @ zero_extendqisi2 7777 0a18 1A46 mov r2, r3 1673:user_src/soft_p_2_c.c **** { 7778 .loc 1 1673 79 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 197 7779 0a1a 5A4B ldr r3, .L437 7780 0a1c 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1673:user_src/soft_p_2_c.c **** { 7781 .loc 1 1673 84 7782 0a1e 1B02 lsls r3, r3, #8 1673:user_src/soft_p_2_c.c **** { 7783 .loc 1 1673 90 7784 0a20 9BB2 uxth r3, r3 1673:user_src/soft_p_2_c.c **** { 7785 .loc 1 1673 55 7786 0a22 1344 add r3, r3, r2 1673:user_src/soft_p_2_c.c **** { 7787 .loc 1 1673 23 7788 0a24 012B cmp r3, #1 7789 0a26 0AD1 bne .L357 1675:user_src/soft_p_2_c.c **** { 7790 .loc 1 1675 45 7791 0a28 574B ldr r3, .L437+4 7792 0a2a 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 1675:user_src/soft_p_2_c.c **** { 7793 .loc 1 1675 28 7794 0a2c 012B cmp r3, #1 7795 0a2e 16D1 bne .L422 1677:user_src/soft_p_2_c.c **** geely_set_protect = true; 7796 .loc 1 1677 58 7797 0a30 574B ldr r3, .L437+12 7798 0a32 0122 movs r2, #1 7799 0a34 1A70 strb r2, [r3] 1678:user_src/soft_p_2_c.c **** } 7800 .loc 1 1678 47 7801 0a36 5A4B ldr r3, .L437+28 7802 0a38 0122 movs r2, #1 7803 0a3a 1A70 strb r2, [r3] 1685:user_src/soft_p_2_c.c **** default: 7804 .loc 1 1685 21 7805 0a3c 0FE0 b .L422 7806 .L357: 1683:user_src/soft_p_2_c.c **** } 7807 .loc 1 1683 43 7808 0a3e 584B ldr r3, .L437+28 7809 0a40 0022 movs r2, #0 7810 0a42 1A70 strb r2, [r3] 1685:user_src/soft_p_2_c.c **** default: 7811 .loc 1 1685 21 7812 0a44 0BE0 b .L422 7813 .L418: 1687:user_src/soft_p_2_c.c **** } 7814 .loc 1 1687 21 7815 0a46 00BF nop 7816 0a48 00F080BC b .L329 7817 .L419: 1655:user_src/soft_p_2_c.c **** case SET_PROTECT_TIME: 7818 .loc 1 1655 21 7819 0a4c 00BF nop 7820 0a4e 00F07DBC b .L329 7821 .L420: 1663:user_src/soft_p_2_c.c **** case SET_LOCK_TIME: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 198 7822 .loc 1 1663 21 7823 0a52 00BF nop 7824 0a54 00F07ABC b .L329 7825 .L421: 1671:user_src/soft_p_2_c.c **** case SET_LOWVOL_PROTECT: 7826 .loc 1 1671 21 7827 0a58 00BF nop 7828 0a5a 00F077BC b .L329 7829 .L422: 1685:user_src/soft_p_2_c.c **** default: 7830 .loc 1 1685 21 7831 0a5e 00BF nop 1689:user_src/soft_p_2_c.c **** case MSGID_SET_VOL: 7832 .loc 1 1689 17 7833 0a60 00F074BC b .L329 7834 .L318: 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7835 .loc 1 1691 63 7836 0a64 474B ldr r3, .L437 7837 0a66 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 7838 0a68 9AB2 uxth r2, r3 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7839 .loc 1 1691 95 7840 0a6a 464B ldr r3, .L437 7841 0a6c 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7842 .loc 1 1691 67 7843 0a6e 9BB2 uxth r3, r3 7844 0a70 1B02 lsls r3, r3, #8 7845 0a72 9BB2 uxth r3, r3 7846 0a74 1344 add r3, r3, r2 7847 0a76 9CB2 uxth r4, r3 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7848 .loc 1 1691 108 7849 0a78 FFF7FEFF bl ADC_gather 7850 0a7c B0EE407A vmov.f32 s14, s0 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7851 .loc 1 1691 121 7852 0a80 DFED486A vldr.32 s13, .L437+32 7853 0a84 C7EE267A vdiv.f32 s15, s14, s13 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7854 .loc 1 1691 102 7855 0a88 FDEEE77A vcvt.s32.f32 s15, s15 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7856 .loc 1 1691 100 7857 0a8c 17EE903A vmov r3, s15 @ int 7858 0a90 9BB2 uxth r3, r3 7859 0a92 E31A subs r3, r4, r3 7860 0a94 9BB2 uxth r3, r3 7861 0a96 1AB2 sxth r2, r3 1691:user_src/soft_p_2_c.c **** write_flash_flag = true; 7862 .loc 1 1691 40 7863 0a98 434B ldr r3, .L437+36 7864 0a9a 5A80 strh r2, [r3, #2] @ movhi 1692:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_VOL,0,0); 7865 .loc 1 1692 34 7866 0a9c 434B ldr r3, .L437+40 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 199 7867 0a9e 0122 movs r2, #1 7868 0aa0 1A70 strb r2, [r3] 1693:user_src/soft_p_2_c.c **** break; 7869 .loc 1 1693 17 7870 0aa2 0023 movs r3, #0 7871 0aa4 0022 movs r2, #0 7872 0aa6 1421 movs r1, #20 7873 0aa8 1620 movs r0, #22 7874 0aaa FFF7FEFF bl pmu_set_ack 1694:user_src/soft_p_2_c.c **** case MSGID_SET_MIMO_FLOW: 7875 .loc 1 1694 17 7876 0aae 00F04DBC b .L329 7877 .L317: 1696:user_src/soft_p_2_c.c **** { 7878 .loc 1 1696 28 7879 0ab2 3F4B ldr r3, .L437+44 7880 0ab4 5B88 ldrh r3, [r3, #2] 1696:user_src/soft_p_2_c.c **** { 7881 .loc 1 1696 19 7882 0ab6 002B cmp r3, #0 7883 0ab8 00F09080 beq .L359 1698:user_src/soft_p_2_c.c **** { 7884 .loc 1 1698 32 7885 0abc 3D4B ldr r3, .L437+48 7886 0abe 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1698:user_src/soft_p_2_c.c **** { 7887 .loc 1 1698 23 7888 0ac2 052B cmp r3, #5 7889 0ac4 04D0 beq .L360 1698:user_src/soft_p_2_c.c **** { 7890 .loc 1 1698 66 discriminator 1 7891 0ac6 3B4B ldr r3, .L437+48 7892 0ac8 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1698:user_src/soft_p_2_c.c **** { 7893 .loc 1 1698 55 discriminator 1 7894 0acc 062B cmp r3, #6 7895 0ace 2DD1 bne .L361 7896 .L360: 1700:user_src/soft_p_2_c.c **** 7897 .loc 1 1700 45 7898 0ad0 394B ldr r3, .L437+52 7899 0ad2 5B89 ldrh r3, [r3, #10] @ unaligned 7900 0ad4 9BB2 uxth r3, r3 7901 0ad6 1A46 mov r2, r3 1700:user_src/soft_p_2_c.c **** 7902 .loc 1 1700 63 7903 0ad8 354B ldr r3, .L437+44 7904 0ada 5B88 ldrh r3, [r3, #2] 1700:user_src/soft_p_2_c.c **** 7905 .loc 1 1700 53 7906 0adc 02FB03F3 mul r3, r2, r3 1700:user_src/soft_p_2_c.c **** 7907 .loc 1 1700 73 7908 0ae0 364A ldr r2, .L437+56 7909 0ae2 82FB0312 smull r1, r2, r2, r3 7910 0ae6 5211 asrs r2, r2, #5 7911 0ae8 DB17 asrs r3, r3, #31 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 200 7912 0aea D31A subs r3, r2, r3 1700:user_src/soft_p_2_c.c **** 7913 .loc 1 1700 33 7914 0aec C7F8A830 str r3, [r7, #168] 1702:user_src/soft_p_2_c.c **** { 7915 .loc 1 1702 27 7916 0af0 D7F8A830 ldr r3, [r7, #168] 7917 0af4 B3F5FA7F cmp r3, #500 7918 0af8 0BD3 bcc .L362 1702:user_src/soft_p_2_c.c **** { 7919 .loc 1 1702 43 discriminator 1 7920 0afa D7F8A830 ldr r3, [r7, #168] 7921 0afe 44F62062 movw r2, #20000 7922 0b02 9342 cmp r3, r2 7923 0b04 05D8 bhi .L362 1704:user_src/soft_p_2_c.c **** } 7924 .loc 1 1704 50 7925 0b06 D7F8A830 ldr r3, [r7, #168] 7926 0b0a 9AB2 uxth r2, r3 7927 0b0c 2A4B ldr r3, .L437+52 7928 0b0e 9A81 strh r2, [r3, #12] @ unaligned 7929 0b10 08E0 b .L363 7930 .L362: 1707:user_src/soft_p_2_c.c **** } 7931 .loc 1 1707 50 7932 0b12 294B ldr r3, .L437+52 7933 0b14 0022 movs r2, #0 7934 0b16 42F01002 orr r2, r2, #16 7935 0b1a 1A73 strb r2, [r3, #12] 7936 0b1c 0022 movs r2, #0 7937 0b1e 42F02702 orr r2, r2, #39 7938 0b22 5A73 strb r2, [r3, #13] 7939 .L363: 1709:user_src/soft_p_2_c.c **** } 7940 .loc 1 1709 49 7941 0b24 244B ldr r3, .L437+52 7942 0b26 0522 movs r2, #5 7943 0b28 5A72 strb r2, [r3, #9] 7944 0b2a 57E0 b .L359 7945 .L361: 1711:user_src/soft_p_2_c.c **** { 7946 .loc 1 1711 37 7947 0b2c 214B ldr r3, .L437+48 7948 0b2e 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1711:user_src/soft_p_2_c.c **** { 7949 .loc 1 1711 28 7950 0b32 072B cmp r3, #7 7951 0b34 04D0 beq .L364 1711:user_src/soft_p_2_c.c **** { 7952 .loc 1 1711 72 discriminator 1 7953 0b36 1F4B ldr r3, .L437+48 7954 0b38 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1711:user_src/soft_p_2_c.c **** { 7955 .loc 1 1711 61 discriminator 1 7956 0b3c 082B cmp r3, #8 7957 0b3e 4DD1 bne .L359 7958 .L364: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 201 1713:user_src/soft_p_2_c.c **** 7959 .loc 1 1713 47 7960 0b40 1F4B ldr r3, .L437+60 7961 0b42 5B89 ldrh r3, [r3, #10] @ unaligned 7962 0b44 9BB2 uxth r3, r3 7963 0b46 1A46 mov r2, r3 1713:user_src/soft_p_2_c.c **** 7964 .loc 1 1713 60 7965 0b48 194B ldr r3, .L437+44 7966 0b4a 5B88 ldrh r3, [r3, #2] 1713:user_src/soft_p_2_c.c **** 7967 .loc 1 1713 50 7968 0b4c 02FB03F3 mul r3, r2, r3 1713:user_src/soft_p_2_c.c **** 7969 .loc 1 1713 70 7970 0b50 1A4A ldr r2, .L437+56 7971 0b52 82FB0312 smull r1, r2, r2, r3 7972 0b56 5211 asrs r2, r2, #5 7973 0b58 DB17 asrs r3, r3, #31 7974 0b5a D31A subs r3, r2, r3 1713:user_src/soft_p_2_c.c **** 7975 .loc 1 1713 33 7976 0b5c C7F8A830 str r3, [r7, #168] 1715:user_src/soft_p_2_c.c **** { 7977 .loc 1 1715 27 7978 0b60 D7F8A830 ldr r3, [r7, #168] 7979 0b64 B3F5FA7F cmp r3, #500 7980 0b68 2CD3 bcc .L365 1715:user_src/soft_p_2_c.c **** { 7981 .loc 1 1715 43 discriminator 1 7982 0b6a D7F8A830 ldr r3, [r7, #168] 7983 0b6e 44F62062 movw r2, #20000 7984 0b72 9342 cmp r3, r2 7985 0b74 26D8 bhi .L365 1717:user_src/soft_p_2_c.c **** } 7986 .loc 1 1717 48 7987 0b76 D7F8A830 ldr r3, [r7, #168] 7988 0b7a 9AB2 uxth r2, r3 7989 0b7c 104B ldr r3, .L437+60 7990 0b7e 1A82 strh r2, [r3, #16] @ unaligned 7991 0b80 29E0 b .L366 7992 .L438: 7993 0b82 00BF .align 2 7994 .L437: 7995 0b84 00000000 .word fcu_protocol 7996 0b88 00000000 .word geely_engin_link 7997 0b8c 00000000 .word geely_data 7998 0b90 00000000 .word sendto_geely 7999 0b94 00000000 .word start_engine 8000 0b98 00000000 .word geely_set_tcd 8001 0b9c 00000000 .word geely_set_tlock 8002 0ba0 00000000 .word geely_set_protect 8003 0ba4 0000C842 .word 1120403456 8004 0ba8 00000000 .word flash_pmu_par 8005 0bac 00000000 .word write_flash_flag 8006 0bb0 00000000 .word msgidset 8007 0bb4 00000000 .word Dev ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 202 8008 0bb8 00000000 .word flow_mimo1 8009 0bbc 1F85EB51 .word 1374389535 8010 0bc0 00000000 .word flow_inf 8011 .L365: 1720:user_src/soft_p_2_c.c **** } 8012 .loc 1 1720 48 8013 0bc4 AE4B ldr r3, .L439 8014 0bc6 0022 movs r2, #0 8015 0bc8 42F01002 orr r2, r2, #16 8016 0bcc 1A74 strb r2, [r3, #16] 8017 0bce 0022 movs r2, #0 8018 0bd0 42F02702 orr r2, r2, #39 8019 0bd4 5A74 strb r2, [r3, #17] 8020 .L366: 1722:user_src/soft_p_2_c.c **** } 8021 .loc 1 1722 44 8022 0bd6 AA4B ldr r3, .L439 8023 0bd8 0122 movs r2, #1 8024 0bda DA73 strb r2, [r3, #15] 8025 .L359: 1726:user_src/soft_p_2_c.c **** { 8026 .loc 1 1726 28 8027 0bdc A94B ldr r3, .L439+4 8028 0bde 9B88 ldrh r3, [r3, #4] 1726:user_src/soft_p_2_c.c **** { 8029 .loc 1 1726 19 8030 0be0 002B cmp r3, #0 8031 0be2 00F0AA83 beq .L423 1728:user_src/soft_p_2_c.c **** { 8032 .loc 1 1728 32 8033 0be6 A84B ldr r3, .L439+8 8034 0be8 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1728:user_src/soft_p_2_c.c **** { 8035 .loc 1 1728 23 8036 0bec 052B cmp r3, #5 8037 0bee 04D0 beq .L368 1728:user_src/soft_p_2_c.c **** { 8038 .loc 1 1728 66 discriminator 1 8039 0bf0 A54B ldr r3, .L439+8 8040 0bf2 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1728:user_src/soft_p_2_c.c **** { 8041 .loc 1 1728 55 discriminator 1 8042 0bf6 062B cmp r3, #6 8043 0bf8 2DD1 bne .L369 8044 .L368: 1730:user_src/soft_p_2_c.c **** 8045 .loc 1 1730 45 8046 0bfa A44B ldr r3, .L439+12 8047 0bfc 5B89 ldrh r3, [r3, #10] @ unaligned 8048 0bfe 9BB2 uxth r3, r3 8049 0c00 1A46 mov r2, r3 1730:user_src/soft_p_2_c.c **** 8050 .loc 1 1730 63 8051 0c02 A04B ldr r3, .L439+4 8052 0c04 9B88 ldrh r3, [r3, #4] 1730:user_src/soft_p_2_c.c **** 8053 .loc 1 1730 53 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 203 8054 0c06 02FB03F3 mul r3, r2, r3 1730:user_src/soft_p_2_c.c **** 8055 .loc 1 1730 73 8056 0c0a A14A ldr r2, .L439+16 8057 0c0c 82FB0312 smull r1, r2, r2, r3 8058 0c10 5211 asrs r2, r2, #5 8059 0c12 DB17 asrs r3, r3, #31 8060 0c14 D31A subs r3, r2, r3 1730:user_src/soft_p_2_c.c **** 8061 .loc 1 1730 33 8062 0c16 C7F8A830 str r3, [r7, #168] 1732:user_src/soft_p_2_c.c **** { 8063 .loc 1 1732 27 8064 0c1a D7F8A830 ldr r3, [r7, #168] 8065 0c1e B3F5FA7F cmp r3, #500 8066 0c22 0BD3 bcc .L370 1732:user_src/soft_p_2_c.c **** { 8067 .loc 1 1732 43 discriminator 1 8068 0c24 D7F8A830 ldr r3, [r7, #168] 8069 0c28 44F62062 movw r2, #20000 8070 0c2c 9342 cmp r3, r2 8071 0c2e 05D8 bhi .L370 1734:user_src/soft_p_2_c.c **** } 8072 .loc 1 1734 50 8073 0c30 D7F8A830 ldr r3, [r7, #168] 8074 0c34 9AB2 uxth r2, r3 8075 0c36 954B ldr r3, .L439+12 8076 0c38 9A81 strh r2, [r3, #12] @ unaligned 8077 0c3a 08E0 b .L371 8078 .L370: 1737:user_src/soft_p_2_c.c **** } 8079 .loc 1 1737 50 8080 0c3c 934B ldr r3, .L439+12 8081 0c3e 0022 movs r2, #0 8082 0c40 42F01002 orr r2, r2, #16 8083 0c44 1A73 strb r2, [r3, #12] 8084 0c46 0022 movs r2, #0 8085 0c48 42F02702 orr r2, r2, #39 8086 0c4c 5A73 strb r2, [r3, #13] 8087 .L371: 1739:user_src/soft_p_2_c.c **** } 8088 .loc 1 1739 49 8089 0c4e 8F4B ldr r3, .L439+12 8090 0c50 0522 movs r2, #5 8091 0c52 5A72 strb r2, [r3, #9] 1755:user_src/soft_p_2_c.c **** case MSGID_SET_FLOW_BACKGROUND: 8092 .loc 1 1755 17 8093 0c54 71E3 b .L423 8094 .L369: 1741:user_src/soft_p_2_c.c **** { 8095 .loc 1 1741 37 8096 0c56 8C4B ldr r3, .L439+8 8097 0c58 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1741:user_src/soft_p_2_c.c **** { 8098 .loc 1 1741 28 8099 0c5c 072B cmp r3, #7 8100 0c5e 05D0 beq .L372 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 204 1741:user_src/soft_p_2_c.c **** { 8101 .loc 1 1741 72 discriminator 1 8102 0c60 894B ldr r3, .L439+8 8103 0c62 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1741:user_src/soft_p_2_c.c **** { 8104 .loc 1 1741 61 discriminator 1 8105 0c66 082B cmp r3, #8 8106 0c68 40F06783 bne .L423 8107 .L372: 1743:user_src/soft_p_2_c.c **** 8108 .loc 1 1743 47 8109 0c6c 844B ldr r3, .L439 8110 0c6e 9B8B ldrh r3, [r3, #28] @ unaligned 8111 0c70 9BB2 uxth r3, r3 8112 0c72 1A46 mov r2, r3 1743:user_src/soft_p_2_c.c **** 8113 .loc 1 1743 60 8114 0c74 834B ldr r3, .L439+4 8115 0c76 9B88 ldrh r3, [r3, #4] 1743:user_src/soft_p_2_c.c **** 8116 .loc 1 1743 50 8117 0c78 02FB03F3 mul r3, r2, r3 1743:user_src/soft_p_2_c.c **** 8118 .loc 1 1743 70 8119 0c7c 844A ldr r2, .L439+16 8120 0c7e 82FB0312 smull r1, r2, r2, r3 8121 0c82 5211 asrs r2, r2, #5 8122 0c84 DB17 asrs r3, r3, #31 8123 0c86 D31A subs r3, r2, r3 1743:user_src/soft_p_2_c.c **** 8124 .loc 1 1743 33 8125 0c88 C7F8A830 str r3, [r7, #168] 1745:user_src/soft_p_2_c.c **** { 8126 .loc 1 1745 27 8127 0c8c D7F8A830 ldr r3, [r7, #168] 8128 0c90 B3F5FA7F cmp r3, #500 8129 0c94 0BD3 bcc .L373 1745:user_src/soft_p_2_c.c **** { 8130 .loc 1 1745 43 discriminator 1 8131 0c96 D7F8A830 ldr r3, [r7, #168] 8132 0c9a 44F62062 movw r2, #20000 8133 0c9e 9342 cmp r3, r2 8134 0ca0 05D8 bhi .L373 1747:user_src/soft_p_2_c.c **** } 8135 .loc 1 1747 48 8136 0ca2 D7F8A830 ldr r3, [r7, #168] 8137 0ca6 9AB2 uxth r2, r3 8138 0ca8 754B ldr r3, .L439 8139 0caa 5A84 strh r2, [r3, #34] @ unaligned 8140 0cac 0AE0 b .L374 8141 .L373: 1750:user_src/soft_p_2_c.c **** } 8142 .loc 1 1750 48 8143 0cae 744B ldr r3, .L439 8144 0cb0 0022 movs r2, #0 8145 0cb2 42F01002 orr r2, r2, #16 8146 0cb6 83F82220 strb r2, [r3, #34] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 205 8147 0cba 0022 movs r2, #0 8148 0cbc 42F02702 orr r2, r2, #39 8149 0cc0 83F82320 strb r2, [r3, #35] 8150 .L374: 1752:user_src/soft_p_2_c.c **** } 8151 .loc 1 1752 44 8152 0cc4 6E4B ldr r3, .L439 8153 0cc6 0122 movs r2, #1 8154 0cc8 DA73 strb r2, [r3, #15] 1755:user_src/soft_p_2_c.c **** case MSGID_SET_FLOW_BACKGROUND: 8155 .loc 1 1755 17 8156 0cca 36E3 b .L423 8157 .L316: 1757:user_src/soft_p_2_c.c **** { 8158 .loc 1 1757 29 8159 0ccc 6E4B ldr r3, .L439+8 8160 0cce 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1757:user_src/soft_p_2_c.c **** { 8161 .loc 1 1757 20 8162 0cd2 052B cmp r3, #5 8163 0cd4 02D1 bne .L375 1759:user_src/soft_p_2_c.c **** } 8164 .loc 1 1759 51 8165 0cd6 6A4B ldr r3, .L439 8166 0cd8 0122 movs r2, #1 8167 0cda 9A74 strb r2, [r3, #18] 8168 .L375: 1761:user_src/soft_p_2_c.c **** { 8169 .loc 1 1761 29 8170 0cdc 6A4B ldr r3, .L439+8 8171 0cde 93F87C30 ldrb r3, [r3, #124] @ zero_extendqisi2 1761:user_src/soft_p_2_c.c **** { 8172 .loc 1 1761 20 8173 0ce2 062B cmp r3, #6 8174 0ce4 40F02B83 bne .L424 1763:user_src/soft_p_2_c.c **** flow_inf.ch2.clear_background = true; 8175 .loc 1 1763 51 8176 0ce8 654B ldr r3, .L439 8177 0cea 0122 movs r2, #1 8178 0cec 9A74 strb r2, [r3, #18] 1764:user_src/soft_p_2_c.c **** } 8179 .loc 1 1764 51 8180 0cee 644B ldr r3, .L439 8181 0cf0 0122 movs r2, #1 8182 0cf2 83F82420 strb r2, [r3, #36] 1766:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_K: 8183 .loc 1 1766 17 8184 0cf6 22E3 b .L424 8185 .L315: 1769:user_src/soft_p_2_c.c **** weight_order.order_con1 = msgidset.content1; 8186 .loc 1 1769 35 8187 0cf8 664B ldr r3, .L439+20 8188 0cfa 0522 movs r2, #5 8189 0cfc 1A70 strb r2, [r3] 1770:user_src/soft_p_2_c.c **** weight_order.order_con2 = msgidset.content2; 8190 .loc 1 1770 51 8191 0cfe 614B ldr r3, .L439+4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 206 8192 0d00 5A88 ldrh r2, [r3, #2] 1770:user_src/soft_p_2_c.c **** weight_order.order_con2 = msgidset.content2; 8193 .loc 1 1770 41 8194 0d02 644B ldr r3, .L439+20 8195 0d04 A3F80120 strh r2, [r3, #1] @ unaligned 1771:user_src/soft_p_2_c.c **** break; 8196 .loc 1 1771 51 8197 0d08 5E4B ldr r3, .L439+4 8198 0d0a 9A88 ldrh r2, [r3, #4] 1771:user_src/soft_p_2_c.c **** break; 8199 .loc 1 1771 41 8200 0d0c 614B ldr r3, .L439+20 8201 0d0e A3F80320 strh r2, [r3, #3] @ unaligned 1772:user_src/soft_p_2_c.c **** case MSGID_SET_SEED_OUT_TYPE: 8202 .loc 1 1772 17 8203 0d12 1BE3 b .L329 8204 .L314: 1774:user_src/soft_p_2_c.c **** seed_output_mode = msgidset.content1; 8205 .loc 1 1774 36 8206 0d14 604B ldr r3, .L439+24 8207 0d16 0122 movs r2, #1 8208 0d18 1A70 strb r2, [r3] 1775:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_SEED_OUT_TYPE,0,0); 8209 .loc 1 1775 44 8210 0d1a 5A4B ldr r3, .L439+4 8211 0d1c 5B88 ldrh r3, [r3, #2] 1775:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_SEED_OUT_TYPE,0,0); 8212 .loc 1 1775 34 8213 0d1e DAB2 uxtb r2, r3 8214 0d20 5E4B ldr r3, .L439+28 8215 0d22 1A70 strb r2, [r3] 1776:user_src/soft_p_2_c.c **** break; 8216 .loc 1 1776 17 8217 0d24 0023 movs r3, #0 8218 0d26 0022 movs r2, #0 8219 0d28 1821 movs r1, #24 8220 0d2a 1620 movs r0, #22 8221 0d2c FFF7FEFF bl pmu_set_ack 1777:user_src/soft_p_2_c.c **** case MSGID_SET_SEED_CAL_TYPE: 8222 .loc 1 1777 17 8223 0d30 0CE3 b .L329 8224 .L313: 1779:user_src/soft_p_2_c.c **** { 8225 .loc 1 1779 33 discriminator 5 8226 0d32 544B ldr r3, .L439+4 8227 0d34 5B88 ldrh r3, [r3, #2] 8228 0d36 172B cmp r3, #23 8229 0d38 18D0 beq .L377 8230 0d3a 172B cmp r3, #23 8231 0d3c 1ADC bgt .L425 8232 0d3e 142B cmp r3, #20 8233 0d40 02D0 beq .L379 8234 0d42 152B cmp r3, #21 8235 0d44 04D0 beq .L380 1793:user_src/soft_p_2_c.c **** } 8236 .loc 1 1793 21 8237 0d46 15E0 b .L425 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 207 8238 .L379: 1782:user_src/soft_p_2_c.c **** break; 8239 .loc 1 1782 39 8240 0d48 524B ldr r3, .L439+20 8241 0d4a 0122 movs r2, #1 8242 0d4c 1A70 strb r2, [r3] 1783:user_src/soft_p_2_c.c **** case Cal_Weight: 8243 .loc 1 1783 21 8244 0d4e 12E0 b .L381 8245 .L380: 1785:user_src/soft_p_2_c.c **** weight_order.order_con2 = msgidset.content2; 8246 .loc 1 1785 39 8247 0d50 504B ldr r3, .L439+20 8248 0d52 0222 movs r2, #2 8249 0d54 1A70 strb r2, [r3] 1786:user_src/soft_p_2_c.c **** weight_order.order_con3 = msgidset.content3; 8250 .loc 1 1786 56 8251 0d56 4B4B ldr r3, .L439+4 8252 0d58 9A88 ldrh r2, [r3, #4] 1786:user_src/soft_p_2_c.c **** weight_order.order_con3 = msgidset.content3; 8253 .loc 1 1786 45 8254 0d5a 4E4B ldr r3, .L439+20 8255 0d5c A3F80320 strh r2, [r3, #3] @ unaligned 1787:user_src/soft_p_2_c.c **** break; 8256 .loc 1 1787 56 8257 0d60 484B ldr r3, .L439+4 8258 0d62 DA88 ldrh r2, [r3, #6] 1787:user_src/soft_p_2_c.c **** break; 8259 .loc 1 1787 45 8260 0d64 4B4B ldr r3, .L439+20 8261 0d66 A3F80520 strh r2, [r3, #5] @ unaligned 1788:user_src/soft_p_2_c.c **** case Cal_Seed_Back: 8262 .loc 1 1788 21 8263 0d6a 04E0 b .L381 8264 .L377: 1790:user_src/soft_p_2_c.c **** break; 8265 .loc 1 1790 39 8266 0d6c 494B ldr r3, .L439+20 8267 0d6e 0422 movs r2, #4 8268 0d70 1A70 strb r2, [r3] 1791:user_src/soft_p_2_c.c **** default: 8269 .loc 1 1791 21 8270 0d72 00E0 b .L381 8271 .L425: 1793:user_src/soft_p_2_c.c **** } 8272 .loc 1 1793 21 8273 0d74 00BF nop 8274 .L381: 1795:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_MODE: 8275 .loc 1 1795 17 8276 0d76 E9E2 b .L329 8277 .L312: 1797:user_src/soft_p_2_c.c **** weight_order.order_con1 = msgidset.content1; 8278 .loc 1 1797 35 8279 0d78 464B ldr r3, .L439+20 8280 0d7a 0622 movs r2, #6 8281 0d7c 1A70 strb r2, [r3] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 208 1798:user_src/soft_p_2_c.c **** break; 8282 .loc 1 1798 51 8283 0d7e 414B ldr r3, .L439+4 8284 0d80 5A88 ldrh r2, [r3, #2] 1798:user_src/soft_p_2_c.c **** break; 8285 .loc 1 1798 41 8286 0d82 444B ldr r3, .L439+20 8287 0d84 A3F80120 strh r2, [r3, #1] @ unaligned 1799:user_src/soft_p_2_c.c **** case MSGID_SET_MAX_RATE: 8288 .loc 1 1799 17 8289 0d88 E0E2 b .L329 8290 .L311: 1801:user_src/soft_p_2_c.c **** weight_order.order_con1 = msgidset.content1; 8291 .loc 1 1801 35 8292 0d8a 424B ldr r3, .L439+20 8293 0d8c 0722 movs r2, #7 8294 0d8e 1A70 strb r2, [r3] 1802:user_src/soft_p_2_c.c **** break; 8295 .loc 1 1802 51 8296 0d90 3C4B ldr r3, .L439+4 8297 0d92 5A88 ldrh r2, [r3, #2] 1802:user_src/soft_p_2_c.c **** break; 8298 .loc 1 1802 41 8299 0d94 3F4B ldr r3, .L439+20 8300 0d96 A3F80120 strh r2, [r3, #1] @ unaligned 1803:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_RESETK: 8301 .loc 1 1803 17 8302 0d9a D7E2 b .L329 8303 .L305: 1805:user_src/soft_p_2_c.c **** break; 8304 .loc 1 1805 35 8305 0d9c 3D4B ldr r3, .L439+20 8306 0d9e 0822 movs r2, #8 8307 0da0 1A70 strb r2, [r3] 1806:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHTFAC_CAL: 8308 .loc 1 1806 17 8309 0da2 D3E2 b .L329 8310 .L304: 1808:user_src/soft_p_2_c.c **** weight_factory_cal_flag = true; //一直发送 8311 .loc 1 1808 35 8312 0da4 3B4B ldr r3, .L439+20 8313 0da6 0922 movs r2, #9 8314 0da8 1A70 strb r2, [r3] 1809:user_src/soft_p_2_c.c **** break; 8315 .loc 1 1809 41 8316 0daa 3D4B ldr r3, .L439+32 8317 0dac 0122 movs r2, #1 8318 0dae 1A70 strb r2, [r3] 1810:user_src/soft_p_2_c.c **** case MSGID_SET_PMU_SERIAL: 8319 .loc 1 1810 17 8320 0db0 CCE2 b .L329 8321 .L310: 8322 .LBB159: 1813:user_src/soft_p_2_c.c **** sn_32t = msgidset.content1 + (msgidset.content2 << 16); 8323 .loc 1 1813 21 8324 0db2 0023 movs r3, #0 8325 0db4 C7F8A030 str r3, [r7, #160] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 209 1814:user_src/soft_p_2_c.c **** if(sn_32t == PMU_SERIAL || current_pmu_par.SN == PMU_SERIAL) 8326 .loc 1 1814 34 8327 0db8 324B ldr r3, .L439+4 8328 0dba 5B88 ldrh r3, [r3, #2] 8329 0dbc 1A46 mov r2, r3 1814:user_src/soft_p_2_c.c **** if(sn_32t == PMU_SERIAL || current_pmu_par.SN == PMU_SERIAL) 8330 .loc 1 1814 55 8331 0dbe 314B ldr r3, .L439+4 8332 0dc0 9B88 ldrh r3, [r3, #4] 1814:user_src/soft_p_2_c.c **** if(sn_32t == PMU_SERIAL || current_pmu_par.SN == PMU_SERIAL) 8333 .loc 1 1814 65 8334 0dc2 1B04 lsls r3, r3, #16 1814:user_src/soft_p_2_c.c **** if(sn_32t == PMU_SERIAL || current_pmu_par.SN == PMU_SERIAL) 8335 .loc 1 1814 24 8336 0dc4 1344 add r3, r3, r2 8337 0dc6 C7F8A030 str r3, [r7, #160] 1815:user_src/soft_p_2_c.c **** { 8338 .loc 1 1815 19 8339 0dca D7F8A030 ldr r3, [r7, #160] 8340 0dce 354A ldr r2, .L439+36 8341 0dd0 9342 cmp r3, r2 8342 0dd2 04D0 beq .L382 1815:user_src/soft_p_2_c.c **** { 8343 .loc 1 1815 59 discriminator 1 8344 0dd4 344B ldr r3, .L439+40 8345 0dd6 9B68 ldr r3, [r3, #8] 1815:user_src/soft_p_2_c.c **** { 8346 .loc 1 1815 41 discriminator 1 8347 0dd8 324A ldr r2, .L439+36 8348 0dda 9342 cmp r3, r2 8349 0ddc 21D1 bne .L383 8350 .L382: 1817:user_src/soft_p_2_c.c **** flash_pmu_par._SN_H = msgidset.content2; 8351 .loc 1 1817 51 8352 0dde 294B ldr r3, .L439+4 8353 0de0 5A88 ldrh r2, [r3, #2] 1817:user_src/soft_p_2_c.c **** flash_pmu_par._SN_H = msgidset.content2; 8354 .loc 1 1817 41 8355 0de2 324B ldr r3, .L439+44 8356 0de4 5A81 strh r2, [r3, #10] @ movhi 1818:user_src/soft_p_2_c.c **** write_flash_flag = true; 8357 .loc 1 1818 51 8358 0de6 274B ldr r3, .L439+4 8359 0de8 9A88 ldrh r2, [r3, #4] 1818:user_src/soft_p_2_c.c **** write_flash_flag = true; 8360 .loc 1 1818 41 8361 0dea 304B ldr r3, .L439+44 8362 0dec 9A81 strh r2, [r3, #12] @ movhi 1819:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_PMU_SERIAL,0,0); 8363 .loc 1 1819 38 8364 0dee 304B ldr r3, .L439+48 8365 0df0 0122 movs r2, #1 8366 0df2 1A70 strb r2, [r3] 1820:user_src/soft_p_2_c.c **** Int2String(sn_32t,dev_pmu.sn,9); 8367 .loc 1 1820 21 8368 0df4 0023 movs r3, #0 8369 0df6 0022 movs r2, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 210 8370 0df8 1C21 movs r1, #28 8371 0dfa 1620 movs r0, #22 8372 0dfc FFF7FEFF bl pmu_set_ack 1821:user_src/soft_p_2_c.c **** dev_pmu.send_times += 5; 8373 .loc 1 1821 21 8374 0e00 0922 movs r2, #9 8375 0e02 2C49 ldr r1, .L439+52 8376 0e04 D7F8A000 ldr r0, [r7, #160] 8377 0e08 FFF7FEFF bl Int2String 1822:user_src/soft_p_2_c.c **** } 8378 .loc 1 1822 40 8379 0e0c 2A4B ldr r3, .L439+56 8380 0e0e 93F95830 ldrsb r3, [r3, #88] 8381 0e12 DBB2 uxtb r3, r3 8382 0e14 0533 adds r3, r3, #5 8383 0e16 DBB2 uxtb r3, r3 8384 0e18 5AB2 sxtb r2, r3 8385 0e1a 274B ldr r3, .L439+56 8386 0e1c 83F85820 strb r2, [r3, #88] 1828:user_src/soft_p_2_c.c **** } 8387 .loc 1 1828 17 8388 0e20 8FE2 b .L426 8389 .L383: 1824:user_src/soft_p_2_c.c **** { 8390 .loc 1 1824 50 8391 0e22 214B ldr r3, .L439+40 8392 0e24 9B68 ldr r3, [r3, #8] 1824:user_src/soft_p_2_c.c **** { 8393 .loc 1 1824 24 8394 0e26 D7F8A020 ldr r2, [r7, #160] 8395 0e2a 9A42 cmp r2, r3 8396 0e2c 40F08982 bne .L426 1826:user_src/soft_p_2_c.c **** } 8397 .loc 1 1826 21 8398 0e30 0023 movs r3, #0 8399 0e32 0022 movs r2, #0 8400 0e34 1C21 movs r1, #28 8401 0e36 1620 movs r0, #22 8402 0e38 FFF7FEFF bl pmu_set_ack 1828:user_src/soft_p_2_c.c **** } 8403 .loc 1 1828 17 8404 0e3c 81E2 b .L426 8405 .L309: 8406 .LBE159: 8407 .LBB160: 1832:user_src/soft_p_2_c.c **** if(msgidset.content1 == 0x11) 8408 .loc 1 1832 25 8409 0e3e 0023 movs r3, #0 8410 0e40 BB66 str r3, [r7, #104] 8411 0e42 0023 movs r3, #0 8412 0e44 FB66 str r3, [r7, #108] 1833:user_src/soft_p_2_c.c **** { 8413 .loc 1 1833 28 8414 0e46 0F4B ldr r3, .L439+4 8415 0e48 5B88 ldrh r3, [r3, #2] 1833:user_src/soft_p_2_c.c **** { 8416 .loc 1 1833 19 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 211 8417 0e4a 112B cmp r3, #17 8418 0e4c 36D1 bne .L385 1835:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,7,0xFA); 8419 .loc 1 1835 21 8420 0e4e 07F16800 add r0, r7, #104 8421 0e52 0023 movs r3, #0 8422 0e54 0493 str r3, [sp, #16] 8423 0e56 6523 movs r3, #101 8424 0e58 0393 str r3, [sp, #12] 8425 0e5a 0123 movs r3, #1 8426 0e5c 0293 str r3, [sp, #8] 8427 0e5e 0323 movs r3, #3 8428 0e60 0193 str r3, [sp, #4] 8429 0e62 6123 movs r3, #97 8430 0e64 0093 str r3, [sp] 8431 0e66 0323 movs r3, #3 8432 0e68 AA22 movs r2, #170 8433 0e6a 5521 movs r1, #85 8434 0e6c FFF7FEFF bl put_date_to_can 1836:user_src/soft_p_2_c.c **** } 8435 .loc 1 1836 21 8436 0e70 07F16803 add r3, r7, #104 8437 0e74 FA22 movs r2, #250 8438 0e76 0721 movs r1, #7 8439 0e78 1846 mov r0, r3 8440 0e7a FFF7FEFF bl can_send_msg_normalstd 8441 .LBE160: 1857:user_src/soft_p_2_c.c **** case MSGID_SET_LACKLOSS_CAL: 8442 .loc 1 1857 17 8443 0e7e 62E2 b .L427 8444 .L440: 8445 .align 2 8446 .L439: 8447 0e80 00000000 .word flow_inf 8448 0e84 00000000 .word msgidset 8449 0e88 00000000 .word Dev 8450 0e8c 00000000 .word flow_mimo2 8451 0e90 1F85EB51 .word 1374389535 8452 0e94 00000000 .word weight_order 8453 0e98 00000000 .word recv_fmu_seed_info 8454 0e9c 00000000 .word seed_output_mode 8455 0ea0 00000000 .word weight_factory_cal_flag 8456 0ea4 69AE8E0F .word 261009001 8457 0ea8 00000000 .word current_pmu_par 8458 0eac 00000000 .word flash_pmu_par 8459 0eb0 00000000 .word write_flash_flag 8460 0eb4 03000000 .word dev_pmu+3 8461 0eb8 00000000 .word dev_pmu 8462 .L385: 8463 .LBB161: 1838:user_src/soft_p_2_c.c **** { 8464 .loc 1 1838 34 8465 0ebc B14B ldr r3, .L441 8466 0ebe 5B88 ldrh r3, [r3, #2] 1838:user_src/soft_p_2_c.c **** { 8467 .loc 1 1838 25 8468 0ec0 122B cmp r3, #18 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 212 8469 0ec2 18D1 bne .L387 1840:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,7,0xFA); 8470 .loc 1 1840 21 8471 0ec4 07F16800 add r0, r7, #104 8472 0ec8 0023 movs r3, #0 8473 0eca 0493 str r3, [sp, #16] 8474 0ecc 6623 movs r3, #102 8475 0ece 0393 str r3, [sp, #12] 8476 0ed0 0223 movs r3, #2 8477 0ed2 0293 str r3, [sp, #8] 8478 0ed4 0323 movs r3, #3 8479 0ed6 0193 str r3, [sp, #4] 8480 0ed8 6123 movs r3, #97 8481 0eda 0093 str r3, [sp] 8482 0edc 0323 movs r3, #3 8483 0ede AA22 movs r2, #170 8484 0ee0 5521 movs r1, #85 8485 0ee2 FFF7FEFF bl put_date_to_can 1841:user_src/soft_p_2_c.c **** } 8486 .loc 1 1841 21 8487 0ee6 07F16803 add r3, r7, #104 8488 0eea FA22 movs r2, #250 8489 0eec 0721 movs r1, #7 8490 0eee 1846 mov r0, r3 8491 0ef0 FFF7FEFF bl can_send_msg_normalstd 8492 .LBE161: 1857:user_src/soft_p_2_c.c **** case MSGID_SET_LACKLOSS_CAL: 8493 .loc 1 1857 17 8494 0ef4 27E2 b .L427 8495 .L387: 8496 .LBB162: 1843:user_src/soft_p_2_c.c **** { 8497 .loc 1 1843 33 8498 0ef6 A34B ldr r3, .L441 8499 0ef8 5B88 ldrh r3, [r3, #2] 1843:user_src/soft_p_2_c.c **** { 8500 .loc 1 1843 24 8501 0efa B3F5807F cmp r3, #256 8502 0efe 40F02282 bne .L427 1845:user_src/soft_p_2_c.c **** { 8503 .loc 1 1845 32 8504 0f02 A04B ldr r3, .L441 8505 0f04 9B88 ldrh r3, [r3, #4] 1845:user_src/soft_p_2_c.c **** { 8506 .loc 1 1845 23 8507 0f06 112B cmp r3, #17 8508 0f08 03D0 beq .L388 1845:user_src/soft_p_2_c.c **** { 8509 .loc 1 1845 61 discriminator 1 8510 0f0a 9E4B ldr r3, .L441 8511 0f0c 9B88 ldrh r3, [r3, #4] 1845:user_src/soft_p_2_c.c **** { 8512 .loc 1 1845 50 discriminator 1 8513 0f0e 122B cmp r3, #18 8514 0f10 18D1 bne .L389 8515 .L388: 1847:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,7,0xFA); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 213 8516 .loc 1 1847 25 8517 0f12 07F16800 add r0, r7, #104 8518 0f16 0023 movs r3, #0 8519 0f18 0493 str r3, [sp, #16] 8520 0f1a 6423 movs r3, #100 8521 0f1c 0393 str r3, [sp, #12] 8522 0f1e 0323 movs r3, #3 8523 0f20 0293 str r3, [sp, #8] 8524 0f22 0023 movs r3, #0 8525 0f24 0193 str r3, [sp, #4] 8526 0f26 6123 movs r3, #97 8527 0f28 0093 str r3, [sp] 8528 0f2a 0323 movs r3, #3 8529 0f2c AA22 movs r2, #170 8530 0f2e 5521 movs r1, #85 8531 0f30 FFF7FEFF bl put_date_to_can 1848:user_src/soft_p_2_c.c **** } 8532 .loc 1 1848 25 8533 0f34 07F16803 add r3, r7, #104 8534 0f38 FA22 movs r2, #250 8535 0f3a 0721 movs r1, #7 8536 0f3c 1846 mov r0, r3 8537 0f3e FFF7FEFF bl can_send_msg_normalstd 8538 .LBE162: 1857:user_src/soft_p_2_c.c **** case MSGID_SET_LACKLOSS_CAL: 8539 .loc 1 1857 17 8540 0f42 00E2 b .L427 8541 .L389: 8542 .LBB163: 1850:user_src/soft_p_2_c.c **** { 8543 .loc 1 1850 37 8544 0f44 8F4B ldr r3, .L441 8545 0f46 9B88 ldrh r3, [r3, #4] 1850:user_src/soft_p_2_c.c **** { 8546 .loc 1 1850 28 8547 0f48 562B cmp r3, #86 8548 0f4a 40F0FC81 bne .L427 1852:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,6,0xFA); 8549 .loc 1 1852 25 8550 0f4e 07F16800 add r0, r7, #104 8551 0f52 0023 movs r3, #0 8552 0f54 0493 str r3, [sp, #16] 8553 0f56 0023 movs r3, #0 8554 0f58 0393 str r3, [sp, #12] 8555 0f5a 6323 movs r3, #99 8556 0f5c 0293 str r3, [sp, #8] 8557 0f5e 0323 movs r3, #3 8558 0f60 0193 str r3, [sp, #4] 8559 0f62 6023 movs r3, #96 8560 0f64 0093 str r3, [sp] 8561 0f66 0223 movs r3, #2 8562 0f68 AA22 movs r2, #170 8563 0f6a 5521 movs r1, #85 8564 0f6c FFF7FEFF bl put_date_to_can 1853:user_src/soft_p_2_c.c **** } 8565 .loc 1 1853 25 8566 0f70 07F16803 add r3, r7, #104 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 214 8567 0f74 FA22 movs r2, #250 8568 0f76 0621 movs r1, #6 8569 0f78 1846 mov r0, r3 8570 0f7a FFF7FEFF bl can_send_msg_normalstd 8571 .LBE163: 1857:user_src/soft_p_2_c.c **** case MSGID_SET_LACKLOSS_CAL: 8572 .loc 1 1857 17 8573 0f7e E2E1 b .L427 8574 .L308: 8575 .LBB164: 1860:user_src/soft_p_2_c.c **** if(Dev.Lackloss_Link.connect_status == COMP_NORMAL && Dev.Checklow.facid == FAC_VK) 8576 .loc 1 1860 25 8577 0f80 0023 movs r3, #0 8578 0f82 3B66 str r3, [r7, #96] 8579 0f84 0023 movs r3, #0 8580 0f86 7B66 str r3, [r7, #100] 1861:user_src/soft_p_2_c.c **** { 8581 .loc 1 1861 37 8582 0f88 7F4B ldr r3, .L441+4 8583 0f8a 93F80032 ldrb r3, [r3, #512] @ zero_extendqisi2 1861:user_src/soft_p_2_c.c **** { 8584 .loc 1 1861 19 8585 0f8e 012B cmp r3, #1 8586 0f90 35D1 bne .L390 1861:user_src/soft_p_2_c.c **** { 8587 .loc 1 1861 83 discriminator 1 8588 0f92 7D4B ldr r3, .L441+4 8589 0f94 93F8AC30 ldrb r3, [r3, #172] @ zero_extendqisi2 1861:user_src/soft_p_2_c.c **** { 8590 .loc 1 1861 68 discriminator 1 8591 0f98 002B cmp r3, #0 8592 0f9a 30D1 bne .L390 1863:user_src/soft_p_2_c.c **** can_buf[7] = (can_buf[1]+can_buf[2]+can_buf[3]+can_buf[4]+can_buf[5]+can_buf[6] 8593 .loc 1 1863 21 8594 0f9c 07F16000 add r0, r7, #96 8595 0fa0 0023 movs r3, #0 8596 0fa2 0493 str r3, [sp, #16] 8597 0fa4 0023 movs r3, #0 8598 0fa6 0393 str r3, [sp, #12] 8599 0fa8 0023 movs r3, #0 8600 0faa 0293 str r3, [sp, #8] 8601 0fac E123 movs r3, #225 8602 0fae 0193 str r3, [sp, #4] 8603 0fb0 B223 movs r3, #178 8604 0fb2 0093 str r3, [sp] 8605 0fb4 0023 movs r3, #0 8606 0fb6 0322 movs r2, #3 8607 0fb8 FA21 movs r1, #250 8608 0fba FFF7FEFF bl put_date_to_can 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8609 .loc 1 1864 42 8610 0fbe 97F86120 ldrb r2, [r7, #97] @ zero_extendqisi2 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8611 .loc 1 1864 53 8612 0fc2 97F86230 ldrb r3, [r7, #98] @ zero_extendqisi2 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8613 .loc 1 1864 45 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 215 8614 0fc6 1344 add r3, r3, r2 8615 0fc8 DAB2 uxtb r2, r3 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8616 .loc 1 1864 64 8617 0fca 97F86330 ldrb r3, [r7, #99] @ zero_extendqisi2 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8618 .loc 1 1864 56 8619 0fce 1344 add r3, r3, r2 8620 0fd0 DAB2 uxtb r2, r3 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8621 .loc 1 1864 75 8622 0fd2 97F86430 ldrb r3, [r7, #100] @ zero_extendqisi2 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8623 .loc 1 1864 67 8624 0fd6 1344 add r3, r3, r2 8625 0fd8 DAB2 uxtb r2, r3 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8626 .loc 1 1864 86 8627 0fda 97F86530 ldrb r3, [r7, #101] @ zero_extendqisi2 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8628 .loc 1 1864 78 8629 0fde 1344 add r3, r3, r2 8630 0fe0 DAB2 uxtb r2, r3 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8631 .loc 1 1864 97 8632 0fe2 97F86630 ldrb r3, [r7, #102] @ zero_extendqisi2 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8633 .loc 1 1864 89 8634 0fe6 1344 add r3, r3, r2 8635 0fe8 DBB2 uxtb r3, r3 1864:user_src/soft_p_2_c.c **** can_send_msg_normalstd(can_buf,8,0xFA); 8636 .loc 1 1864 32 8637 0fea 87F86730 strb r3, [r7, #103] 1865:user_src/soft_p_2_c.c **** } 8638 .loc 1 1865 21 8639 0fee 07F16003 add r3, r7, #96 8640 0ff2 FA22 movs r2, #250 8641 0ff4 0821 movs r1, #8 8642 0ff6 1846 mov r0, r3 8643 0ff8 FFF7FEFF bl can_send_msg_normalstd 8644 .LBE164: 1877:user_src/soft_p_2_c.c **** case MSGID_SET_PUMP_ID: 8645 .loc 1 1877 17 8646 0ffc A5E1 b .L428 8647 .L390: 8648 .LBB165: 1867:user_src/soft_p_2_c.c **** { 8649 .loc 1 1867 42 8650 0ffe 624B ldr r3, .L441+4 8651 1000 93F80032 ldrb r3, [r3, #512] @ zero_extendqisi2 1867:user_src/soft_p_2_c.c **** { 8652 .loc 1 1867 24 8653 1004 012B cmp r3, #1 8654 1006 40F0A081 bne .L428 1867:user_src/soft_p_2_c.c **** { 8655 .loc 1 1867 88 discriminator 1 8656 100a 5F4B ldr r3, .L441+4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 216 8657 100c 93F8AC30 ldrb r3, [r3, #172] @ zero_extendqisi2 1867:user_src/soft_p_2_c.c **** { 8658 .loc 1 1867 73 discriminator 1 8659 1010 1F2B cmp r3, #31 8660 1012 40F09A81 bne .L428 1869:user_src/soft_p_2_c.c **** { 8661 .loc 1 1869 24 8662 1016 FFF7FEFF bl HAL_GetTick 8663 101a 0246 mov r2, r0 1869:user_src/soft_p_2_c.c **** { 8664 .loc 1 1869 37 8665 101c 5B4B ldr r3, .L441+8 8666 101e 1B68 ldr r3, [r3] 8667 1020 D31A subs r3, r2, r3 1869:user_src/soft_p_2_c.c **** { 8668 .loc 1 1869 23 8669 1022 41F26F72 movw r2, #5999 8670 1026 9342 cmp r3, r2 8671 1028 40F28F81 bls .L428 1871:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0x18F2AD0A); 8672 .loc 1 1871 25 8673 102c 07F16000 add r0, r7, #96 8674 1030 0023 movs r3, #0 8675 1032 0493 str r3, [sp, #16] 8676 1034 0023 movs r3, #0 8677 1036 0393 str r3, [sp, #12] 8678 1038 0023 movs r3, #0 8679 103a 0293 str r3, [sp, #8] 8680 103c 0023 movs r3, #0 8681 103e 0193 str r3, [sp, #4] 8682 1040 0023 movs r3, #0 8683 1042 0093 str r3, [sp] 8684 1044 0023 movs r3, #0 8685 1046 0022 movs r2, #0 8686 1048 0121 movs r1, #1 8687 104a FFF7FEFF bl put_date_to_can 1872:user_src/soft_p_2_c.c **** DMJZ = HAL_GetTick(); 8688 .loc 1 1872 25 8689 104e 07F16003 add r3, r7, #96 8690 1052 4F4A ldr r2, .L441+12 8691 1054 0821 movs r1, #8 8692 1056 1846 mov r0, r3 8693 1058 FFF7FEFF bl can_send_msg_normal 1873:user_src/soft_p_2_c.c **** } 8694 .loc 1 1873 32 8695 105c FFF7FEFF bl HAL_GetTick 8696 1060 0346 mov r3, r0 1873:user_src/soft_p_2_c.c **** } 8697 .loc 1 1873 30 8698 1062 4A4A ldr r2, .L441+8 8699 1064 1360 str r3, [r2] 8700 .LBE165: 1877:user_src/soft_p_2_c.c **** case MSGID_SET_PUMP_ID: 8701 .loc 1 1877 17 8702 1066 70E1 b .L428 8703 .L307: 1879:user_src/soft_p_2_c.c **** setESCidInfo.setESCidNum = 1; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 217 8704 .loc 1 1879 33 8705 1068 4A4B ldr r3, .L441+16 8706 106a 0122 movs r2, #1 8707 106c 1A70 strb r2, [r3] 1880:user_src/soft_p_2_c.c **** setESCidInfo.setESCidStep = SETESCID_INIT; 8708 .loc 1 1880 42 8709 106e 4A4B ldr r3, .L441+20 8710 1070 0122 movs r2, #1 8711 1072 9A71 strb r2, [r3, #6] 1881:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_PUMP_ID,0,2); 8712 .loc 1 1881 43 8713 1074 484B ldr r3, .L441+20 8714 1076 0022 movs r2, #0 8715 1078 5A70 strb r2, [r3, #1] 1882:user_src/soft_p_2_c.c **** break; 8716 .loc 1 1882 17 8717 107a 0223 movs r3, #2 8718 107c 0022 movs r2, #0 8719 107e 2021 movs r1, #32 8720 1080 1620 movs r0, #22 8721 1082 FFF7FEFF bl pmu_set_ack 1883:user_src/soft_p_2_c.c **** case MSGID_SET_RESIWIRE_BLOWN: 8722 .loc 1 1883 17 8723 1086 61E1 b .L329 8724 .L306: 8725 .LBB166: 1886:user_src/soft_p_2_c.c **** put_date_to_can(can_buf,0xF7,fcu_protocol.payload[7],0x00,0x00,0x00,0xF1,0XF3,0X00) 8726 .loc 1 1886 25 discriminator 6 8727 1088 0023 movs r3, #0 8728 108a BB65 str r3, [r7, #88] 8729 108c 0023 movs r3, #0 8730 108e FB65 str r3, [r7, #92] 1887:user_src/soft_p_2_c.c **** can_send_msg_normal(&can_buf[0], 8, 0x88BB); 8731 .loc 1 1887 17 discriminator 6 8732 1090 424B ldr r3, .L441+24 8733 1092 5A7C ldrb r2, [r3, #17] @ zero_extendqisi2 8734 1094 07F15800 add r0, r7, #88 8735 1098 0023 movs r3, #0 8736 109a 0493 str r3, [sp, #16] 8737 109c F323 movs r3, #243 8738 109e 0393 str r3, [sp, #12] 8739 10a0 F123 movs r3, #241 8740 10a2 0293 str r3, [sp, #8] 8741 10a4 0023 movs r3, #0 8742 10a6 0193 str r3, [sp, #4] 8743 10a8 0023 movs r3, #0 8744 10aa 0093 str r3, [sp] 8745 10ac 0023 movs r3, #0 8746 10ae F721 movs r1, #247 8747 10b0 FFF7FEFF bl put_date_to_can 1888:user_src/soft_p_2_c.c **** } 8748 .loc 1 1888 17 discriminator 6 8749 10b4 07F15803 add r3, r7, #88 8750 10b8 48F6BB02 movw r2, #35003 8751 10bc 0821 movs r1, #8 8752 10be 1846 mov r0, r3 8753 10c0 FFF7FEFF bl can_send_msg_normal ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 218 8754 .LBE166: 1890:user_src/soft_p_2_c.c **** case MSGID_SET_FRADAR_SN: 8755 .loc 1 1890 17 discriminator 6 8756 10c4 42E1 b .L329 8757 .L303: 8758 .LBB167: 1893:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 8759 .loc 1 1893 25 discriminator 7 8760 10c6 0023 movs r3, #0 8761 10c8 7B65 str r3, [r7, #84] 1894:user_src/soft_p_2_c.c **** 8762 .loc 1 1894 29 discriminator 7 8763 10ca 0023 movs r3, #0 8764 10cc FB64 str r3, [r7, #76] 8765 10ce 0023 movs r3, #0 8766 10d0 3B65 str r3, [r7, #80] 1896:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8767 .loc 1 1896 40 discriminator 7 8768 10d2 2C4B ldr r3, .L441 8769 10d4 5B88 ldrh r3, [r3, #2] 8770 10d6 1A46 mov r2, r3 1896:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8771 .loc 1 1896 61 discriminator 7 8772 10d8 2A4B ldr r3, .L441 8773 10da 9B88 ldrh r3, [r3, #4] 1896:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8774 .loc 1 1896 71 discriminator 7 8775 10dc 1B04 lsls r3, r3, #16 1896:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8776 .loc 1 1896 50 discriminator 7 8777 10de 1344 add r3, r3, r2 1896:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8778 .loc 1 1896 30 discriminator 7 8779 10e0 7B65 str r3, [r7, #84] 1897:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 8780 .loc 1 1897 32 discriminator 7 8781 10e2 0223 movs r3, #2 8782 10e4 87F84C30 strb r3, [r7, #76] 8783 10e8 7B6D ldr r3, [r7, #84] 1898:user_src/soft_p_2_c.c **** can_buf[7] = 7; 8784 .loc 1 1898 21 discriminator 7 8785 10ea C7F84D30 str r3, [r7, #77] @ unaligned 1899:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xA81300); 8786 .loc 1 1899 32 discriminator 7 8787 10ee 0723 movs r3, #7 8788 10f0 87F85330 strb r3, [r7, #83] 1900:user_src/soft_p_2_c.c **** DM_f_info.get_radar_ver_flag = false; 8789 .loc 1 1900 21 discriminator 7 8790 10f4 07F14C03 add r3, r7, #76 8791 10f8 294A ldr r2, .L441+28 8792 10fa 0821 movs r1, #8 8793 10fc 1846 mov r0, r3 8794 10fe FFF7FEFF bl can_send_msg_normal 1901:user_src/soft_p_2_c.c **** dev_obsf.regist.sn = false; 8795 .loc 1 1901 50 discriminator 7 8796 1102 284B ldr r3, .L441+32 8797 1104 0022 movs r2, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 219 8798 1106 83F82C20 strb r2, [r3, #44] 1902:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_FRADAR_SN,msgidset.content1,msgidset.content2) 8799 .loc 1 1902 40 discriminator 7 8800 110a 274B ldr r3, .L441+36 8801 110c 0022 movs r2, #0 8802 110e 83F85420 strb r2, [r3, #84] 1903:user_src/soft_p_2_c.c **** } 8803 .loc 1 1903 72 discriminator 7 8804 1112 1C4B ldr r3, .L441 8805 1114 5B88 ldrh r3, [r3, #2] 1903:user_src/soft_p_2_c.c **** } 8806 .loc 1 1903 21 discriminator 7 8807 1116 1AB2 sxth r2, r3 1903:user_src/soft_p_2_c.c **** } 8808 .loc 1 1903 90 discriminator 7 8809 1118 1A4B ldr r3, .L441 8810 111a 9B88 ldrh r3, [r3, #4] 1903:user_src/soft_p_2_c.c **** } 8811 .loc 1 1903 21 discriminator 7 8812 111c 1BB2 sxth r3, r3 8813 111e 6221 movs r1, #98 8814 1120 1620 movs r0, #22 8815 1122 FFF7FEFF bl pmu_set_ack 8816 .LBE167: 1905:user_src/soft_p_2_c.c **** case MSGID_SET_BRADAR_SN: 8817 .loc 1 1905 17 discriminator 7 8818 1126 11E1 b .L329 8819 .L302: 8820 .LBB168: 1908:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 8821 .loc 1 1908 25 discriminator 8 8822 1128 0023 movs r3, #0 8823 112a BB64 str r3, [r7, #72] 1909:user_src/soft_p_2_c.c **** 8824 .loc 1 1909 29 discriminator 8 8825 112c 0023 movs r3, #0 8826 112e 3B64 str r3, [r7, #64] 8827 1130 0023 movs r3, #0 8828 1132 7B64 str r3, [r7, #68] 1911:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8829 .loc 1 1911 40 discriminator 8 8830 1134 134B ldr r3, .L441 8831 1136 5B88 ldrh r3, [r3, #2] 8832 1138 1A46 mov r2, r3 1911:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8833 .loc 1 1911 61 discriminator 8 8834 113a 124B ldr r3, .L441 8835 113c 9B88 ldrh r3, [r3, #4] 1911:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8836 .loc 1 1911 71 discriminator 8 8837 113e 1B04 lsls r3, r3, #16 1911:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8838 .loc 1 1911 50 discriminator 8 8839 1140 1344 add r3, r3, r2 1911:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8840 .loc 1 1911 30 discriminator 8 8841 1142 BB64 str r3, [r7, #72] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 220 1912:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 8842 .loc 1 1912 32 discriminator 8 8843 1144 0223 movs r3, #2 8844 1146 87F84030 strb r3, [r7, #64] 8845 114a BB6C ldr r3, [r7, #72] 1913:user_src/soft_p_2_c.c **** can_buf[7] = 7; 8846 .loc 1 1913 21 discriminator 8 8847 114c C7F84130 str r3, [r7, #65] @ unaligned 1914:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xB81300); 8848 .loc 1 1914 32 discriminator 8 8849 1150 0723 movs r3, #7 8850 1152 87F84730 strb r3, [r7, #71] 1915:user_src/soft_p_2_c.c **** dev_obsb.regist.sn = false; 8851 .loc 1 1915 21 discriminator 8 8852 1156 07F14003 add r3, r7, #64 8853 115a 144A ldr r2, .L441+40 8854 115c 0821 movs r1, #8 8855 115e 1846 mov r0, r3 8856 1160 FFF7FEFF bl can_send_msg_normal 1916:user_src/soft_p_2_c.c **** //DM_b_info.get_radar_ver_flag = false; 8857 .loc 1 1916 40 discriminator 8 8858 1164 124B ldr r3, .L441+44 8859 1166 0022 movs r2, #0 8860 1168 83F85420 strb r2, [r3, #84] 1918:user_src/soft_p_2_c.c **** } 8861 .loc 1 1918 72 discriminator 8 8862 116c 054B ldr r3, .L441 8863 116e 5B88 ldrh r3, [r3, #2] 1918:user_src/soft_p_2_c.c **** } 8864 .loc 1 1918 21 discriminator 8 8865 1170 1AB2 sxth r2, r3 1918:user_src/soft_p_2_c.c **** } 8866 .loc 1 1918 90 discriminator 8 8867 1172 044B ldr r3, .L441 8868 1174 9B88 ldrh r3, [r3, #4] 1918:user_src/soft_p_2_c.c **** } 8869 .loc 1 1918 21 discriminator 8 8870 1176 1BB2 sxth r3, r3 8871 1178 6321 movs r1, #99 8872 117a 1620 movs r0, #22 8873 117c FFF7FEFF bl pmu_set_ack 8874 .LBE168: 1920:user_src/soft_p_2_c.c **** case MSGID_SET_TRADAR_SN: 8875 .loc 1 1920 17 discriminator 8 8876 1180 E4E0 b .L329 8877 .L442: 8878 1182 00BF .align 2 8879 .L441: 8880 1184 00000000 .word msgidset 8881 1188 00000000 .word Dev 8882 118c 00000000 .word DMJZ 8883 1190 0AADF218 .word 418557194 8884 1194 00000000 .word set_HWesc_ESCid 8885 1198 00000000 .word setESCidInfo 8886 119c 00000000 .word fcu_protocol 8887 11a0 0013A800 .word 11014912 8888 11a4 00000000 .word DM_f_info ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 221 8889 11a8 00000000 .word dev_obsf 8890 11ac 0013B800 .word 12063488 8891 11b0 00000000 .word dev_obsb 8892 .L301: 8893 .LBB169: 1923:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 8894 .loc 1 1923 25 discriminator 9 8895 11b4 0023 movs r3, #0 8896 11b6 FB63 str r3, [r7, #60] 1924:user_src/soft_p_2_c.c **** 8897 .loc 1 1924 29 discriminator 9 8898 11b8 0023 movs r3, #0 8899 11ba 7B63 str r3, [r7, #52] 8900 11bc 0023 movs r3, #0 8901 11be BB63 str r3, [r7, #56] 1926:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8902 .loc 1 1926 40 discriminator 9 8903 11c0 B74B ldr r3, .L443 8904 11c2 5B88 ldrh r3, [r3, #2] 8905 11c4 1A46 mov r2, r3 1926:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8906 .loc 1 1926 61 discriminator 9 8907 11c6 B64B ldr r3, .L443 8908 11c8 9B88 ldrh r3, [r3, #4] 1926:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8909 .loc 1 1926 71 discriminator 9 8910 11ca 1B04 lsls r3, r3, #16 1926:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8911 .loc 1 1926 50 discriminator 9 8912 11cc 1344 add r3, r3, r2 1926:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8913 .loc 1 1926 30 discriminator 9 8914 11ce FB63 str r3, [r7, #60] 1927:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 8915 .loc 1 1927 32 discriminator 9 8916 11d0 0223 movs r3, #2 8917 11d2 87F83430 strb r3, [r7, #52] 8918 11d6 FB6B ldr r3, [r7, #60] 1928:user_src/soft_p_2_c.c **** can_buf[7] = 7; 8919 .loc 1 1928 21 discriminator 9 8920 11d8 C7F83530 str r3, [r7, #53] @ unaligned 1929:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0x981300); 8921 .loc 1 1929 32 discriminator 9 8922 11dc 0723 movs r3, #7 8923 11de 87F83B30 strb r3, [r7, #59] 1930:user_src/soft_p_2_c.c **** DM_ter_info.get_radar_ver_flag = false; 8924 .loc 1 1930 21 discriminator 9 8925 11e2 07F13403 add r3, r7, #52 8926 11e6 AF4A ldr r2, .L443+4 8927 11e8 0821 movs r1, #8 8928 11ea 1846 mov r0, r3 8929 11ec FFF7FEFF bl can_send_msg_normal 1931:user_src/soft_p_2_c.c **** dev_ter.regist.sn = false; //重新获取sn 8930 .loc 1 1931 52 discriminator 9 8931 11f0 AD4B ldr r3, .L443+8 8932 11f2 0022 movs r2, #0 8933 11f4 5A76 strb r2, [r3, #25] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 222 1932:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_TRADAR_SN,msgidset.content1,msgidset.content2) 8934 .loc 1 1932 39 discriminator 9 8935 11f6 AD4B ldr r3, .L443+12 8936 11f8 0022 movs r2, #0 8937 11fa 83F85420 strb r2, [r3, #84] 1933:user_src/soft_p_2_c.c **** } 8938 .loc 1 1933 72 discriminator 9 8939 11fe A84B ldr r3, .L443 8940 1200 5B88 ldrh r3, [r3, #2] 1933:user_src/soft_p_2_c.c **** } 8941 .loc 1 1933 21 discriminator 9 8942 1202 1AB2 sxth r2, r3 1933:user_src/soft_p_2_c.c **** } 8943 .loc 1 1933 90 discriminator 9 8944 1204 A64B ldr r3, .L443 8945 1206 9B88 ldrh r3, [r3, #4] 1933:user_src/soft_p_2_c.c **** } 8946 .loc 1 1933 21 discriminator 9 8947 1208 1BB2 sxth r3, r3 8948 120a 6421 movs r1, #100 8949 120c 1620 movs r0, #22 8950 120e FFF7FEFF bl pmu_set_ack 8951 .LBE169: 1935:user_src/soft_p_2_c.c **** case MSGID_SET_4DFRADAR_SN: 8952 .loc 1 1935 17 discriminator 9 8953 1212 9BE0 b .L329 8954 .L300: 8955 .LBB170: 1938:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 8956 .loc 1 1938 25 discriminator 10 8957 1214 0023 movs r3, #0 8958 1216 3B63 str r3, [r7, #48] 1939:user_src/soft_p_2_c.c **** 8959 .loc 1 1939 29 discriminator 10 8960 1218 0023 movs r3, #0 8961 121a BB62 str r3, [r7, #40] 8962 121c 0023 movs r3, #0 8963 121e FB62 str r3, [r7, #44] 1941:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8964 .loc 1 1941 40 discriminator 10 8965 1220 9F4B ldr r3, .L443 8966 1222 5B88 ldrh r3, [r3, #2] 8967 1224 1A46 mov r2, r3 1941:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8968 .loc 1 1941 61 discriminator 10 8969 1226 9E4B ldr r3, .L443 8970 1228 9B88 ldrh r3, [r3, #4] 1941:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8971 .loc 1 1941 71 discriminator 10 8972 122a 1B04 lsls r3, r3, #16 1941:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8973 .loc 1 1941 50 discriminator 10 8974 122c 1344 add r3, r3, r2 1941:user_src/soft_p_2_c.c **** can_buf[0] = 2; 8975 .loc 1 1941 30 discriminator 10 8976 122e 3B63 str r3, [r7, #48] 1942:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 223 8977 .loc 1 1942 32 discriminator 10 8978 1230 0223 movs r3, #2 8979 1232 87F82830 strb r3, [r7, #40] 8980 1236 3B6B ldr r3, [r7, #48] 1943:user_src/soft_p_2_c.c **** can_buf[7] = 7; 8981 .loc 1 1943 21 discriminator 10 8982 1238 C7F82930 str r3, [r7, #41] @ unaligned 1944:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xA81300); 8983 .loc 1 1944 32 discriminator 10 8984 123c 0723 movs r3, #7 8985 123e 87F82F30 strb r3, [r7, #47] 1945:user_src/soft_p_2_c.c **** DM_f_info.get_radar_ver_flag = false; 8986 .loc 1 1945 21 discriminator 10 8987 1242 07F12803 add r3, r7, #40 8988 1246 9A4A ldr r2, .L443+16 8989 1248 0821 movs r1, #8 8990 124a 1846 mov r0, r3 8991 124c FFF7FEFF bl can_send_msg_normal 1946:user_src/soft_p_2_c.c **** dev_obsf.regist.sn = false; 8992 .loc 1 1946 50 discriminator 10 8993 1250 984B ldr r3, .L443+20 8994 1252 0022 movs r2, #0 8995 1254 83F82C20 strb r2, [r3, #44] 1947:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_4DFRADAR_SN,msgidset.content1,msgidset.content 8996 .loc 1 1947 40 discriminator 10 8997 1258 974B ldr r3, .L443+24 8998 125a 0022 movs r2, #0 8999 125c 83F85420 strb r2, [r3, #84] 1948:user_src/soft_p_2_c.c **** } 9000 .loc 1 1948 74 discriminator 10 9001 1260 8F4B ldr r3, .L443 9002 1262 5B88 ldrh r3, [r3, #2] 1948:user_src/soft_p_2_c.c **** } 9003 .loc 1 1948 21 discriminator 10 9004 1264 1AB2 sxth r2, r3 1948:user_src/soft_p_2_c.c **** } 9005 .loc 1 1948 92 discriminator 10 9006 1266 8E4B ldr r3, .L443 9007 1268 9B88 ldrh r3, [r3, #4] 1948:user_src/soft_p_2_c.c **** } 9008 .loc 1 1948 21 discriminator 10 9009 126a 1BB2 sxth r3, r3 9010 126c 6621 movs r1, #102 9011 126e 1620 movs r0, #22 9012 1270 FFF7FEFF bl pmu_set_ack 9013 .LBE170: 1950:user_src/soft_p_2_c.c **** case MSGID_SET_4DBRADAR_SN: 9014 .loc 1 1950 17 discriminator 10 9015 1274 6AE0 b .L329 9016 .L299: 9017 .LBB171: 1953:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 9018 .loc 1 1953 25 discriminator 11 9019 1276 0023 movs r3, #0 9020 1278 7B62 str r3, [r7, #36] 1954:user_src/soft_p_2_c.c **** 9021 .loc 1 1954 29 discriminator 11 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 224 9022 127a 0023 movs r3, #0 9023 127c FB61 str r3, [r7, #28] 9024 127e 0023 movs r3, #0 9025 1280 3B62 str r3, [r7, #32] 1956:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9026 .loc 1 1956 40 discriminator 11 9027 1282 874B ldr r3, .L443 9028 1284 5B88 ldrh r3, [r3, #2] 9029 1286 1A46 mov r2, r3 1956:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9030 .loc 1 1956 61 discriminator 11 9031 1288 854B ldr r3, .L443 9032 128a 9B88 ldrh r3, [r3, #4] 1956:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9033 .loc 1 1956 71 discriminator 11 9034 128c 1B04 lsls r3, r3, #16 1956:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9035 .loc 1 1956 50 discriminator 11 9036 128e 1344 add r3, r3, r2 1956:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9037 .loc 1 1956 30 discriminator 11 9038 1290 7B62 str r3, [r7, #36] 1957:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 9039 .loc 1 1957 32 discriminator 11 9040 1292 0223 movs r3, #2 9041 1294 3B77 strb r3, [r7, #28] 9042 1296 7B6A ldr r3, [r7, #36] 1958:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9043 .loc 1 1958 21 discriminator 11 9044 1298 C7F81D30 str r3, [r7, #29] @ unaligned 1959:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0xB81300); 9045 .loc 1 1959 32 discriminator 11 9046 129c 0723 movs r3, #7 9047 129e 87F82330 strb r3, [r7, #35] 1960:user_src/soft_p_2_c.c **** dev_obsb.regist.sn = false; 9048 .loc 1 1960 21 discriminator 11 9049 12a2 07F11C03 add r3, r7, #28 9050 12a6 854A ldr r2, .L443+28 9051 12a8 0821 movs r1, #8 9052 12aa 1846 mov r0, r3 9053 12ac FFF7FEFF bl can_send_msg_normal 1961:user_src/soft_p_2_c.c **** //DM_b_info.get_radar_ver_flag = false; 9054 .loc 1 1961 40 discriminator 11 9055 12b0 834B ldr r3, .L443+32 9056 12b2 0022 movs r2, #0 9057 12b4 83F85420 strb r2, [r3, #84] 1963:user_src/soft_p_2_c.c **** } 9058 .loc 1 1963 74 discriminator 11 9059 12b8 794B ldr r3, .L443 9060 12ba 5B88 ldrh r3, [r3, #2] 1963:user_src/soft_p_2_c.c **** } 9061 .loc 1 1963 21 discriminator 11 9062 12bc 1AB2 sxth r2, r3 1963:user_src/soft_p_2_c.c **** } 9063 .loc 1 1963 92 discriminator 11 9064 12be 784B ldr r3, .L443 9065 12c0 9B88 ldrh r3, [r3, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 225 1963:user_src/soft_p_2_c.c **** } 9066 .loc 1 1963 21 discriminator 11 9067 12c2 1BB2 sxth r3, r3 9068 12c4 6721 movs r1, #103 9069 12c6 1620 movs r0, #22 9070 12c8 FFF7FEFF bl pmu_set_ack 9071 .LBE171: 1965:user_src/soft_p_2_c.c **** case MSGID_SET_4DTRADAR_SN: 9072 .loc 1 1965 17 discriminator 11 9073 12cc 3EE0 b .L329 9074 .L297: 9075 .LBB172: 1968:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 9076 .loc 1 1968 25 discriminator 12 9077 12ce 0023 movs r3, #0 9078 12d0 BB61 str r3, [r7, #24] 1969:user_src/soft_p_2_c.c **** 9079 .loc 1 1969 29 discriminator 12 9080 12d2 0023 movs r3, #0 9081 12d4 3B61 str r3, [r7, #16] 9082 12d6 0023 movs r3, #0 9083 12d8 7B61 str r3, [r7, #20] 1971:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9084 .loc 1 1971 40 discriminator 12 9085 12da 714B ldr r3, .L443 9086 12dc 5B88 ldrh r3, [r3, #2] 9087 12de 1A46 mov r2, r3 1971:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9088 .loc 1 1971 61 discriminator 12 9089 12e0 6F4B ldr r3, .L443 9090 12e2 9B88 ldrh r3, [r3, #4] 1971:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9091 .loc 1 1971 71 discriminator 12 9092 12e4 1B04 lsls r3, r3, #16 1971:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9093 .loc 1 1971 50 discriminator 12 9094 12e6 1344 add r3, r3, r2 1971:user_src/soft_p_2_c.c **** can_buf[0] = 2; 9095 .loc 1 1971 30 discriminator 12 9096 12e8 BB61 str r3, [r7, #24] 1972:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_Sn,4); 9097 .loc 1 1972 32 discriminator 12 9098 12ea 0223 movs r3, #2 9099 12ec 3B74 strb r3, [r7, #16] 9100 12ee BB69 ldr r3, [r7, #24] 1973:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9101 .loc 1 1973 21 discriminator 12 9102 12f0 C7F81130 str r3, [r7, #17] @ unaligned 1974:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0x981300); 9103 .loc 1 1974 32 discriminator 12 9104 12f4 0723 movs r3, #7 9105 12f6 FB75 strb r3, [r7, #23] 1975:user_src/soft_p_2_c.c **** DM_ter_info.get_radar_ver_flag = false; 9106 .loc 1 1975 21 discriminator 12 9107 12f8 07F11003 add r3, r7, #16 9108 12fc 694A ldr r2, .L443+4 9109 12fe 0821 movs r1, #8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 226 9110 1300 1846 mov r0, r3 9111 1302 FFF7FEFF bl can_send_msg_normal 1976:user_src/soft_p_2_c.c **** dev_ter.regist.sn = false; //重新获取sn 9112 .loc 1 1976 52 discriminator 12 9113 1306 684B ldr r3, .L443+8 9114 1308 0022 movs r2, #0 9115 130a 5A76 strb r2, [r3, #25] 1977:user_src/soft_p_2_c.c **** pmu_set_ack(_MSGID_SET,MSGID_SET_4DTRADAR_SN,msgidset.content1,msgidset.content 9116 .loc 1 1977 39 discriminator 12 9117 130c 674B ldr r3, .L443+12 9118 130e 0022 movs r2, #0 9119 1310 83F85420 strb r2, [r3, #84] 1978:user_src/soft_p_2_c.c **** } 9120 .loc 1 1978 74 discriminator 12 9121 1314 624B ldr r3, .L443 9122 1316 5B88 ldrh r3, [r3, #2] 1978:user_src/soft_p_2_c.c **** } 9123 .loc 1 1978 21 discriminator 12 9124 1318 1AB2 sxth r2, r3 1978:user_src/soft_p_2_c.c **** } 9125 .loc 1 1978 92 discriminator 12 9126 131a 614B ldr r3, .L443 9127 131c 9B88 ldrh r3, [r3, #4] 1978:user_src/soft_p_2_c.c **** } 9128 .loc 1 1978 21 discriminator 12 9129 131e 1BB2 sxth r3, r3 9130 1320 6821 movs r1, #104 9131 1322 1620 movs r0, #22 9132 1324 FFF7FEFF bl pmu_set_ack 9133 .LBE172: 1980:user_src/soft_p_2_c.c **** default: 9134 .loc 1 1980 17 discriminator 12 9135 1328 10E0 b .L329 9136 .L414: 1982:user_src/soft_p_2_c.c **** } 9137 .loc 1 1982 17 9138 132a 00BF nop 9139 132c 29E1 b .L282 9140 .L415: 1558:user_src/soft_p_2_c.c **** //后雷达 9141 .loc 1 1558 17 9142 132e 00BF nop 9143 1330 27E1 b .L282 9144 .L416: 1571:user_src/soft_p_2_c.c **** //仿地 9145 .loc 1 1571 17 9146 1332 00BF nop 9147 1334 25E1 b .L282 9148 .L417: 1584:user_src/soft_p_2_c.c **** case MSGID_SET_TR_BLIND: 9149 .loc 1 1584 17 9150 1336 00BF nop 9151 1338 23E1 b .L282 9152 .L423: 1755:user_src/soft_p_2_c.c **** case MSGID_SET_FLOW_BACKGROUND: 9153 .loc 1 1755 17 9154 133a 00BF nop ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 227 9155 133c 21E1 b .L282 9156 .L424: 1766:user_src/soft_p_2_c.c **** case MSGID_SET_WEIGHT_K: 9157 .loc 1 1766 17 9158 133e 00BF nop 9159 1340 1FE1 b .L282 9160 .L426: 9161 .LBB173: 1828:user_src/soft_p_2_c.c **** } 9162 .loc 1 1828 17 9163 1342 00BF nop 9164 1344 1DE1 b .L282 9165 .L427: 9166 .LBE173: 1857:user_src/soft_p_2_c.c **** case MSGID_SET_LACKLOSS_CAL: 9167 .loc 1 1857 17 9168 1346 00BF nop 9169 1348 1BE1 b .L282 9170 .L428: 1877:user_src/soft_p_2_c.c **** case MSGID_SET_PUMP_ID: 9171 .loc 1 1877 17 9172 134a 00BF nop 9173 .L329: 1984:user_src/soft_p_2_c.c **** case _MSGID_SET4D: 9174 .loc 1 1984 13 9175 134c 19E1 b .L282 9176 .L263: 9177 .LBB174: 1987:user_src/soft_p_2_c.c **** uint8_t can_buf[8] = {0}; 9178 .loc 1 1987 26 9179 134e 0023 movs r3, #0 9180 1350 A7F8A430 strh r3, [r7, #164] @ movhi 1988:user_src/soft_p_2_c.c **** int radar_msg = 0; 9181 .loc 1 1988 25 9182 1354 0023 movs r3, #0 9183 1356 BB60 str r3, [r7, #8] 9184 1358 0023 movs r3, #0 9185 135a FB60 str r3, [r7, #12] 1989:user_src/soft_p_2_c.c **** 9186 .loc 1 1989 21 9187 135c 0023 movs r3, #0 9188 135e 7B60 str r3, [r7, #4] 1991:user_src/soft_p_2_c.c **** memcpy(&radar_msg,&fcu_protocol.payload[8],4); 9189 .loc 1 1991 48 9190 1360 584B ldr r3, .L443+36 9191 1362 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 9192 1364 9AB2 uxth r2, r3 1991:user_src/soft_p_2_c.c **** memcpy(&radar_msg,&fcu_protocol.payload[8],4); 9193 .loc 1 1991 74 9194 1366 574B ldr r3, .L443+36 9195 1368 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 1991:user_src/soft_p_2_c.c **** memcpy(&radar_msg,&fcu_protocol.payload[8],4); 9196 .loc 1 1991 52 9197 136a 9BB2 uxth r3, r3 9198 136c 1B02 lsls r3, r3, #8 9199 136e 9BB2 uxth r3, r3 1991:user_src/soft_p_2_c.c **** memcpy(&radar_msg,&fcu_protocol.payload[8],4); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 228 9200 .loc 1 1991 26 9201 1370 1344 add r3, r3, r2 9202 1372 A7F8A430 strh r3, [r7, #164] @ movhi 9203 1376 534B ldr r3, .L443+36 9204 1378 D3F81230 ldr r3, [r3, #18] @ unaligned 1992:user_src/soft_p_2_c.c **** switch (radar_id) 9205 .loc 1 1992 17 9206 137c 7B60 str r3, [r7, #4] 1993:user_src/soft_p_2_c.c **** { 9207 .loc 1 1993 17 9208 137e B7F8A430 ldrh r3, [r7, #164] 9209 1382 013B subs r3, r3, #1 9210 1384 052B cmp r3, #5 9211 1386 69D8 bhi .L429 9212 1388 01A2 adr r2, .L394 9213 138a 52F823F0 ldr pc, [r2, r3, lsl #2] 9214 138e 00BF .p2align 2 9215 .L394: 9216 1390 A9130000 .word .L399+1 9217 1394 C7130000 .word .L398+1 9218 1398 E5130000 .word .L397+1 9219 139c 03140000 .word .L396+1 9220 13a0 21140000 .word .L395+1 9221 13a4 3F140000 .word .L393+1 9222 .p2align 1 9223 .L399: 1996:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 9224 .loc 1 1996 32 9225 13a8 0C23 movs r3, #12 9226 13aa 3B72 strb r3, [r7, #8] 9227 13ac BB88 ldrh r3, [r7, #4] 1997:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9228 .loc 1 1997 21 9229 13ae A7F80930 strh r3, [r7, #9] @ unaligned 1998:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XA81300); 9230 .loc 1 1998 32 9231 13b2 0723 movs r3, #7 9232 13b4 FB73 strb r3, [r7, #15] 1999:user_src/soft_p_2_c.c **** break; 9233 .loc 1 1999 21 9234 13b6 07F10803 add r3, r7, #8 9235 13ba 3D4A ldr r2, .L443+16 9236 13bc 0821 movs r1, #8 9237 13be 1846 mov r0, r3 9238 13c0 FFF7FEFF bl can_send_msg_normal 2000:user_src/soft_p_2_c.c **** case 2: 9239 .loc 1 2000 21 9240 13c4 4BE0 b .L260 9241 .L398: 2002:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 9242 .loc 1 2002 32 9243 13c6 0E23 movs r3, #14 9244 13c8 3B72 strb r3, [r7, #8] 9245 13ca BB88 ldrh r3, [r7, #4] 2003:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9246 .loc 1 2003 21 9247 13cc A7F80930 strh r3, [r7, #9] @ unaligned ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 229 2004:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XA81300); 9248 .loc 1 2004 32 9249 13d0 0723 movs r3, #7 9250 13d2 FB73 strb r3, [r7, #15] 2005:user_src/soft_p_2_c.c **** break; 9251 .loc 1 2005 21 9252 13d4 07F10803 add r3, r7, #8 9253 13d8 354A ldr r2, .L443+16 9254 13da 0821 movs r1, #8 9255 13dc 1846 mov r0, r3 9256 13de FFF7FEFF bl can_send_msg_normal 2006:user_src/soft_p_2_c.c **** case 3: 9257 .loc 1 2006 21 9258 13e2 3CE0 b .L260 9259 .L397: 2008:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 9260 .loc 1 2008 32 9261 13e4 0A23 movs r3, #10 9262 13e6 3B72 strb r3, [r7, #8] 9263 13e8 BB88 ldrh r3, [r7, #4] 2009:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9264 .loc 1 2009 21 9265 13ea A7F80930 strh r3, [r7, #9] @ unaligned 2010:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XA81300); 9266 .loc 1 2010 32 9267 13ee 0723 movs r3, #7 9268 13f0 FB73 strb r3, [r7, #15] 2011:user_src/soft_p_2_c.c **** break; 9269 .loc 1 2011 21 9270 13f2 07F10803 add r3, r7, #8 9271 13f6 2E4A ldr r2, .L443+16 9272 13f8 0821 movs r1, #8 9273 13fa 1846 mov r0, r3 9274 13fc FFF7FEFF bl can_send_msg_normal 2012:user_src/soft_p_2_c.c **** case 4: 9275 .loc 1 2012 21 9276 1400 2DE0 b .L260 9277 .L396: 2014:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 9278 .loc 1 2014 32 9279 1402 0C23 movs r3, #12 9280 1404 3B72 strb r3, [r7, #8] 9281 1406 BB88 ldrh r3, [r7, #4] 2015:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9282 .loc 1 2015 21 9283 1408 A7F80930 strh r3, [r7, #9] @ unaligned 2016:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XB81300); 9284 .loc 1 2016 32 9285 140c 0723 movs r3, #7 9286 140e FB73 strb r3, [r7, #15] 2017:user_src/soft_p_2_c.c **** break; 9287 .loc 1 2017 21 9288 1410 07F10803 add r3, r7, #8 9289 1414 294A ldr r2, .L443+28 9290 1416 0821 movs r1, #8 9291 1418 1846 mov r0, r3 9292 141a FFF7FEFF bl can_send_msg_normal ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 230 2018:user_src/soft_p_2_c.c **** case 5: 9293 .loc 1 2018 21 9294 141e 1EE0 b .L260 9295 .L395: 2020:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 9296 .loc 1 2020 32 9297 1420 0E23 movs r3, #14 9298 1422 3B72 strb r3, [r7, #8] 9299 1424 BB88 ldrh r3, [r7, #4] 2021:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9300 .loc 1 2021 21 9301 1426 A7F80930 strh r3, [r7, #9] @ unaligned 2022:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XB81300); 9302 .loc 1 2022 32 9303 142a 0723 movs r3, #7 9304 142c FB73 strb r3, [r7, #15] 2023:user_src/soft_p_2_c.c **** break; 9305 .loc 1 2023 21 9306 142e 07F10803 add r3, r7, #8 9307 1432 224A ldr r2, .L443+28 9308 1434 0821 movs r1, #8 9309 1436 1846 mov r0, r3 9310 1438 FFF7FEFF bl can_send_msg_normal 2024:user_src/soft_p_2_c.c **** case 6: 9311 .loc 1 2024 21 9312 143c 0FE0 b .L260 9313 .L393: 2026:user_src/soft_p_2_c.c **** memcpy(&can_buf[1],&radar_msg,2); 9314 .loc 1 2026 32 9315 143e 0A23 movs r3, #10 9316 1440 3B72 strb r3, [r7, #8] 9317 1442 BB88 ldrh r3, [r7, #4] 2027:user_src/soft_p_2_c.c **** can_buf[7] = 7; 9318 .loc 1 2027 21 9319 1444 A7F80930 strh r3, [r7, #9] @ unaligned 2028:user_src/soft_p_2_c.c **** can_send_msg_normal(can_buf,8,0XB81300); 9320 .loc 1 2028 32 9321 1448 0723 movs r3, #7 9322 144a FB73 strb r3, [r7, #15] 2029:user_src/soft_p_2_c.c **** break; 9323 .loc 1 2029 21 9324 144c 07F10803 add r3, r7, #8 9325 1450 1A4A ldr r2, .L443+28 9326 1452 0821 movs r1, #8 9327 1454 1846 mov r0, r3 9328 1456 FFF7FEFF bl can_send_msg_normal 2030:user_src/soft_p_2_c.c **** default: 9329 .loc 1 2030 21 9330 145a 00E0 b .L260 9331 .L429: 2032:user_src/soft_p_2_c.c **** } 9332 .loc 1 2032 21 9333 145c 00BF nop 9334 .L260: 9335 .LBE174: 2036:user_src/soft_p_2_c.c **** break; 9336 .loc 1 2036 28 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 231 9337 145e 1A4B ldr r3, .L443+40 9338 1460 0122 movs r2, #1 9339 1462 1A70 strb r2, [r3] 2037:user_src/soft_p_2_c.c **** case _MSGID_SHA1: 9340 .loc 1 2037 13 9341 1464 8DE0 b .L282 9342 .L262: 2040:user_src/soft_p_2_c.c **** { 9343 .loc 1 2040 36 9344 1466 174B ldr r3, .L443+36 9345 1468 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 2040:user_src/soft_p_2_c.c **** { 9346 .loc 1 2040 15 9347 146a 012B cmp r3, #1 9348 146c 40F08880 bne .L430 2043:user_src/soft_p_2_c.c **** { 9349 .loc 1 2043 40 9350 1470 144B ldr r3, .L443+36 9351 1472 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2043:user_src/soft_p_2_c.c **** { 9352 .loc 1 2043 19 9353 1474 022B cmp r3, #2 9354 1476 2FD1 bne .L402 2043:user_src/soft_p_2_c.c **** { 9355 .loc 1 2043 72 discriminator 1 9356 1478 124B ldr r3, .L443+36 9357 147a 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 2043:user_src/soft_p_2_c.c **** { 9358 .loc 1 2043 49 discriminator 1 9359 147c 012B cmp r3, #1 9360 147e 2BD1 bne .L402 2045:user_src/soft_p_2_c.c **** { 9361 .loc 1 2045 33 9362 1480 124B ldr r3, .L443+44 9363 1482 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 2045:user_src/soft_p_2_c.c **** { 9364 .loc 1 2045 23 9365 1484 002B cmp r3, #0 9366 1486 3FD0 beq .L401 2047:user_src/soft_p_2_c.c **** start_msg.key_to_bms = true;//给电池发送秘钥 9367 .loc 1 2047 25 9368 1488 1422 movs r2, #20 9369 148a 1149 ldr r1, .L443+48 9370 148c 1148 ldr r0, .L443+52 9371 148e FFF7FEFF bl memcpy 2048:user_src/soft_p_2_c.c **** start_msg.key_info_checking = false; 9372 .loc 1 2048 46 9373 1492 0E4B ldr r3, .L443+44 9374 1494 0122 movs r2, #1 9375 1496 9A70 strb r2, [r3, #2] 2049:user_src/soft_p_2_c.c **** } 9376 .loc 1 2049 53 9377 1498 0C4B ldr r3, .L443+44 9378 149a 0022 movs r2, #0 9379 149c 5A70 strb r2, [r3, #1] 2045:user_src/soft_p_2_c.c **** { 9380 .loc 1 2045 23 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 232 9381 149e 33E0 b .L401 9382 .L444: 9383 .align 2 9384 .L443: 9385 14a0 00000000 .word msgidset 9386 14a4 00139800 .word 9966336 9387 14a8 00000000 .word DM_ter_info 9388 14ac 00000000 .word dev_ter 9389 14b0 0013A800 .word 11014912 9390 14b4 00000000 .word DM_f_info 9391 14b8 00000000 .word dev_obsf 9392 14bc 0013B800 .word 12063488 9393 14c0 00000000 .word dev_obsb 9394 14c4 00000000 .word fcu_protocol 9395 14c8 00000000 .word pmu_heart_flag 9396 14cc 00000000 .word start_msg 9397 14d0 13000000 .word fcu_protocol+19 9398 14d4 07000000 .word start_msg+7 9399 .L402: 2053:user_src/soft_p_2_c.c **** { 9400 .loc 1 2053 45 9401 14d8 304B ldr r3, .L445 9402 14da 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2053:user_src/soft_p_2_c.c **** { 9403 .loc 1 2053 24 9404 14dc 022B cmp r3, #2 9405 14de 07D1 bne .L404 2053:user_src/soft_p_2_c.c **** { 9406 .loc 1 2053 77 discriminator 1 9407 14e0 2E4B ldr r3, .L445 9408 14e2 9B7C ldrb r3, [r3, #18] @ zero_extendqisi2 2053:user_src/soft_p_2_c.c **** { 9409 .loc 1 2053 54 discriminator 1 9410 14e4 022B cmp r3, #2 9411 14e6 03D1 bne .L404 2055:user_src/soft_p_2_c.c **** } 9412 .loc 1 2055 49 9413 14e8 2D4B ldr r3, .L445+4 9414 14ea 0022 movs r2, #0 9415 14ec 5A70 strb r2, [r3, #1] 9416 14ee 0BE0 b .L401 9417 .L404: 2058:user_src/soft_p_2_c.c **** { 9418 .loc 1 2058 45 9419 14f0 2A4B ldr r3, .L445 9420 14f2 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2058:user_src/soft_p_2_c.c **** { 9421 .loc 1 2058 24 9422 14f4 032B cmp r3, #3 9423 14f6 03D0 beq .L405 2058:user_src/soft_p_2_c.c **** { 9424 .loc 1 2058 77 discriminator 1 9425 14f8 284B ldr r3, .L445 9426 14fa 5B7C ldrb r3, [r3, #17] @ zero_extendqisi2 2058:user_src/soft_p_2_c.c **** { 9427 .loc 1 2058 54 discriminator 1 9428 14fc 042B cmp r3, #4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 233 9429 14fe 3FD1 bne .L430 9430 .L405: 2060:user_src/soft_p_2_c.c **** } 9431 .loc 1 2060 49 9432 1500 274B ldr r3, .L445+4 9433 1502 0022 movs r2, #0 9434 1504 5A70 strb r2, [r3, #1] 2063:user_src/soft_p_2_c.c **** //升级固件标志 9435 .loc 1 2063 13 9436 1506 3BE0 b .L430 9437 .L401: 2063:user_src/soft_p_2_c.c **** //升级固件标志 9438 .loc 1 2063 13 is_stmt 0 discriminator 14 9439 1508 3AE0 b .L430 9440 .L272: 9441 .LBB175: 9442 .LBB176: 9443 .LBB177: 142:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9444 .loc 2 142 3 is_stmt 1 discriminator 16 9445 .syntax unified 9446 @ 142 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9447 150a 72B6 cpsid i 9448 @ 0 "" 2 143:Drivers/CMSIS/Include/cmsis_gcc.h **** 9449 .loc 2 143 1 discriminator 16 9450 .thumb 9451 .syntax unified 9452 150c 00BF nop 9453 .LBE177: 9454 .LBE176: 2068:user_src/soft_p_2_c.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR); 9455 .loc 1 2068 13 discriminator 16 9456 150e FFF7FEFF bl HAL_FLASH_Unlock 2069:user_src/soft_p_2_c.c **** 9457 .loc 1 2069 13 discriminator 16 9458 1512 244B ldr r3, .L445+8 9459 1514 3422 movs r2, #52 9460 1516 DA60 str r2, [r3, #12] 2071:user_src/soft_p_2_c.c **** f.PageAddress = UPDATE_FLAG; 9461 .loc 1 2071 25 discriminator 16 9462 1518 0023 movs r3, #0 9463 151a C7F89030 str r3, [r7, #144] 2072:user_src/soft_p_2_c.c **** f.NbPages = 1; 9464 .loc 1 2072 27 discriminator 16 9465 151e 224B ldr r3, .L445+12 9466 1520 C7F89430 str r3, [r7, #148] 2073:user_src/soft_p_2_c.c **** uint32_t PageError = 0; 9467 .loc 1 2073 23 discriminator 16 9468 1524 0123 movs r3, #1 9469 1526 C7F89830 str r3, [r7, #152] 2074:user_src/soft_p_2_c.c **** HAL_FLASHEx_Erase(&f, &PageError); 9470 .loc 1 2074 22 discriminator 16 9471 152a 0023 movs r3, #0 9472 152c 3B60 str r3, [r7] 2075:user_src/soft_p_2_c.c **** 9473 .loc 1 2075 13 discriminator 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 234 9474 152e 3A46 mov r2, r7 9475 1530 07F19003 add r3, r7, #144 9476 1534 1146 mov r1, r2 9477 1536 1846 mov r0, r3 9478 1538 FFF7FEFF bl HAL_FLASHEx_Erase 2077:user_src/soft_p_2_c.c **** HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, UPDATE_FLAG, TempBuf); 9479 .loc 1 2077 22 discriminator 16 9480 153c 4AF6CD33 movw r3, #43981 9481 1540 A7F8A630 strh r3, [r7, #166] @ movhi 2078:user_src/soft_p_2_c.c **** 9482 .loc 1 2078 13 discriminator 16 9483 1544 B7F8A630 ldrh r3, [r7, #166] 9484 1548 0022 movs r2, #0 9485 154a 1C46 mov r4, r3 9486 154c 1546 mov r5, r2 9487 154e 2246 mov r2, r4 9488 1550 2B46 mov r3, r5 9489 1552 1549 ldr r1, .L445+12 9490 1554 0120 movs r0, #1 9491 1556 FFF7FEFF bl HAL_FLASH_Program 2080:user_src/soft_p_2_c.c **** __enable_irq(); 9492 .loc 1 2080 13 discriminator 16 9493 155a FFF7FEFF bl HAL_FLASH_Lock 9494 .LBB178: 9495 .LBB179: 131:Drivers/CMSIS/Include/cmsis_gcc.h **** } 9496 .loc 2 131 3 discriminator 16 9497 .syntax unified 9498 @ 131 "Drivers/CMSIS/Include/cmsis_gcc.h" 1 9499 155e 62B6 cpsie i 9500 @ 0 "" 2 132:Drivers/CMSIS/Include/cmsis_gcc.h **** 9501 .loc 2 132 1 discriminator 16 9502 .thumb 9503 .syntax unified 9504 1560 00BF nop 9505 .LBE179: 9506 .LBE178: 2083:user_src/soft_p_2_c.c **** HAL_Delay(100); 9507 .loc 1 2083 13 discriminator 16 9508 1562 2620 movs r0, #38 9509 1564 FFF7FEFF bl HAL_NVIC_DisableIRQ 2084:user_src/soft_p_2_c.c **** 9510 .loc 1 2084 13 discriminator 16 9511 1568 6420 movs r0, #100 9512 156a FFF7FEFF bl HAL_Delay 2087:user_src/soft_p_2_c.c **** } 9513 .loc 1 2087 13 discriminator 16 9514 156e FFF7FEFF bl HAL_NVIC_SystemReset 9515 .LBE175: 2089:user_src/soft_p_2_c.c **** default: 9516 .loc 1 2089 13 discriminator 16 9517 1572 06E0 b .L282 9518 .L407: 9519 .loc 1 2091 13 9520 1574 00BF nop 9521 1576 04E0 b .L282 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 235 9522 .L408: 1466:user_src/soft_p_2_c.c **** case _MSGID_LED: 9523 .loc 1 1466 13 9524 1578 00BF nop 9525 157a 02E0 b .L282 9526 .L409: 1485:user_src/soft_p_2_c.c **** case _MSGID_TIME: 9527 .loc 1 1485 13 9528 157c 00BF nop 9529 157e 00E0 b .L282 9530 .L430: 2063:user_src/soft_p_2_c.c **** //升级固件标志 9531 .loc 1 2063 13 9532 1580 00BF nop 9533 .L282: 2092:user_src/soft_p_2_c.c **** } 2093:user_src/soft_p_2_c.c **** 2094:user_src/soft_p_2_c.c **** uart_info.fcu_buf_flag = false; 9534 .loc 1 2094 32 discriminator 15 9535 1582 0A4B ldr r3, .L445+16 9536 1584 0022 movs r2, #0 9537 1586 1A70 strb r2, [r3] 2095:user_src/soft_p_2_c.c **** memset(fcu_protocol.payload, 0, 256); 9538 .loc 1 2095 9 discriminator 15 9539 1588 4FF48072 mov r2, #256 9540 158c 0021 movs r1, #0 9541 158e 0848 ldr r0, .L445+20 9542 1590 FFF7FEFF bl memset 9543 .L406: 9544 .LBE152: 2096:user_src/soft_p_2_c.c **** } 2097:user_src/soft_p_2_c.c **** } 9545 .loc 1 2097 1 9546 1594 00BF nop 9547 1596 C037 adds r7, r7, #192 9548 .LCFI116: 9549 .cfi_def_cfa_offset 16 9550 1598 BD46 mov sp, r7 9551 .LCFI117: 9552 .cfi_def_cfa_register 13 9553 @ sp needed 9554 159a B0BD pop {r4, r5, r7, pc} 9555 .L446: 9556 .align 2 9557 .L445: 9558 159c 00000000 .word fcu_protocol 9559 15a0 00000000 .word start_msg 9560 15a4 00200240 .word 1073881088 9561 15a8 00600008 .word 134242304 9562 15ac 00000000 .word uart_info 9563 15b0 0A000000 .word fcu_protocol+10 9564 .cfi_endproc 9565 .LFE156: 9567 .global start_msg 9568 .section .data.start_msg,"aw" 9569 .align 2 9572 start_msg: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 236 9573 0000 00 .space 1 9574 0001 01 .byte 1 9575 0002 0000 .space 2 9576 0004 01 .byte 1 9577 0005 01 .byte 1 9578 0006 00000000 .space 21 9578 00000000 9578 00000000 9578 00000000 9578 00000000 9579 .section .text.pmu_start_info,"ax",%progbits 9580 .align 1 9581 .global pmu_start_info 9582 .syntax unified 9583 .thumb 9584 .thumb_func 9586 pmu_start_info: 9587 .LFB157: 2098:user_src/soft_p_2_c.c **** 2099:user_src/soft_p_2_c.c **** /******************void pmu_start_info()******************* 2100:user_src/soft_p_2_c.c **** * ****************上电时PMU发送的信息******************************* 2101:user_src/soft_p_2_c.c **** * ****************************************************************/ 2102:user_src/soft_p_2_c.c **** Start_info start_msg = {.key_info_checking = true, 2103:user_src/soft_p_2_c.c **** .Dev_type = 1, 2104:user_src/soft_p_2_c.c **** .Id = 1, 2105:user_src/soft_p_2_c.c **** }; 2106:user_src/soft_p_2_c.c **** void pmu_start_info() 2107:user_src/soft_p_2_c.c **** { 9588 .loc 1 2107 1 9589 .cfi_startproc 9590 @ args = 0, pretend = 0, frame = 0 9591 @ frame_needed = 1, uses_anonymous_args = 0 9592 0000 80B5 push {r7, lr} 9593 .LCFI118: 9594 .cfi_def_cfa_offset 8 9595 .cfi_offset 7, -8 9596 .cfi_offset 14, -4 9597 0002 00AF add r7, sp, #0 9598 .LCFI119: 9599 .cfi_def_cfa_register 7 2108:user_src/soft_p_2_c.c **** static uint32_t circu_time_2hz = 0; 2109:user_src/soft_p_2_c.c **** 2110:user_src/soft_p_2_c.c **** if(Check_Timer_Ready(&circu_time_2hz,_2_HZ_)) 9600 .loc 1 2110 8 9601 0004 4FF4FA71 mov r1, #500 9602 0008 1348 ldr r0, .L451 9603 000a FFF7FEFF bl Check_Timer_Ready 9604 000e 0346 mov r3, r0 9605 .loc 1 2110 7 9606 0010 002B cmp r3, #0 9607 0012 1FD0 beq .L450 2111:user_src/soft_p_2_c.c **** { 2112:user_src/soft_p_2_c.c **** if(HAL_GetTick() > 10000 && start_msg.version_info == false) 9608 .loc 1 2112 12 9609 0014 FFF7FEFF bl HAL_GetTick 9610 0018 0346 mov r3, r0 9611 .loc 1 2112 11 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 237 9612 001a 42F21072 movw r2, #10000 9613 001e 9342 cmp r3, r2 9614 0020 0DD9 bls .L449 9615 .loc 1 2112 46 discriminator 1 9616 0022 0E4B ldr r3, .L451+4 9617 0024 1B78 ldrb r3, [r3] @ zero_extendqisi2 9618 .loc 1 2112 60 discriminator 1 9619 0026 83F00103 eor r3, r3, #1 9620 002a DBB2 uxtb r3, r3 9621 .loc 1 2112 34 discriminator 1 9622 002c 002B cmp r3, #0 9623 002e 06D0 beq .L449 2113:user_src/soft_p_2_c.c **** { 2114:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_VERSION; 9624 .loc 1 2114 22 9625 0030 0B4B ldr r3, .L451+8 9626 0032 0422 movs r2, #4 9627 0034 1A70 strb r2, [r3] 2115:user_src/soft_p_2_c.c **** start_msg.version_info = true; 9628 .loc 1 2115 36 9629 0036 094B ldr r3, .L451+4 9630 0038 0122 movs r2, #1 9631 003a 1A70 strb r2, [r3] 2116:user_src/soft_p_2_c.c **** } 2117:user_src/soft_p_2_c.c **** else if (start_msg.key_info_checking == true && Device1.Vkbms_Link.connect_status == COMP_N 2118:user_src/soft_p_2_c.c **** { 2119:user_src/soft_p_2_c.c **** pmu_send = PMU_SEND_SHA1; 2120:user_src/soft_p_2_c.c **** } 2121:user_src/soft_p_2_c.c **** } 2122:user_src/soft_p_2_c.c **** } 9632 .loc 1 2122 1 9633 003c 0AE0 b .L450 9634 .L449: 2117:user_src/soft_p_2_c.c **** { 9635 .loc 1 2117 27 9636 003e 074B ldr r3, .L451+4 9637 0040 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2 2117:user_src/soft_p_2_c.c **** { 9638 .loc 1 2117 17 9639 0042 002B cmp r3, #0 9640 0044 06D0 beq .L450 2117:user_src/soft_p_2_c.c **** { 9641 .loc 1 2117 75 discriminator 1 9642 0046 074B ldr r3, .L451+12 9643 0048 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2 2117:user_src/soft_p_2_c.c **** { 9644 .loc 1 2117 54 discriminator 1 9645 004a 012B cmp r3, #1 9646 004c 02D1 bne .L450 2119:user_src/soft_p_2_c.c **** } 9647 .loc 1 2119 22 9648 004e 044B ldr r3, .L451+8 9649 0050 0522 movs r2, #5 9650 0052 1A70 strb r2, [r3] 9651 .L450: 9652 .loc 1 2122 1 9653 0054 00BF nop ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 238 9654 0056 80BD pop {r7, pc} 9655 .L452: 9656 .align 2 9657 .L451: 9658 0058 00000000 .word circu_time_2hz.0 9659 005c 00000000 .word start_msg 9660 0060 00000000 .word pmu_send 9661 0064 00000000 .word Device1 9662 .cfi_endproc 9663 .LFE157: 9665 .section .bss.circu_time_2hz.0,"aw",%nobits 9666 .align 2 9669 circu_time_2hz.0: 9670 0000 00000000 .space 4 9671 .text 9672 .Letext0: 9673 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 9674 .file 4 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 9675 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 9676 .file 6 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 9677 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 9678 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h" 9679 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 9680 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_flash_ex.h" 9681 .file 11 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_tim.h" 9682 .file 12 "user_inc/soft_can.h" 9683 .file 13 "Core/Inc/tim.h" 9684 .file 14 "user_inc/common.h" 9685 .file 15 "user_inc/soft_p_2_c.h" 9686 .file 16 "user_inc/rkfifo.h" 9687 .file 17 "user_inc/soft_uart.h" 9688 .file 18 "user_inc/soft_timer.h" 9689 .file 19 "user_inc/soft_flow.h" 9690 .file 20 "user_inc/soft_bms.h" 9691 .file 21 "user_inc/soft_terrain.h" 9692 .file 22 "user_inc/soft_obstacle.h" 9693 .file 23 "user_inc/soft_okcell.h" 9694 .file 24 "user_inc/soft_flash.h" 9695 .file 25 "user_inc/soft_engine.h" 9696 .file 26 "user_inc/soft_eft.h" 9697 .file 27 "user_inc/soft_water_device.h" 9698 .file 28 "user_inc/soft_seed_device.h" 9699 .file 29 "user_inc/soft_test.h" 9700 .file 30 "user_inc/soft_version.h" 9701 .file 31 "user_inc/soft_update.h" 9702 .file 32 "user_inc/qingxie_bms.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 239 DEFINED SYMBOLS *ABS*:00000000 soft_p_2_c.c C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:24 .bss.msg_buf:00000000 msg_buf C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:21 .bss.msg_buf:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:31 .bss.crc:00000000 crc C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:28 .bss.crc:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:38 .bss.pmu:00000000 pmu C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:35 .bss.pmu:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:45 .bss.planep:00000000 planep C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:42 .bss.planep:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:48 .text.Update_ack_func:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:54 .text.Update_ack_func:00000000 Update_ack_func C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:210 .text.Update_ack_func:000000d0 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:215 .text.pmu_set_ack:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:221 .text.pmu_set_ack:00000000 pmu_set_ack C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:289 .text.pmu_set_ack:00000048 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5278 .data.pmu_send:00000000 pmu_send C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5072 .bss.ack_id:00000000 ack_id C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5079 .bss.ack_content:00000000 ack_content C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5086 .bss.ack_content1:00000000 ack_content1 C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5093 .bss.ack_content2:00000000 ack_content2 C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:298 .text.pmu_to_con_voltage_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:304 .text.pmu_to_con_voltage_data:00000000 pmu_to_con_voltage_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:518 .text.pmu_to_con_voltage_data:00000140 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:526 .text.get_radar_info:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:532 .text.get_radar_info:00000000 get_radar_info C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:777 .text.get_radar_info:0000013c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:789 .text.pmu_to_con_radar_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:795 .text.pmu_to_con_radar_data:00000000 pmu_to_con_radar_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1018 .text.pmu_to_con_radar_data:0000014c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1028 .text.pmu_to_con_barttery_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1034 .text.pmu_to_con_barttery_data:00000000 pmu_to_con_barttery_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1355 .text.pmu_to_con_barttery_data:000001d4 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1368 .text.pmu_to_con_engine_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1374 .text.pmu_to_con_engine_data:00000000 pmu_to_con_engine_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1531 .text.pmu_to_con_engine_data:000000d4 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1539 .text.calculate_packages:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1545 .text.calculate_packages:00000000 calculate_packages C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1608 .text.pmu_to_con_DMradar_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1614 .text.pmu_to_con_DMradar_data:00000000 pmu_to_con_DMradar_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1816 .text.pmu_to_con_DMradar_data:00000118 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1827 .text.pmu_to_con_DM4DFradar_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:1833 .text.pmu_to_con_DM4DFradar_data:00000000 pmu_to_con_DM4DFradar_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2149 .text.pmu_to_con_DM4DFradar_data:000001d4 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2160 .text.pmu_to_con_DM4DBradar_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2166 .text.pmu_to_con_DM4DBradar_data:00000000 pmu_to_con_DM4DBradar_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2482 .text.pmu_to_con_DM4DBradar_data:000001d4 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2493 .text.pmu_to_con_DM4DBradar_msg:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2499 .text.pmu_to_con_DM4DBradar_msg:00000000 pmu_to_con_DM4DBradar_msg C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2685 .text.pmu_to_con_DM4DBradar_msg:00000104 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2692 .text.pmu_to_con_heart_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2698 .text.pmu_to_con_heart_data:00000000 pmu_to_con_heart_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2889 .text.pmu_to_con_heart_data:00000108 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2899 .text.pmu_to_con_devtype_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:2905 .text.pmu_to_con_devtype_data:00000000 pmu_to_con_devtype_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:3341 .text.pmu_to_con_devtype_data:0000027c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:3355 .text.pmu_to_con_devtype_data:000002ac $t ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 240 C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:3754 .text.pmu_to_con_devtype_data:00000500 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:3769 .rodata:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:3779 .text.radar_version_check:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:3785 .text.radar_version_check:00000000 radar_version_check C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4105 .text.radar_version_check:000001ac $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4135 .bss.radar_version:00000000 radar_version C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4132 .bss.radar_version:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4138 .text.pmu_to_con_version_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4144 .text.pmu_to_con_version_data:00000000 pmu_to_con_version_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4481 .text.pmu_to_con_version_data:000001fc $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4492 .text.pmu_to_fcu_version_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4498 .text.pmu_to_fcu_version_data:00000000 pmu_to_fcu_version_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4691 .text.pmu_to_fcu_version_data:000000fc $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4699 .text.pmu_to_fcu_key_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4705 .text.pmu_to_fcu_key_data:00000000 pmu_to_fcu_key_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4875 .text.pmu_to_fcu_key_data:000000e8 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9572 .data.start_msg:00000000 start_msg C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4886 .bss.request_id:00000000 request_id C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4887 .bss.request_id:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4893 .bss.request_1_content:00000000 request_1_content C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4890 .bss.request_1_content:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4900 .bss.request_2_content:00000000 request_2_content C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4897 .bss.request_2_content:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4903 .text.pmu_to_con_request_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:4909 .text.pmu_to_con_request_data:00000000 pmu_to_con_request_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5060 .text.pmu_to_con_request_data:000000cc $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5073 .bss.ack_id:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5076 .bss.ack_content:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5083 .bss.ack_content1:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5090 .bss.ack_content2:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5096 .text.pmu_to_con_ack_data:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5102 .text.pmu_to_con_ack_data:00000000 pmu_to_con_ack_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5265 .text.pmu_to_con_ack_data:000000dc $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5285 .bss.utc_time:00000000 utc_time C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5282 .bss.utc_time:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5288 .text.pmu_to_fcu:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5294 .text.pmu_to_fcu:00000000 pmu_to_fcu C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5345 .text.pmu_to_fcu:00000048 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5351 .text.pmu_to_fcu:00000060 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5540 .text.pmu_to_fcu:00000154 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5557 .text.Check_Rst:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:5563 .text.Check_Rst:00000000 Check_Rst C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6205 .text.Check_Rst:0000035c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6210 .text.Check_Rst:0000036c $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6273 .text.Check_Rst:000003c0 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6280 .bss.fmu_link_time:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6283 .bss.fmu_link_time:00000000 fmu_link_time C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6286 .text.check_fmu_link:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6292 .text.check_fmu_link:00000000 check_fmu_link C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6376 .text.check_fmu_link:00000070 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6395 .bss.recv_fmu_data:00000000 recv_fmu_data C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6389 .bss.pmu_pin:00000000 pmu_pin C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6386 .bss.pmu_pin:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6396 .bss.recv_fmu_data:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6402 .bss.msgidset:00000000 msgidset C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6399 .bss.msgidset:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6409 .bss.DMJZ:00000000 DMJZ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 241 C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6406 .bss.DMJZ:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6412 .text.uart_recv_con_msg:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6418 .text.uart_recv_con_msg:00000000 uart_recv_con_msg C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6477 .text.uart_recv_con_msg:0000004c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6500 .text.uart_recv_con_msg:000000a8 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6830 .text.uart_recv_con_msg:000002d0 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:6856 .text.uart_recv_con_msg:00000330 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7022 .text.uart_recv_con_msg:00000430 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7126 .text.uart_recv_con_msg:000005d0 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7192 .text.uart_recv_con_msg:0000063c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7205 .text.uart_recv_con_msg:00000668 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7609 .text.uart_recv_con_msg:0000091c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7621 .text.uart_recv_con_msg:00000944 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7630 .text.uart_recv_con_msg:00000954 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7634 .text.uart_recv_con_msg:00000964 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:7995 .text.uart_recv_con_msg:00000b84 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:8013 .text.uart_recv_con_msg:00000bc4 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:8447 .text.uart_recv_con_msg:00000e80 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:8465 .text.uart_recv_con_msg:00000ebc $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:8880 .text.uart_recv_con_msg:00001184 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:8895 .text.uart_recv_con_msg:000011b4 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9216 .text.uart_recv_con_msg:00001390 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9222 .text.uart_recv_con_msg:000013a8 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9385 .text.uart_recv_con_msg:000014a0 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9401 .text.uart_recv_con_msg:000014d8 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9558 .text.uart_recv_con_msg:0000159c $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9569 .data.start_msg:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9580 .text.pmu_start_info:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9586 .text.pmu_start_info:00000000 pmu_start_info C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9658 .text.pmu_start_info:00000058 $d C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9669 .bss.circu_time_2hz.0:00000000 circu_time_2hz.0 C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s:9666 .bss.circu_time_2hz.0:00000000 $d UNDEFINED SYMBOLS Get_Crc16 uart2_send_msg ADC_gather ADC_read_temptrue current_pmu_par mimo_ter_info DM_ter_info uavr56_info uavr11_info mimo_f_info DM_f_info uavr12_info mimo_b_info check_radar_link_status memcpy terrain_is_link obs_f_is_link obs_b_is_link Dev bms_data bms_data2 group_num engine_link_status ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 242 engine_data DM_status DM_recv_flag FMU_DM_info DM_T_info DM4d_recv_flag FMU_4D_info DM_F4d DM4dB_recv_flag DM_B4d DM_4DRADARMAG HAL_GetTick _Aqx_bms_link devinfo_time dev_ptr dev_num Can_send_debug_to_app uart_info EZup_par Rupdate vol_flag engine_flag DM_radar_flag can_debug_flag dev_version_flag devtype_flag pmu_heart_flag F4d_send_flag DM4Dmsg_send_fmu flash_pmu_par write_flash_flag check_uart_data memset HAL_GPIO_WritePin led_set_blink covUnixTimeStp2Beijing recv_rkfifo fcu_protocol set_HWesc_ESCid setESCidInfo htim2 htim3 distributor htim4 beijing_time recv_fmu_seed_info tppwm_value sow_rotate_value radar_update_flag obsfradar_sensitivity put_date_to_can can_send_msg_normal obsbradar_sensitivity geely_engin_link geely_data sendto_geely start_engine ARM GAS C:\Users\zl835\AppData\Local\Temp\ccdPSoZD.s page 243 geely_set_tcd geely_set_tlock geely_set_protect flow_mimo1 flow_inf Int2String can_send_msg_normalstd flow_mimo2 weight_order seed_output_mode weight_factory_cal_flag dev_pmu dev_obsf dev_obsb dev_ter HAL_FLASH_Unlock HAL_FLASHEx_Erase HAL_FLASH_Program HAL_FLASH_Lock HAL_NVIC_DisableIRQ HAL_Delay HAL_NVIC_SystemReset Check_Timer_Ready Device1