ARM GAS /tmp/ccpzG7eY.s page 1 1 .cpu cortex-m4 2 .eabi_attribute 27, 1 3 .eabi_attribute 28, 1 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 2 11 .eabi_attribute 34, 1 12 .eabi_attribute 18, 4 13 .file "stm32g4xx_hal_i2c.c" 14 .text 15 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .arch armv7e-m 19 .syntax unified 20 .thumb 21 .thumb_func 22 .fpu fpv4-sp-d16 24 I2C_WaitOnRXNEFlagUntilTimeout: 25 @ args = 0, pretend = 0, frame = 0 26 @ frame_needed = 0, uses_anonymous_args = 0 27 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 28 0004 8246 mov r10, r0 29 0006 0E46 mov r6, r1 30 0008 1746 mov r7, r2 31 000a 4FF02008 mov r8, #32 32 .L2: 33 000e DAF80030 ldr r3, [r10] 34 0012 9D69 ldr r5, [r3, #24] 35 0014 15F00405 ands r5, r5, #4 36 0018 40F0C680 bne .L32 37 001c 9A69 ldr r2, [r3, #24] 38 001e 12F01002 ands r2, r2, #16 39 0022 51D0 beq .L35 40 0024 1022 movs r2, #16 41 0026 DA61 str r2, [r3, #28] 42 0028 B946 mov r9, r7 43 .L4: 44 002a 741C adds r4, r6, #1 45 002c 9A69 ldr r2, [r3, #24] 46 002e 51D1 bne .L12 47 0030 9006 lsls r0, r2, #26 48 0032 00F1B080 bmi .L13 49 0036 002D cmp r5, #0 50 0038 40F0B080 bne .L37 51 .L14: 52 003c 9C69 ldr r4, [r3, #24] 53 003e A106 lsls r1, r4, #26 54 0040 FCD5 bpl .L14 55 .L15: 56 0042 C3F81C80 str r8, [r3, #28] 57 0046 0D20 movs r0, #13 58 0048 0724 movs r4, #7 ARM GAS /tmp/ccpzG7eY.s page 2 59 004a 4FF0050C mov ip, #5 60 004e 0422 movs r2, #4 61 0050 0125 movs r5, #1 62 .L3: 63 0052 9969 ldr r1, [r3, #24] 64 0054 11F4807F tst r1, #256 65 0058 27D0 beq .L17 66 005a 4FF48072 mov r2, #256 67 005e 4E05 lsls r6, r1, #21 68 0060 DA61 str r2, [r3, #28] 69 0062 26D4 bmi .L18 70 0064 8D05 lsls r5, r1, #22 71 0066 79D4 bmi .L38 72 0068 6046 mov r0, ip 73 .L20: 74 006a 9A69 ldr r2, [r3, #24] 75 006c 9507 lsls r5, r2, #30 76 006e 44BF itt mi 77 0070 0022 movmi r2, #0 78 0072 9A62 strmi r2, [r3, #40] 79 0074 9A69 ldr r2, [r3, #24] 80 0076 D407 lsls r4, r2, #31 81 0078 03D4 bmi .L25 82 007a 9A69 ldr r2, [r3, #24] 83 007c 42F00102 orr r2, r2, #1 84 0080 9A61 str r2, [r3, #24] 85 .L25: 86 0082 5A68 ldr r2, [r3, #4] 87 0084 5C4C ldr r4, .L70 88 0086 2240 ands r2, r2, r4 89 0088 5A60 str r2, [r3, #4] 90 008a DAF84430 ldr r3, [r10, #68] 91 008e 0021 movs r1, #0 92 0090 0343 orrs r3, r3, r0 93 0092 2022 movs r2, #32 94 0094 CAF84430 str r3, [r10, #68] 95 0098 8AF84010 strb r1, [r10, #64] 96 009c 8AF84120 strb r2, [r10, #65] 97 00a0 8AF84210 strb r1, [r10, #66] 98 00a4 0120 movs r0, #1 99 00a6 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 100 .L17: 101 00aa 4805 lsls r0, r1, #21 102 00ac 51D5 bpl .L21 103 00ae 42F00800 orr r0, r2, #8 104 .L18: 105 00b2 4FF48062 mov r2, #1024 106 00b6 8C05 lsls r4, r1, #22 107 00b8 DA61 str r2, [r3, #28] 108 00ba D6D5 bpl .L20 109 00bc 40F00200 orr r0, r0, #2 110 .L19: 111 00c0 4FF40072 mov r2, #512 112 00c4 DA61 str r2, [r3, #28] 113 00c6 D0E7 b .L20 114 .L35: 115 00c8 0920 movs r0, #9 ARM GAS /tmp/ccpzG7eY.s page 3 116 00ca 0324 movs r4, #3 117 00cc 4FF0010C mov ip, #1 118 00d0 1546 mov r5, r2 119 00d2 BEE7 b .L3 120 .L12: 121 00d4 9206 lsls r2, r2, #26 122 00d6 5ED4 bmi .L13 123 00d8 002D cmp r5, #0 124 00da 5FD1 bne .L37 125 00dc FFF7FEFF bl HAL_GetTick 126 00e0 A0EB0900 sub r0, r0, r9 127 00e4 8642 cmp r6, r0 128 00e6 DAF80030 ldr r3, [r10] 129 00ea 01D3 bcc .L5 130 00ec 002E cmp r6, #0 131 00ee 9CD1 bne .L4 132 .L5: 133 00f0 5868 ldr r0, [r3, #4] 134 00f2 9AF84220 ldrb r2, [r10, #66] @ zero_extendqisi2 135 00f6 9969 ldr r1, [r3, #24] 136 00f8 0C04 lsls r4, r1, #16 137 00fa D2B2 uxtb r2, r2 138 00fc 0FD5 bpl .L9 139 00fe 4104 lsls r1, r0, #17 140 0100 0DD4 bmi .L9 141 0102 202A cmp r2, #32 142 0104 0BD0 beq .L9 143 0106 5A68 ldr r2, [r3, #4] 144 0108 42F48042 orr r2, r2, #16384 145 010c 5A60 str r2, [r3, #4] 146 010e FFF7FEFF bl HAL_GetTick 147 0112 DAF80030 ldr r3, [r10] 148 0116 8146 mov r9, r0 149 0118 01E0 b .L9 150 .L67: 151 011a DAF80030 ldr r3, [r10] 152 .L9: 153 011e 9C69 ldr r4, [r3, #24] 154 0120 14F02004 ands r4, r4, #32 155 0124 81D1 bne .L4 156 0126 FFF7FEFF bl HAL_GetTick 157 012a A0EB0900 sub r0, r0, r9 158 012e 1928 cmp r0, #25 159 0130 F3D9 bls .L67 160 0132 DAF84430 ldr r3, [r10, #68] 161 0136 8AF84040 strb r4, [r10, #64] 162 013a 43F02003 orr r3, r3, #32 163 013e CAF84430 str r3, [r10, #68] 164 0142 0125 movs r5, #1 165 0144 8AF84180 strb r8, [r10, #65] 166 0148 DAF80030 ldr r3, [r10] 167 014c 8AF84240 strb r4, [r10, #66] 168 0150 E5E7 b .L9 169 .L21: 170 0152 8905 lsls r1, r1, #22 171 0154 04D5 bpl .L22 172 0156 42F00200 orr r0, r2, #2 ARM GAS /tmp/ccpzG7eY.s page 4 173 015a B1E7 b .L19 174 .L38: 175 015c 2046 mov r0, r4 176 015e AFE7 b .L19 177 .L22: 178 0160 002D cmp r5, #0 179 0162 46D1 bne .L68 180 0164 9A69 ldr r2, [r3, #24] 181 0166 9206 lsls r2, r2, #26 182 0168 21D4 bmi .L69 183 016a FFF7FEFF bl HAL_GetTick 184 016e C01B subs r0, r0, r7 185 0170 B042 cmp r0, r6 186 0172 02D8 bhi .L30 187 0174 002E cmp r6, #0 188 0176 7FF44AAF bne .L2 189 .L30: 190 017a DAF84430 ldr r3, [r10, #68] 191 017e 2022 movs r2, #32 192 0180 1343 orrs r3, r3, r2 193 0182 0021 movs r1, #0 194 0184 CAF84430 str r3, [r10, #68] 195 0188 8AF84010 strb r1, [r10, #64] 196 018c 8AF84120 strb r2, [r10, #65] 197 0190 0120 movs r0, #1 198 0192 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 199 .L13: 200 0196 002D cmp r5, #0 201 0198 3FF453AF beq .L15 202 .L37: 203 019c 0D20 movs r0, #13 204 019e 0724 movs r4, #7 205 01a0 4FF0050C mov ip, #5 206 01a4 0422 movs r2, #4 207 01a6 54E7 b .L3 208 .L32: 209 01a8 0020 movs r0, #0 210 01aa BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 211 .L69: 212 01ae 9A69 ldr r2, [r3, #24] 213 01b0 5107 lsls r1, r2, #29 214 01b2 03D5 bpl .L27 215 01b4 BAF82820 ldrh r2, [r10, #40] 216 01b8 002A cmp r2, #0 217 01ba F5D1 bne .L32 218 .L27: 219 01bc 9A69 ldr r2, [r3, #24] 220 01be 12F01002 ands r2, r2, #16 221 01c2 1CBF itt ne 222 01c4 1021 movne r1, #16 223 01c6 0422 movne r2, #4 224 01c8 4FF02004 mov r4, #32 225 01cc 18BF it ne 226 01ce D961 strne r1, [r3, #28] 227 01d0 CAF84420 str r2, [r10, #68] 228 01d4 DC61 str r4, [r3, #28] 229 01d6 5A68 ldr r2, [r3, #4] ARM GAS /tmp/ccpzG7eY.s page 5 230 01d8 0749 ldr r1, .L70 231 01da 0A40 ands r2, r2, r1 232 01dc 0021 movs r1, #0 233 01de 5A60 str r2, [r3, #4] 234 01e0 8AF84140 strb r4, [r10, #65] 235 01e4 8AF84010 strb r1, [r10, #64] 236 01e8 8AF84210 strb r1, [r10, #66] 237 01ec 0120 movs r0, #1 238 01ee BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 239 .L68: 240 01f2 1046 mov r0, r2 241 01f4 39E7 b .L20 242 .L71: 243 01f6 00BF .align 2 244 .L70: 245 01f8 00E800FE .word -33495040 247 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits 248 .align 1 249 .p2align 2,,3 250 .syntax unified 251 .thumb 252 .thumb_func 253 .fpu fpv4-sp-d16 255 I2C_WaitOnTXISFlagUntilTimeout: 256 @ args = 0, pretend = 0, frame = 0 257 @ frame_needed = 0, uses_anonymous_args = 0 258 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 259 0004 8246 mov r10, r0 260 0006 0E46 mov r6, r1 261 0008 1746 mov r7, r2 262 000a 4FF02008 mov r8, #32 263 .L73: 264 000e DAF80030 ldr r3, [r10] 265 .L101: 266 0012 9D69 ldr r5, [r3, #24] 267 0014 15F00205 ands r5, r5, #2 268 0018 40F0C780 bne .L126 269 001c 9A69 ldr r2, [r3, #24] 270 001e 12F01002 ands r2, r2, #16 271 0022 51D0 beq .L102 272 0024 1022 movs r2, #16 273 0026 DA61 str r2, [r3, #28] 274 0028 B946 mov r9, r7 275 .L75: 276 002a 741C adds r4, r6, #1 277 002c 9A69 ldr r2, [r3, #24] 278 002e 51D1 bne .L83 279 0030 9006 lsls r0, r2, #26 280 0032 00F1B180 bmi .L84 281 0036 002D cmp r5, #0 282 0038 40F0B180 bne .L104 283 .L85: 284 003c 9C69 ldr r4, [r3, #24] 285 003e A106 lsls r1, r4, #26 286 0040 FCD5 bpl .L85 287 .L86: 288 0042 C3F81C80 str r8, [r3, #28] ARM GAS /tmp/ccpzG7eY.s page 6 289 0046 0D20 movs r0, #13 290 0048 0724 movs r4, #7 291 004a 4FF0050C mov ip, #5 292 004e 0422 movs r2, #4 293 0050 0125 movs r5, #1 294 .L74: 295 0052 9969 ldr r1, [r3, #24] 296 0054 11F4807F tst r1, #256 297 0058 27D0 beq .L88 298 005a 4FF48072 mov r2, #256 299 005e 4E05 lsls r6, r1, #21 300 0060 DA61 str r2, [r3, #28] 301 0062 26D4 bmi .L89 302 0064 8D05 lsls r5, r1, #22 303 0066 79D4 bmi .L105 304 0068 6046 mov r0, ip 305 .L91: 306 006a 9A69 ldr r2, [r3, #24] 307 006c 9407 lsls r4, r2, #30 308 006e 44BF itt mi 309 0070 0022 movmi r2, #0 310 0072 9A62 strmi r2, [r3, #40] 311 0074 9A69 ldr r2, [r3, #24] 312 0076 D107 lsls r1, r2, #31 313 0078 03D4 bmi .L96 314 007a 9A69 ldr r2, [r3, #24] 315 007c 42F00102 orr r2, r2, #1 316 0080 9A61 str r2, [r3, #24] 317 .L96: 318 0082 5A68 ldr r2, [r3, #4] 319 0084 4B4C ldr r4, .L129 320 0086 2240 ands r2, r2, r4 321 0088 5A60 str r2, [r3, #4] 322 008a DAF84430 ldr r3, [r10, #68] 323 008e 0021 movs r1, #0 324 0090 0343 orrs r3, r3, r0 325 0092 2022 movs r2, #32 326 0094 CAF84430 str r3, [r10, #68] 327 0098 8AF84010 strb r1, [r10, #64] 328 009c 8AF84120 strb r2, [r10, #65] 329 00a0 0120 movs r0, #1 330 00a2 8AF84210 strb r1, [r10, #66] 331 .L124: 332 00a6 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 333 .L88: 334 00aa 4805 lsls r0, r1, #21 335 00ac 51D5 bpl .L92 336 00ae 42F00800 orr r0, r2, #8 337 .L89: 338 00b2 4FF48062 mov r2, #1024 339 00b6 8C05 lsls r4, r1, #22 340 00b8 DA61 str r2, [r3, #28] 341 00ba D6D5 bpl .L91 342 00bc 40F00200 orr r0, r0, #2 343 .L90: 344 00c0 4FF40072 mov r2, #512 345 00c4 DA61 str r2, [r3, #28] ARM GAS /tmp/ccpzG7eY.s page 7 346 00c6 D0E7 b .L91 347 .L102: 348 00c8 0920 movs r0, #9 349 00ca 0324 movs r4, #3 350 00cc 4FF0010C mov ip, #1 351 00d0 1546 mov r5, r2 352 00d2 BEE7 b .L74 353 .L83: 354 00d4 9206 lsls r2, r2, #26 355 00d6 5FD4 bmi .L84 356 00d8 002D cmp r5, #0 357 00da 60D1 bne .L104 358 00dc FFF7FEFF bl HAL_GetTick 359 00e0 A0EB0900 sub r0, r0, r9 360 00e4 8642 cmp r6, r0 361 00e6 DAF80030 ldr r3, [r10] 362 00ea 01D3 bcc .L76 363 00ec 002E cmp r6, #0 364 00ee 9CD1 bne .L75 365 .L76: 366 00f0 5868 ldr r0, [r3, #4] 367 00f2 9AF84220 ldrb r2, [r10, #66] @ zero_extendqisi2 368 00f6 9969 ldr r1, [r3, #24] 369 00f8 0C04 lsls r4, r1, #16 370 00fa D2B2 uxtb r2, r2 371 00fc 0FD5 bpl .L80 372 00fe 4104 lsls r1, r0, #17 373 0100 0DD4 bmi .L80 374 0102 202A cmp r2, #32 375 0104 0BD0 beq .L80 376 0106 5A68 ldr r2, [r3, #4] 377 0108 42F48042 orr r2, r2, #16384 378 010c 5A60 str r2, [r3, #4] 379 010e FFF7FEFF bl HAL_GetTick 380 0112 DAF80030 ldr r3, [r10] 381 0116 8146 mov r9, r0 382 0118 01E0 b .L80 383 .L127: 384 011a DAF80030 ldr r3, [r10] 385 .L80: 386 011e 9C69 ldr r4, [r3, #24] 387 0120 14F02004 ands r4, r4, #32 388 0124 81D1 bne .L75 389 0126 FFF7FEFF bl HAL_GetTick 390 012a A0EB0900 sub r0, r0, r9 391 012e 1928 cmp r0, #25 392 0130 F3D9 bls .L127 393 0132 DAF84420 ldr r2, [r10, #68] 394 0136 DAF80030 ldr r3, [r10] 395 013a 8AF84040 strb r4, [r10, #64] 396 013e 42F02002 orr r2, r2, #32 397 0142 CAF84420 str r2, [r10, #68] 398 0146 0125 movs r5, #1 399 0148 8AF84180 strb r8, [r10, #65] 400 014c 8AF84240 strb r4, [r10, #66] 401 0150 E5E7 b .L80 402 .L92: ARM GAS /tmp/ccpzG7eY.s page 8 403 0152 8905 lsls r1, r1, #22 404 0154 04D5 bpl .L93 405 0156 42F00200 orr r0, r2, #2 406 015a B1E7 b .L90 407 .L105: 408 015c 2046 mov r0, r4 409 015e AFE7 b .L90 410 .L93: 411 0160 35BB cbnz r5, .L128 412 0162 721C adds r2, r6, #1 413 0164 3FF455AF beq .L101 414 0168 FFF7FEFF bl HAL_GetTick 415 016c C01B subs r0, r0, r7 416 016e B042 cmp r0, r6 417 0170 02D8 bhi .L98 418 0172 002E cmp r6, #0 419 0174 7FF44BAF bne .L73 420 .L98: 421 0178 DAF84430 ldr r3, [r10, #68] 422 017c 0022 movs r2, #0 423 017e 43F02003 orr r3, r3, #32 424 0182 2021 movs r1, #32 425 0184 CAF84430 str r3, [r10, #68] 426 0188 8AF84020 strb r2, [r10, #64] 427 018c 8AF84110 strb r1, [r10, #65] 428 0190 0120 movs r0, #1 429 0192 8AF84220 strb r2, [r10, #66] 430 0196 86E7 b .L124 431 .L84: 432 0198 002D cmp r5, #0 433 019a 3FF452AF beq .L86 434 .L104: 435 019e 0D20 movs r0, #13 436 01a0 0724 movs r4, #7 437 01a2 4FF0050C mov ip, #5 438 01a6 0422 movs r2, #4 439 01a8 53E7 b .L74 440 .L126: 441 01aa 0020 movs r0, #0 442 01ac BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 443 .L128: 444 01b0 1046 mov r0, r2 445 01b2 5AE7 b .L91 446 .L130: 447 .align 2 448 .L129: 449 01b4 00E800FE .word -33495040 451 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits 452 .align 1 453 .p2align 2,,3 454 .syntax unified 455 .thumb 456 .thumb_func 457 .fpu fpv4-sp-d16 459 I2C_WaitOnSTOPFlagUntilTimeout: 460 @ args = 0, pretend = 0, frame = 0 461 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccpzG7eY.s page 9 462 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 463 0004 8246 mov r10, r0 464 0006 0E46 mov r6, r1 465 0008 1746 mov r7, r2 466 000a 4FF02008 mov r8, #32 467 .L132: 468 000e DAF80030 ldr r3, [r10] 469 0012 9D69 ldr r5, [r3, #24] 470 0014 15F02005 ands r5, r5, #32 471 0018 40F0C580 bne .L185 472 001c 9A69 ldr r2, [r3, #24] 473 001e 12F01002 ands r2, r2, #16 474 0022 51D0 beq .L160 475 0024 1022 movs r2, #16 476 0026 DA61 str r2, [r3, #28] 477 0028 B946 mov r9, r7 478 .L134: 479 002a 741C adds r4, r6, #1 480 002c 9A69 ldr r2, [r3, #24] 481 002e 51D1 bne .L142 482 0030 9006 lsls r0, r2, #26 483 0032 00F1AF80 bmi .L143 484 0036 002D cmp r5, #0 485 0038 40F0AF80 bne .L162 486 .L144: 487 003c 9C69 ldr r4, [r3, #24] 488 003e A106 lsls r1, r4, #26 489 0040 FCD5 bpl .L144 490 .L145: 491 0042 C3F81C80 str r8, [r3, #28] 492 0046 0D20 movs r0, #13 493 0048 0724 movs r4, #7 494 004a 4FF0050C mov ip, #5 495 004e 0422 movs r2, #4 496 0050 0125 movs r5, #1 497 .L133: 498 0052 9969 ldr r1, [r3, #24] 499 0054 11F4807F tst r1, #256 500 0058 27D0 beq .L147 501 005a 4FF48072 mov r2, #256 502 005e 4E05 lsls r6, r1, #21 503 0060 DA61 str r2, [r3, #28] 504 0062 26D4 bmi .L148 505 0064 8D05 lsls r5, r1, #22 506 0066 79D4 bmi .L163 507 0068 6046 mov r0, ip 508 .L150: 509 006a 9A69 ldr r2, [r3, #24] 510 006c 9107 lsls r1, r2, #30 511 006e 44BF itt mi 512 0070 0022 movmi r2, #0 513 0072 9A62 strmi r2, [r3, #40] 514 0074 9A69 ldr r2, [r3, #24] 515 0076 D207 lsls r2, r2, #31 516 0078 03D4 bmi .L155 517 007a 9A69 ldr r2, [r3, #24] 518 007c 42F00102 orr r2, r2, #1 ARM GAS /tmp/ccpzG7eY.s page 10 519 0080 9A61 str r2, [r3, #24] 520 .L155: 521 0082 5A68 ldr r2, [r3, #4] 522 0084 4A4C ldr r4, .L188 523 0086 2240 ands r2, r2, r4 524 0088 5A60 str r2, [r3, #4] 525 008a DAF84430 ldr r3, [r10, #68] 526 008e 0021 movs r1, #0 527 0090 0343 orrs r3, r3, r0 528 0092 2022 movs r2, #32 529 0094 CAF84430 str r3, [r10, #68] 530 0098 8AF84010 strb r1, [r10, #64] 531 009c 8AF84120 strb r2, [r10, #65] 532 00a0 8AF84210 strb r1, [r10, #66] 533 00a4 0120 movs r0, #1 534 00a6 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 535 .L147: 536 00aa 4805 lsls r0, r1, #21 537 00ac 51D5 bpl .L151 538 00ae 42F00800 orr r0, r2, #8 539 .L148: 540 00b2 4FF48062 mov r2, #1024 541 00b6 8C05 lsls r4, r1, #22 542 00b8 DA61 str r2, [r3, #28] 543 00ba D6D5 bpl .L150 544 00bc 40F00200 orr r0, r0, #2 545 .L149: 546 00c0 4FF40072 mov r2, #512 547 00c4 DA61 str r2, [r3, #28] 548 00c6 D0E7 b .L150 549 .L160: 550 00c8 0920 movs r0, #9 551 00ca 0324 movs r4, #3 552 00cc 4FF0010C mov ip, #1 553 00d0 1546 mov r5, r2 554 00d2 BEE7 b .L133 555 .L142: 556 00d4 9206 lsls r2, r2, #26 557 00d6 5DD4 bmi .L143 558 00d8 002D cmp r5, #0 559 00da 5ED1 bne .L162 560 00dc FFF7FEFF bl HAL_GetTick 561 00e0 A0EB0900 sub r0, r0, r9 562 00e4 8642 cmp r6, r0 563 00e6 DAF80030 ldr r3, [r10] 564 00ea 01D3 bcc .L135 565 00ec 002E cmp r6, #0 566 00ee 9CD1 bne .L134 567 .L135: 568 00f0 5868 ldr r0, [r3, #4] 569 00f2 9AF84220 ldrb r2, [r10, #66] @ zero_extendqisi2 570 00f6 9969 ldr r1, [r3, #24] 571 00f8 0C04 lsls r4, r1, #16 572 00fa D2B2 uxtb r2, r2 573 00fc 0FD5 bpl .L139 574 00fe 4104 lsls r1, r0, #17 575 0100 0DD4 bmi .L139 ARM GAS /tmp/ccpzG7eY.s page 11 576 0102 202A cmp r2, #32 577 0104 0BD0 beq .L139 578 0106 5A68 ldr r2, [r3, #4] 579 0108 42F48042 orr r2, r2, #16384 580 010c 5A60 str r2, [r3, #4] 581 010e FFF7FEFF bl HAL_GetTick 582 0112 DAF80030 ldr r3, [r10] 583 0116 8146 mov r9, r0 584 0118 01E0 b .L139 585 .L186: 586 011a DAF80030 ldr r3, [r10] 587 .L139: 588 011e 9C69 ldr r4, [r3, #24] 589 0120 14F02004 ands r4, r4, #32 590 0124 81D1 bne .L134 591 0126 FFF7FEFF bl HAL_GetTick 592 012a A0EB0900 sub r0, r0, r9 593 012e 1928 cmp r0, #25 594 0130 F3D9 bls .L186 595 0132 DAF84430 ldr r3, [r10, #68] 596 0136 8AF84040 strb r4, [r10, #64] 597 013a 43F02003 orr r3, r3, #32 598 013e CAF84430 str r3, [r10, #68] 599 0142 0125 movs r5, #1 600 0144 8AF84180 strb r8, [r10, #65] 601 0148 DAF80030 ldr r3, [r10] 602 014c 8AF84240 strb r4, [r10, #66] 603 0150 E5E7 b .L139 604 .L151: 605 0152 8805 lsls r0, r1, #22 606 0154 04D5 bpl .L152 607 0156 42F00200 orr r0, r2, #2 608 015a B1E7 b .L149 609 .L163: 610 015c 2046 mov r0, r4 611 015e AFE7 b .L149 612 .L152: 613 0160 25BB cbnz r5, .L187 614 0162 FFF7FEFF bl HAL_GetTick 615 0166 C01B subs r0, r0, r7 616 0168 B042 cmp r0, r6 617 016a 02D8 bhi .L158 618 016c 002E cmp r6, #0 619 016e 7FF44EAF bne .L132 620 .L158: 621 0172 DAF84430 ldr r3, [r10, #68] 622 0176 0022 movs r2, #0 623 0178 43F02003 orr r3, r3, #32 624 017c 2021 movs r1, #32 625 017e CAF84430 str r3, [r10, #68] 626 0182 8AF84020 strb r2, [r10, #64] 627 0186 8AF84110 strb r1, [r10, #65] 628 018a 8AF84220 strb r2, [r10, #66] 629 018e 0120 movs r0, #1 630 0190 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 631 .L143: 632 0194 002D cmp r5, #0 ARM GAS /tmp/ccpzG7eY.s page 12 633 0196 3FF454AF beq .L145 634 .L162: 635 019a 0D20 movs r0, #13 636 019c 0724 movs r4, #7 637 019e 4FF0050C mov ip, #5 638 01a2 0422 movs r2, #4 639 01a4 55E7 b .L133 640 .L185: 641 01a6 0020 movs r0, #0 642 01a8 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 643 .L187: 644 01ac 1046 mov r0, r2 645 01ae 5CE7 b .L150 646 .L189: 647 .align 2 648 .L188: 649 01b0 00E800FE .word -33495040 651 .section .text.HAL_I2C_MspInit,"ax",%progbits 652 .align 1 653 .p2align 2,,3 654 .weak HAL_I2C_MspInit 655 .syntax unified 656 .thumb 657 .thumb_func 658 .fpu fpv4-sp-d16 660 HAL_I2C_MspInit: 661 @ args = 0, pretend = 0, frame = 0 662 @ frame_needed = 0, uses_anonymous_args = 0 663 @ link register save eliminated. 664 0000 7047 bx lr 666 0002 00BF .section .text.HAL_I2C_Init,"ax",%progbits 667 .align 1 668 .p2align 2,,3 669 .global HAL_I2C_Init 670 .syntax unified 671 .thumb 672 .thumb_func 673 .fpu fpv4-sp-d16 675 HAL_I2C_Init: 676 @ args = 0, pretend = 0, frame = 0 677 @ frame_needed = 0, uses_anonymous_args = 0 678 0000 0028 cmp r0, #0 679 0002 4FD0 beq .L196 680 0004 10B5 push {r4, lr} 681 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 682 000a 0446 mov r4, r0 683 000c 03F0FF02 and r2, r3, #255 684 0010 002B cmp r3, #0 685 0012 42D0 beq .L201 686 .L193: 687 0014 2368 ldr r3, [r4] 688 0016 2422 movs r2, #36 689 0018 84F84120 strb r2, [r4, #65] 690 001c 1968 ldr r1, [r3] 691 001e 6268 ldr r2, [r4, #4] 692 0020 21F00101 bic r1, r1, #1 693 0024 22F07062 bic r2, r2, #251658240 ARM GAS /tmp/ccpzG7eY.s page 13 694 0028 1960 str r1, [r3] 695 002a 1A61 str r2, [r3, #16] 696 002c 9A68 ldr r2, [r3, #8] 697 002e E168 ldr r1, [r4, #12] 698 0030 22F40042 bic r2, r2, #32768 699 0034 0129 cmp r1, #1 700 0036 9A60 str r2, [r3, #8] 701 0038 A268 ldr r2, [r4, #8] 702 003a 2AD0 beq .L202 703 003c 42F40442 orr r2, r2, #33792 704 0040 0229 cmp r1, #2 705 0042 9A60 str r2, [r3, #8] 706 0044 04BF itt eq 707 0046 4FF40062 moveq r2, #2048 708 004a 5A60 streq r2, [r3, #4] 709 .L195: 710 004c 5968 ldr r1, [r3, #4] 711 004e 2269 ldr r2, [r4, #16] 712 0050 41F00071 orr r1, r1, #33554432 713 0054 41F40041 orr r1, r1, #32768 714 0058 5960 str r1, [r3, #4] 715 005a 6169 ldr r1, [r4, #20] 716 005c D868 ldr r0, [r3, #12] 717 005e 0A43 orrs r2, r2, r1 718 0060 A169 ldr r1, [r4, #24] 719 0062 20F40040 bic r0, r0, #32768 720 0066 42EA0122 orr r2, r2, r1, lsl #8 721 006a E169 ldr r1, [r4, #28] 722 006c D860 str r0, [r3, #12] 723 006e 206A ldr r0, [r4, #32] 724 0070 DA60 str r2, [r3, #12] 725 0072 0143 orrs r1, r1, r0 726 0074 1960 str r1, [r3] 727 0076 1968 ldr r1, [r3] 728 0078 41F00101 orr r1, r1, #1 729 007c 1960 str r1, [r3] 730 007e 0022 movs r2, #0 731 0080 2023 movs r3, #32 732 0082 6264 str r2, [r4, #68] 733 0084 84F84130 strb r3, [r4, #65] 734 0088 2263 str r2, [r4, #48] 735 008a 84F84220 strb r2, [r4, #66] 736 008e 1046 mov r0, r2 737 0090 10BD pop {r4, pc} 738 .L202: 739 0092 42F40042 orr r2, r2, #32768 740 0096 9A60 str r2, [r3, #8] 741 0098 D8E7 b .L195 742 .L201: 743 009a 80F84020 strb r2, [r0, #64] 744 009e FFF7FEFF bl HAL_I2C_MspInit 745 00a2 B7E7 b .L193 746 .L196: 747 00a4 0120 movs r0, #1 748 00a6 7047 bx lr 750 .section .text.HAL_I2C_MspDeInit,"ax",%progbits 751 .align 1 ARM GAS /tmp/ccpzG7eY.s page 14 752 .p2align 2,,3 753 .weak HAL_I2C_MspDeInit 754 .syntax unified 755 .thumb 756 .thumb_func 757 .fpu fpv4-sp-d16 759 HAL_I2C_MspDeInit: 760 @ args = 0, pretend = 0, frame = 0 761 @ frame_needed = 0, uses_anonymous_args = 0 762 @ link register save eliminated. 763 0000 7047 bx lr 765 0002 00BF .section .text.HAL_I2C_DeInit,"ax",%progbits 766 .align 1 767 .p2align 2,,3 768 .global HAL_I2C_DeInit 769 .syntax unified 770 .thumb 771 .thumb_func 772 .fpu fpv4-sp-d16 774 HAL_I2C_DeInit: 775 @ args = 0, pretend = 0, frame = 0 776 @ frame_needed = 0, uses_anonymous_args = 0 777 0000 B0B1 cbz r0, .L206 778 0002 0268 ldr r2, [r0] 779 0004 2423 movs r3, #36 780 0006 10B5 push {r4, lr} 781 0008 80F84130 strb r3, [r0, #65] 782 000c 1368 ldr r3, [r2] 783 000e 23F00103 bic r3, r3, #1 784 0012 0446 mov r4, r0 785 0014 1360 str r3, [r2] 786 0016 FFF7FEFF bl HAL_I2C_MspDeInit 787 001a 0023 movs r3, #0 788 001c 6364 str r3, [r4, #68] 789 001e 84F84030 strb r3, [r4, #64] 790 0022 84F84130 strb r3, [r4, #65] 791 0026 2363 str r3, [r4, #48] 792 0028 84F84230 strb r3, [r4, #66] 793 002c 1846 mov r0, r3 794 002e 10BD pop {r4, pc} 795 .L206: 796 0030 0120 movs r0, #1 797 0032 7047 bx lr 799 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits 800 .align 1 801 .p2align 2,,3 802 .global HAL_I2C_Master_Transmit 803 .syntax unified 804 .thumb 805 .thumb_func 806 .fpu fpv4-sp-d16 808 HAL_I2C_Master_Transmit: 809 @ args = 4, pretend = 0, frame = 0 810 @ frame_needed = 0, uses_anonymous_args = 0 811 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 812 0004 1E46 mov r6, r3 813 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 ARM GAS /tmp/ccpzG7eY.s page 15 814 000a DDF82880 ldr r8, [sp, #40] 815 000e 202B cmp r3, #32 816 0010 40F08D80 bne .L259 817 0014 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 818 0018 012B cmp r3, #1 819 001a 0546 mov r5, r0 820 001c 00F08780 beq .L259 821 0020 0123 movs r3, #1 822 0022 80F84030 strb r3, [r0, #64] 823 0026 8B46 mov fp, r1 824 0028 1746 mov r7, r2 825 002a FFF7FEFF bl HAL_GetTick 826 002e 8146 mov r9, r0 827 0030 05E0 b .L213 828 .L214: 829 0032 FFF7FEFF bl HAL_GetTick 830 0036 A0EB0900 sub r0, r0, r9 831 003a 1928 cmp r0, #25 832 003c 7AD8 bhi .L248 833 .L213: 834 003e 2868 ldr r0, [r5] 835 0040 8469 ldr r4, [r0, #24] 836 0042 14F40044 ands r4, r4, #32768 837 0046 F4D1 bne .L214 838 0048 2123 movs r3, #33 839 004a 85F84130 strb r3, [r5, #65] 840 004e 1023 movs r3, #16 841 0050 85F84230 strb r3, [r5, #66] 842 0054 6C64 str r4, [r5, #68] 843 0056 6E85 strh r6, [r5, #42] @ movhi 844 0058 6B8D ldrh r3, [r5, #42] 845 005a 6F62 str r7, [r5, #36] 846 005c 9BB2 uxth r3, r3 847 005e FF2B cmp r3, #255 848 0060 6C63 str r4, [r5, #52] 849 0062 75D8 bhi .L299 850 0064 6B8D ldrh r3, [r5, #42] 851 0066 A749 ldr r1, .L304 852 0068 9BB2 uxth r3, r3 853 006a 2B85 strh r3, [r5, #40] @ movhi 854 006c DAB2 uxtb r2, r3 855 006e 4368 ldr r3, [r0, #4] 856 0070 1940 ands r1, r1, r3 857 0072 CBF30903 ubfx r3, fp, #0, #10 858 0076 0B43 orrs r3, r3, r1 859 0078 43EA0243 orr r3, r3, r2, lsl #16 860 007c 43F00073 orr r3, r3, #33554432 861 0080 43F40053 orr r3, r3, #8192 862 0084 4360 str r3, [r0, #4] 863 0086 CBF3090B ubfx fp, fp, #0, #10 864 .L216: 865 008a 6B8D ldrh r3, [r5, #42] 866 008c 9BB2 uxth r3, r3 867 008e 002B cmp r3, #0 868 0090 00F0EF80 beq .L254 869 0094 4FF0200A mov r10, #32 870 .L257: ARM GAS /tmp/ccpzG7eY.s page 16 871 0098 8669 ldr r6, [r0, #24] 872 009a 16F00206 ands r6, r6, #2 873 009e 40F0D280 bne .L300 874 .L244: 875 00a2 8369 ldr r3, [r0, #24] 876 00a4 13F01003 ands r3, r3, #16 877 00a8 71D0 beq .L261 878 00aa 1023 movs r3, #16 879 00ac C361 str r3, [r0, #28] 880 00ae 4F46 mov r7, r9 881 .L220: 882 00b0 B8F1FF3F cmp r8, #-1 883 00b4 8369 ldr r3, [r0, #24] 884 00b6 6FD1 bne .L228 885 00b8 9906 lsls r1, r3, #26 886 00ba 00F1E380 bmi .L229 887 00be 002E cmp r6, #0 888 00c0 40F0E380 bne .L263 889 .L230: 890 00c4 8369 ldr r3, [r0, #24] 891 00c6 9A06 lsls r2, r3, #26 892 00c8 FCD5 bpl .L230 893 .L231: 894 00ca C0F81CA0 str r10, [r0, #28] 895 00ce 0D21 movs r1, #13 896 00d0 0724 movs r4, #7 897 00d2 0527 movs r7, #5 898 00d4 0423 movs r3, #4 899 00d6 0126 movs r6, #1 900 .L219: 901 00d8 8269 ldr r2, [r0, #24] 902 00da 12F4807F tst r2, #256 903 00de 47D0 beq .L233 904 00e0 4FF48073 mov r3, #256 905 00e4 C361 str r3, [r0, #28] 906 00e6 5305 lsls r3, r2, #21 907 00e8 46D4 bmi .L234 908 00ea 9605 lsls r6, r2, #22 909 00ec 00F19380 bmi .L264 910 00f0 3946 mov r1, r7 911 .L236: 912 00f2 8369 ldr r3, [r0, #24] 913 00f4 9E07 lsls r6, r3, #30 914 00f6 44BF itt mi 915 00f8 0023 movmi r3, #0 916 00fa 8362 strmi r3, [r0, #40] 917 00fc 8369 ldr r3, [r0, #24] 918 00fe DC07 lsls r4, r3, #31 919 0100 03D4 bmi .L241 920 0102 8369 ldr r3, [r0, #24] 921 0104 43F00103 orr r3, r3, #1 922 0108 8361 str r3, [r0, #24] 923 .L241: 924 010a 4268 ldr r2, [r0, #4] 925 010c 7E4B ldr r3, .L304+4 926 010e 1A40 ands r2, r2, r3 927 0110 4260 str r2, [r0, #4] ARM GAS /tmp/ccpzG7eY.s page 17 928 0112 6B6C ldr r3, [r5, #68] 929 0114 0024 movs r4, #0 930 0116 2022 movs r2, #32 931 0118 0B43 orrs r3, r3, r1 932 011a 6B64 str r3, [r5, #68] 933 011c 85F84040 strb r4, [r5, #64] 934 0120 85F84120 strb r2, [r5, #65] 935 0124 85F84240 strb r4, [r5, #66] 936 0128 0120 movs r0, #1 937 012a BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 938 .L259: 939 012e 0220 movs r0, #2 940 .L295: 941 0130 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 942 .L248: 943 0134 6B6C ldr r3, [r5, #68] 944 0136 0022 movs r2, #0 945 0138 43F02003 orr r3, r3, #32 946 013c 2021 movs r1, #32 947 013e 6B64 str r3, [r5, #68] 948 0140 85F84020 strb r2, [r5, #64] 949 0144 85F84110 strb r1, [r5, #65] 950 0148 0120 movs r0, #1 951 014a 85F84220 strb r2, [r5, #66] 952 014e EFE7 b .L295 953 .L299: 954 0150 4368 ldr r3, [r0, #4] 955 0152 6C4A ldr r2, .L304 956 0154 1A40 ands r2, r2, r3 957 0156 CBF30903 ubfx r3, fp, #0, #10 958 015a 1343 orrs r3, r3, r2 959 015c 43F0FF73 orr r3, r3, #33423360 960 0160 43F49033 orr r3, r3, #73728 961 0164 FF22 movs r2, #255 962 0166 2A85 strh r2, [r5, #40] @ movhi 963 0168 CBF3090B ubfx fp, fp, #0, #10 964 016c 4360 str r3, [r0, #4] 965 016e 8CE7 b .L216 966 .L233: 967 0170 5105 lsls r1, r2, #21 968 0172 4BD5 bpl .L237 969 0174 43F00801 orr r1, r3, #8 970 .L234: 971 0178 4FF48063 mov r3, #1024 972 017c C361 str r3, [r0, #28] 973 017e 9305 lsls r3, r2, #22 974 0180 B7D5 bpl .L236 975 0182 41F00201 orr r1, r1, #2 976 .L235: 977 0186 4FF40073 mov r3, #512 978 018a C361 str r3, [r0, #28] 979 018c B1E7 b .L236 980 .L261: 981 018e 0921 movs r1, #9 982 0190 0324 movs r4, #3 983 0192 0127 movs r7, #1 984 0194 1E46 mov r6, r3 ARM GAS /tmp/ccpzG7eY.s page 18 985 0196 9FE7 b .L219 986 .L228: 987 0198 9B06 lsls r3, r3, #26 988 019a 73D4 bmi .L229 989 019c 002E cmp r6, #0 990 019e 74D1 bne .L263 991 01a0 FFF7FEFF bl HAL_GetTick 992 01a4 C01B subs r0, r0, r7 993 01a6 8045 cmp r8, r0 994 01a8 2868 ldr r0, [r5] 995 01aa 03D3 bcc .L221 996 01ac B8F1000F cmp r8, #0 997 01b0 7FF47EAF bne .L220 998 .L221: 999 01b4 4168 ldr r1, [r0, #4] 1000 01b6 95F84230 ldrb r3, [r5, #66] @ zero_extendqisi2 1001 01ba 8269 ldr r2, [r0, #24] 1002 01bc 1204 lsls r2, r2, #16 1003 01be DBB2 uxtb r3, r3 1004 01c0 0DD5 bpl .L225 1005 01c2 4C04 lsls r4, r1, #17 1006 01c4 0BD4 bmi .L225 1007 01c6 202B cmp r3, #32 1008 01c8 09D0 beq .L225 1009 01ca 4368 ldr r3, [r0, #4] 1010 01cc 43F48043 orr r3, r3, #16384 1011 01d0 4360 str r3, [r0, #4] 1012 01d2 FFF7FEFF bl HAL_GetTick 1013 01d6 0746 mov r7, r0 1014 01d8 2868 ldr r0, [r5] 1015 01da 00E0 b .L225 1016 .L301: 1017 01dc 2868 ldr r0, [r5] 1018 .L225: 1019 01de 8469 ldr r4, [r0, #24] 1020 01e0 14F02004 ands r4, r4, #32 1021 01e4 7FF464AF bne .L220 1022 01e8 FFF7FEFF bl HAL_GetTick 1023 01ec C01B subs r0, r0, r7 1024 01ee 1928 cmp r0, #25 1025 01f0 F4D9 bls .L301 1026 01f2 6B6C ldr r3, [r5, #68] 1027 01f4 2868 ldr r0, [r5] 1028 01f6 85F84040 strb r4, [r5, #64] 1029 01fa 43F02003 orr r3, r3, #32 1030 01fe 6B64 str r3, [r5, #68] 1031 0200 0126 movs r6, #1 1032 0202 85F841A0 strb r10, [r5, #65] 1033 0206 85F84240 strb r4, [r5, #66] 1034 020a E8E7 b .L225 1035 .L237: 1036 020c 9705 lsls r7, r2, #22 1037 020e 04D5 bpl .L238 1038 0210 43F00201 orr r1, r3, #2 1039 0214 B7E7 b .L235 1040 .L264: 1041 0216 2146 mov r1, r4 ARM GAS /tmp/ccpzG7eY.s page 19 1042 0218 B5E7 b .L235 1043 .L238: 1044 021a 002E cmp r6, #0 1045 021c 60D1 bne .L302 1046 021e B8F1FF3F cmp r8, #-1 1047 0222 3FF439AF beq .L257 1048 0226 FFF7FEFF bl HAL_GetTick 1049 022a A0EB0900 sub r0, r0, r9 1050 022e 8045 cmp r8, r0 1051 0230 80D3 bcc .L248 1052 0232 B8F1000F cmp r8, #0 1053 0236 3FF47DAF beq .L248 1054 023a 2868 ldr r0, [r5] 1055 023c 8669 ldr r6, [r0, #24] 1056 023e 16F00206 ands r6, r6, #2 1057 0242 3FF42EAF beq .L244 1058 .L300: 1059 0246 696A ldr r1, [r5, #36] 1060 0248 2B8D ldrh r3, [r5, #40] 1061 024a 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2 1062 024e 8262 str r2, [r0, #40] 1063 0250 6A8D ldrh r2, [r5, #42] 1064 0252 6962 str r1, [r5, #36] 1065 0254 013A subs r2, r2, #1 1066 0256 92B2 uxth r2, r2 1067 0258 6A85 strh r2, [r5, #42] @ movhi 1068 025a 6A8D ldrh r2, [r5, #42] 1069 025c 013B subs r3, r3, #1 1070 025e 9BB2 uxth r3, r3 1071 0260 92B2 uxth r2, r2 1072 0262 2B85 strh r3, [r5, #40] @ movhi 1073 0264 02B1 cbz r2, .L247 1074 0266 23B3 cbz r3, .L246 1075 .L247: 1076 0268 6B8D ldrh r3, [r5, #42] 1077 026a 9BB2 uxth r3, r3 1078 026c 002B cmp r3, #0 1079 026e 7FF413AF bne .L257 1080 .L254: 1081 0272 4A46 mov r2, r9 1082 0274 4146 mov r1, r8 1083 0276 2846 mov r0, r5 1084 0278 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 1085 027c 0028 cmp r0, #0 1086 027e 47D0 beq .L303 1087 0280 0120 movs r0, #1 1088 0282 55E7 b .L295 1089 .L229: 1090 0284 002E cmp r6, #0 1091 0286 3FF420AF beq .L231 1092 .L263: 1093 028a 0D21 movs r1, #13 1094 028c 0724 movs r4, #7 1095 028e 0527 movs r7, #5 1096 0290 0423 movs r3, #4 1097 0292 21E7 b .L219 1098 .L249: ARM GAS /tmp/ccpzG7eY.s page 20 1099 0294 8369 ldr r3, [r0, #24] 1100 0296 1B06 lsls r3, r3, #24 1101 0298 11D4 bmi .L251 1102 029a FFF7FEFF bl HAL_GetTick 1103 029e A0EB0900 sub r0, r0, r9 1104 02a2 8045 cmp r8, r0 1105 02a4 FFF446AF bcc .L248 1106 02a8 B8F1000F cmp r8, #0 1107 02ac 3FF442AF beq .L248 1108 02b0 2868 ldr r0, [r5] 1109 .L246: 1110 02b2 B8F1FF3F cmp r8, #-1 1111 02b6 EDD1 bne .L249 1112 .L250: 1113 02b8 8369 ldr r3, [r0, #24] 1114 02ba 1A06 lsls r2, r3, #24 1115 02bc FCD5 bpl .L250 1116 .L251: 1117 02be 6B8D ldrh r3, [r5, #42] 1118 02c0 9BB2 uxth r3, r3 1119 02c2 FF2B cmp r3, #255 1120 02c4 0ED9 bls .L253 1121 02c6 4368 ldr r3, [r0, #4] 1122 02c8 104A ldr r2, .L304+8 1123 02ca 1340 ands r3, r3, r2 1124 02cc 4BEA0303 orr r3, fp, r3 1125 02d0 43F0FF73 orr r3, r3, #33423360 1126 02d4 43F48033 orr r3, r3, #65536 1127 02d8 FF22 movs r2, #255 1128 02da 2A85 strh r2, [r5, #40] @ movhi 1129 02dc 4360 str r3, [r0, #4] 1130 02de C3E7 b .L247 1131 .L302: 1132 02e0 1946 mov r1, r3 1133 02e2 06E7 b .L236 1134 .L253: 1135 02e4 6B8D ldrh r3, [r5, #42] 1136 02e6 0949 ldr r1, .L304+8 1137 02e8 9BB2 uxth r3, r3 1138 02ea 2B85 strh r3, [r5, #40] @ movhi 1139 02ec DAB2 uxtb r2, r3 1140 02ee 4368 ldr r3, [r0, #4] 1141 02f0 0B40 ands r3, r3, r1 1142 02f2 4BEA0303 orr r3, fp, r3 1143 02f6 43EA0243 orr r3, r3, r2, lsl #16 1144 02fa 43F00073 orr r3, r3, #33554432 1145 02fe 4360 str r3, [r0, #4] 1146 0300 B2E7 b .L247 1147 .L305: 1148 0302 00BF .align 2 1149 .L304: 1150 0304 009800FC .word -67069952 1151 0308 00E800FE .word -33495040 1152 030c 009C00FC .word -67068928 1153 .L303: 1154 0310 2B68 ldr r3, [r5] 1155 0312 064C ldr r4, .L306 ARM GAS /tmp/ccpzG7eY.s page 21 1156 0314 2021 movs r1, #32 1157 0316 D961 str r1, [r3, #28] 1158 0318 5A68 ldr r2, [r3, #4] 1159 031a 2240 ands r2, r2, r4 1160 031c 5A60 str r2, [r3, #4] 1161 031e 85F84110 strb r1, [r5, #65] 1162 0322 85F84000 strb r0, [r5, #64] 1163 0326 85F84200 strb r0, [r5, #66] 1164 032a 01E7 b .L295 1165 .L307: 1166 .align 2 1167 .L306: 1168 032c 00E800FE .word -33495040 1170 .section .text.HAL_I2C_Master_Receive,"ax",%progbits 1171 .align 1 1172 .p2align 2,,3 1173 .global HAL_I2C_Master_Receive 1174 .syntax unified 1175 .thumb 1176 .thumb_func 1177 .fpu fpv4-sp-d16 1179 HAL_I2C_Master_Receive: 1180 @ args = 4, pretend = 0, frame = 0 1181 @ frame_needed = 0, uses_anonymous_args = 0 1182 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 1183 0004 9846 mov r8, r3 1184 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1185 000a 089E ldr r6, [sp, #32] 1186 000c 202B cmp r3, #32 1187 000e 40F09280 bne .L328 1188 0012 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 1189 0016 012B cmp r3, #1 1190 0018 0446 mov r4, r0 1191 001a 00F08C80 beq .L328 1192 001e 0123 movs r3, #1 1193 0020 80F84030 strb r3, [r0, #64] 1194 0024 8946 mov r9, r1 1195 0026 1746 mov r7, r2 1196 0028 FFF7FEFF bl HAL_GetTick 1197 002c 0546 mov r5, r0 1198 002e 05E0 b .L310 1199 .L311: 1200 0030 FFF7FEFF bl HAL_GetTick 1201 0034 401B subs r0, r0, r5 1202 0036 1928 cmp r0, #25 1203 0038 00F28A80 bhi .L320 1204 .L310: 1205 003c 2368 ldr r3, [r4] 1206 003e 9869 ldr r0, [r3, #24] 1207 0040 10F40040 ands r0, r0, #32768 1208 0044 F4D1 bne .L311 1209 0046 2222 movs r2, #34 1210 0048 84F84120 strb r2, [r4, #65] 1211 004c 1022 movs r2, #16 1212 004e 84F84220 strb r2, [r4, #66] 1213 0052 6064 str r0, [r4, #68] 1214 0054 A4F82A80 strh r8, [r4, #42] @ movhi ARM GAS /tmp/ccpzG7eY.s page 22 1215 0058 628D ldrh r2, [r4, #42] 1216 005a 6762 str r7, [r4, #36] 1217 005c 92B2 uxth r2, r2 1218 005e FF2A cmp r2, #255 1219 0060 6063 str r0, [r4, #52] 1220 0062 C9F30907 ubfx r7, r9, #0, #10 1221 0066 00F28280 bhi .L342 1222 006a 628D ldrh r2, [r4, #42] 1223 006c 4E48 ldr r0, .L343 1224 006e 92B2 uxth r2, r2 1225 0070 2285 strh r2, [r4, #40] @ movhi 1226 0072 D1B2 uxtb r1, r2 1227 0074 5A68 ldr r2, [r3, #4] 1228 0076 0240 ands r2, r2, r0 1229 0078 3A43 orrs r2, r2, r7 1230 007a 42EA0142 orr r2, r2, r1, lsl #16 1231 007e 42F00072 orr r2, r2, #33554432 1232 0082 42F41052 orr r2, r2, #9216 1233 0086 5A60 str r2, [r3, #4] 1234 .L313: 1235 0088 638D ldrh r3, [r4, #42] 1236 008a 9BB2 uxth r3, r3 1237 008c 002B cmp r3, #0 1238 008e 3DD0 beq .L326 1239 0090 DFF81C81 ldr r8, .L343+8 1240 0094 DFF81CA1 ldr r10, .L343+12 1241 0098 4FF0FF09 mov r9, #255 1242 009c 03E0 b .L314 1243 .L318: 1244 009e 638D ldrh r3, [r4, #42] 1245 00a0 9BB2 uxth r3, r3 1246 00a2 002B cmp r3, #0 1247 00a4 32D0 beq .L326 1248 .L314: 1249 00a6 2A46 mov r2, r5 1250 00a8 3146 mov r1, r6 1251 00aa 2046 mov r0, r4 1252 00ac FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout 1253 00b0 0028 cmp r0, #0 1254 00b2 76D1 bne .L315 1255 00b4 2268 ldr r2, [r4] 1256 00b6 636A ldr r3, [r4, #36] 1257 00b8 526A ldr r2, [r2, #36] 1258 00ba 1A70 strb r2, [r3] 1259 00bc 628D ldrh r2, [r4, #42] 1260 00be 238D ldrh r3, [r4, #40] 1261 00c0 616A ldr r1, [r4, #36] 1262 00c2 013A subs r2, r2, #1 1263 00c4 92B2 uxth r2, r2 1264 00c6 6285 strh r2, [r4, #42] @ movhi 1265 00c8 628D ldrh r2, [r4, #42] 1266 00ca 013B subs r3, r3, #1 1267 00cc 0131 adds r1, r1, #1 1268 00ce 9BB2 uxth r3, r3 1269 00d0 92B2 uxth r2, r2 1270 00d2 6162 str r1, [r4, #36] 1271 00d4 2385 strh r3, [r4, #40] @ movhi ARM GAS /tmp/ccpzG7eY.s page 23 1272 00d6 002A cmp r2, #0 1273 00d8 E1D0 beq .L318 1274 00da 002B cmp r3, #0 1275 00dc DFD1 bne .L318 1276 .L319: 1277 00de 701C adds r0, r6, #1 1278 00e0 2268 ldr r2, [r4] 1279 00e2 2BD1 bne .L321 1280 .L322: 1281 00e4 9369 ldr r3, [r2, #24] 1282 00e6 1906 lsls r1, r3, #24 1283 00e8 FCD5 bpl .L322 1284 .L323: 1285 00ea 638D ldrh r3, [r4, #42] 1286 00ec 9BB2 uxth r3, r3 1287 00ee FF2B cmp r3, #255 1288 00f0 49D9 bls .L325 1289 00f2 5368 ldr r3, [r2, #4] 1290 00f4 A4F82890 strh r9, [r4, #40] @ movhi 1291 00f8 03EA0803 and r3, r3, r8 1292 00fc 3B43 orrs r3, r3, r7 1293 00fe 43EA0A03 orr r3, r3, r10 1294 0102 5360 str r3, [r2, #4] 1295 0104 638D ldrh r3, [r4, #42] 1296 0106 9BB2 uxth r3, r3 1297 0108 002B cmp r3, #0 1298 010a CCD1 bne .L314 1299 .L326: 1300 010c 2A46 mov r2, r5 1301 010e 3146 mov r1, r6 1302 0110 2046 mov r0, r4 1303 0112 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 1304 0116 0028 cmp r0, #0 1305 0118 43D1 bne .L315 1306 011a 2368 ldr r3, [r4] 1307 011c 234D ldr r5, .L343+4 1308 011e 2021 movs r1, #32 1309 0120 D961 str r1, [r3, #28] 1310 0122 5A68 ldr r2, [r3, #4] 1311 0124 2A40 ands r2, r2, r5 1312 0126 5A60 str r2, [r3, #4] 1313 0128 84F84110 strb r1, [r4, #65] 1314 012c 84F84000 strb r0, [r4, #64] 1315 0130 84F84200 strb r0, [r4, #66] 1316 0134 00E0 b .L309 1317 .L328: 1318 0136 0220 movs r0, #2 1319 .L309: 1320 0138 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1321 .L321: 1322 013c 9369 ldr r3, [r2, #24] 1323 013e 1B06 lsls r3, r3, #24 1324 0140 D3D4 bmi .L323 1325 0142 FFF7FEFF bl HAL_GetTick 1326 0146 401B subs r0, r0, r5 1327 0148 8642 cmp r6, r0 1328 014a 01D3 bcc .L320 ARM GAS /tmp/ccpzG7eY.s page 24 1329 014c 002E cmp r6, #0 1330 014e C6D1 bne .L319 1331 .L320: 1332 0150 636C ldr r3, [r4, #68] 1333 0152 0022 movs r2, #0 1334 0154 43F02003 orr r3, r3, #32 1335 0158 2021 movs r1, #32 1336 015a 6364 str r3, [r4, #68] 1337 015c 84F84020 strb r2, [r4, #64] 1338 0160 84F84110 strb r1, [r4, #65] 1339 0164 84F84220 strb r2, [r4, #66] 1340 0168 0120 movs r0, #1 1341 016a BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1342 .L342: 1343 016e 5A68 ldr r2, [r3, #4] 1344 0170 0D49 ldr r1, .L343 1345 0172 0A40 ands r2, r2, r1 1346 0174 3A43 orrs r2, r2, r7 1347 0176 42F0FF72 orr r2, r2, #33423360 1348 017a 42F49232 orr r2, r2, #74752 1349 017e FF21 movs r1, #255 1350 0180 2185 strh r1, [r4, #40] @ movhi 1351 0182 5A60 str r2, [r3, #4] 1352 0184 80E7 b .L313 1353 .L325: 1354 0186 638D ldrh r3, [r4, #42] 1355 0188 9BB2 uxth r3, r3 1356 018a 2385 strh r3, [r4, #40] @ movhi 1357 018c D9B2 uxtb r1, r3 1358 018e 5368 ldr r3, [r2, #4] 1359 0190 03EA0803 and r3, r3, r8 1360 0194 43EA0143 orr r3, r3, r1, lsl #16 1361 0198 3B43 orrs r3, r3, r7 1362 019a 43F00073 orr r3, r3, #33554432 1363 019e 5360 str r3, [r2, #4] 1364 01a0 7DE7 b .L318 1365 .L315: 1366 01a2 0120 movs r0, #1 1367 01a4 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1368 .L344: 1369 .align 2 1370 .L343: 1371 01a8 009800FC .word -67069952 1372 01ac 00E800FE .word -33495040 1373 01b0 009C00FC .word -67068928 1374 01b4 0000FF01 .word 33488896 1376 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits 1377 .align 1 1378 .p2align 2,,3 1379 .global HAL_I2C_Slave_Transmit 1380 .syntax unified 1381 .thumb 1382 .thumb_func 1383 .fpu fpv4-sp-d16 1385 HAL_I2C_Slave_Transmit: 1386 @ args = 0, pretend = 0, frame = 0 1387 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccpzG7eY.s page 25 1388 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 1389 0004 0446 mov r4, r0 1390 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 1391 000a 2028 cmp r0, #32 1392 000c 69D1 bne .L390 1393 000e 0D46 mov r5, r1 1394 0010 0029 cmp r1, #0 1395 0012 5FD0 beq .L347 1396 0014 1646 mov r6, r2 1397 0016 002A cmp r2, #0 1398 0018 5CD0 beq .L347 1399 001a 1F46 mov r7, r3 1400 001c 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 1401 0020 012B cmp r3, #1 1402 0022 5ED0 beq .L390 1403 0024 0123 movs r3, #1 1404 0026 84F84030 strb r3, [r4, #64] 1405 002a 5FFA80F9 uxtb r9, r0 1406 002e FFF7FEFF bl HAL_GetTick 1407 0032 0023 movs r3, #0 1408 0034 6562 str r5, [r4, #36] 1409 0036 2122 movs r2, #33 1410 0038 2568 ldr r5, [r4] 1411 003a 84F84120 strb r2, [r4, #65] 1412 003e 84F84290 strb r9, [r4, #66] 1413 0042 6364 str r3, [r4, #68] 1414 0044 6685 strh r6, [r4, #42] @ movhi 1415 0046 6363 str r3, [r4, #52] 1416 0048 6B68 ldr r3, [r5, #4] 1417 004a 23F40043 bic r3, r3, #32768 1418 004e 8046 mov r8, r0 1419 0050 6B60 str r3, [r5, #4] 1420 .L349: 1421 0052 7A1C adds r2, r7, #1 1422 0054 49D1 bne .L352 1423 .L353: 1424 0056 AE69 ldr r6, [r5, #24] 1425 0058 3307 lsls r3, r6, #28 1426 005a FCD5 bpl .L353 1427 005c 0823 movs r3, #8 1428 005e EB61 str r3, [r5, #28] 1429 0060 E368 ldr r3, [r4, #12] 1430 0062 022B cmp r3, #2 1431 0064 22D0 beq .L359 1432 .L366: 1433 0066 AB69 ldr r3, [r5, #24] 1434 0068 DB03 lsls r3, r3, #15 1435 006a FCD5 bpl .L366 1436 .L367: 1437 006c 638D ldrh r3, [r4, #42] 1438 006e 9BB2 uxth r3, r3 1439 0070 73B9 cbnz r3, .L371 1440 0072 51E0 b .L373 1441 .L370: 1442 0074 626A ldr r2, [r4, #36] 1443 0076 2568 ldr r5, [r4] 1444 0078 12F8013B ldrb r3, [r2], #1 @ zero_extendqisi2 ARM GAS /tmp/ccpzG7eY.s page 26 1445 007c AB62 str r3, [r5, #40] 1446 007e 638D ldrh r3, [r4, #42] 1447 0080 6262 str r2, [r4, #36] 1448 0082 013B subs r3, r3, #1 1449 0084 9BB2 uxth r3, r3 1450 0086 6385 strh r3, [r4, #42] @ movhi 1451 0088 638D ldrh r3, [r4, #42] 1452 008a 9BB2 uxth r3, r3 1453 008c 002B cmp r3, #0 1454 008e 43D0 beq .L373 1455 .L371: 1456 0090 4246 mov r2, r8 1457 0092 3946 mov r1, r7 1458 0094 2046 mov r0, r4 1459 0096 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1460 009a 0028 cmp r0, #0 1461 009c EAD0 beq .L370 1462 009e 2268 ldr r2, [r4] 1463 00a0 5368 ldr r3, [r2, #4] 1464 00a2 43F40043 orr r3, r3, #32768 1465 00a6 0125 movs r5, #1 1466 00a8 5360 str r3, [r2, #4] 1467 00aa 17E0 b .L420 1468 .L359: 1469 00ac AB69 ldr r3, [r5, #24] 1470 00ae 1807 lsls r0, r3, #28 1471 00b0 FCD5 bpl .L359 1472 .L360: 1473 00b2 0823 movs r3, #8 1474 00b4 EB61 str r3, [r5, #28] 1475 .L362: 1476 00b6 7A1C adds r2, r7, #1 1477 00b8 D5D0 beq .L366 1478 00ba AB69 ldr r3, [r5, #24] 1479 00bc DE03 lsls r6, r3, #15 1480 00be D5D4 bmi .L367 1481 00c0 FFF7FEFF bl HAL_GetTick 1482 00c4 A0EB0800 sub r0, r0, r8 1483 00c8 8742 cmp r7, r0 1484 00ca 42D3 bcc .L382 1485 00cc 002F cmp r7, #0 1486 00ce 40D0 beq .L382 1487 00d0 2568 ldr r5, [r4] 1488 00d2 F0E7 b .L362 1489 .L347: 1490 00d4 4FF40073 mov r3, #512 1491 00d8 6364 str r3, [r4, #68] 1492 00da 0125 movs r5, #1 1493 .L420: 1494 00dc 2846 mov r0, r5 1495 00de BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 1496 .L390: 1497 00e2 0225 movs r5, #2 1498 00e4 2846 mov r0, r5 1499 00e6 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 1500 .L352: 1501 00ea AB69 ldr r3, [r5, #24] ARM GAS /tmp/ccpzG7eY.s page 27 1502 00ec 1E07 lsls r6, r3, #28 1503 00ee 6BD4 bmi .L423 1504 00f0 FFF7FEFF bl HAL_GetTick 1505 00f4 A0EB0800 sub r0, r0, r8 1506 00f8 8742 cmp r7, r0 1507 00fa 2AD3 bcc .L382 1508 00fc 4FB3 cbz r7, .L382 1509 00fe 2568 ldr r5, [r4] 1510 0100 A7E7 b .L349 1511 .L374: 1512 0102 AB69 ldr r3, [r5, #24] 1513 0104 DA06 lsls r2, r3, #27 1514 0106 0CD4 bmi .L376 1515 0108 FFF7FEFF bl HAL_GetTick 1516 010c A0EB0800 sub r0, r0, r8 1517 0110 8742 cmp r7, r0 1518 0112 1ED3 bcc .L382 1519 0114 EFB1 cbz r7, .L382 1520 0116 2568 ldr r5, [r4] 1521 .L373: 1522 0118 781C adds r0, r7, #1 1523 011a F2D1 bne .L374 1524 .L375: 1525 011c AB69 ldr r3, [r5, #24] 1526 011e D906 lsls r1, r3, #27 1527 0120 FCD5 bpl .L375 1528 .L376: 1529 0122 AB69 ldr r3, [r5, #24] 1530 0124 9B07 lsls r3, r3, #30 1531 0126 44BF itt mi 1532 0128 0023 movmi r3, #0 1533 012a AB62 strmi r3, [r5, #40] 1534 012c AB69 ldr r3, [r5, #24] 1535 012e DE07 lsls r6, r3, #31 1536 0130 24D5 bpl .L424 1537 .L379: 1538 0132 1023 movs r3, #16 1539 0134 EB61 str r3, [r5, #28] 1540 0136 4246 mov r2, r8 1541 0138 3946 mov r1, r7 1542 013a 2046 mov r0, r4 1543 013c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 1544 0140 2268 ldr r2, [r4] 1545 0142 0546 mov r5, r0 1546 0144 F8B1 cbz r0, .L380 1547 0146 5368 ldr r3, [r2, #4] 1548 0148 43F40043 orr r3, r3, #32768 1549 014c 0125 movs r5, #1 1550 014e 5360 str r3, [r2, #4] 1551 0150 C4E7 b .L420 1552 .L382: 1553 0152 636C ldr r3, [r4, #68] 1554 0154 2268 ldr r2, [r4] 1555 0156 0021 movs r1, #0 1556 0158 43F02003 orr r3, r3, #32 1557 015c 2020 movs r0, #32 1558 015e 6364 str r3, [r4, #68] ARM GAS /tmp/ccpzG7eY.s page 28 1559 0160 84F84010 strb r1, [r4, #64] 1560 0164 84F84100 strb r0, [r4, #65] 1561 0168 84F84210 strb r1, [r4, #66] 1562 016c 5368 ldr r3, [r2, #4] 1563 016e 0125 movs r5, #1 1564 0170 43F40043 orr r3, r3, #32768 1565 0174 5360 str r3, [r2, #4] 1566 0176 2846 mov r0, r5 1567 0178 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 1568 .L424: 1569 017c AB69 ldr r3, [r5, #24] 1570 017e 43F00103 orr r3, r3, #1 1571 0182 AB61 str r3, [r5, #24] 1572 0184 D5E7 b .L379 1573 .L380: 1574 0186 2023 movs r3, #32 1575 0188 D361 str r3, [r2, #28] 1576 .L381: 1577 018a 781C adds r0, r7, #1 1578 018c 0FD1 bne .L384 1579 .L385: 1580 018e 9369 ldr r3, [r2, #24] 1581 0190 1904 lsls r1, r3, #16 1582 0192 FCD4 bmi .L385 1583 .L386: 1584 0194 5368 ldr r3, [r2, #4] 1585 0196 0021 movs r1, #0 1586 0198 43F40043 orr r3, r3, #32768 1587 019c 2020 movs r0, #32 1588 019e 5360 str r3, [r2, #4] 1589 01a0 84F84100 strb r0, [r4, #65] 1590 01a4 84F84010 strb r1, [r4, #64] 1591 01a8 84F84210 strb r1, [r4, #66] 1592 01ac 96E7 b .L420 1593 .L384: 1594 01ae 9369 ldr r3, [r2, #24] 1595 01b0 1B04 lsls r3, r3, #16 1596 01b2 EFD5 bpl .L386 1597 01b4 FFF7FEFF bl HAL_GetTick 1598 01b8 A0EB0800 sub r0, r0, r8 1599 01bc 8742 cmp r7, r0 1600 01be C8D3 bcc .L382 1601 01c0 002F cmp r7, #0 1602 01c2 C6D0 beq .L382 1603 01c4 2268 ldr r2, [r4] 1604 01c6 E0E7 b .L381 1605 .L423: 1606 01c8 0823 movs r3, #8 1607 01ca EB61 str r3, [r5, #28] 1608 01cc E368 ldr r3, [r4, #12] 1609 01ce 022B cmp r3, #2 1610 01d0 7FF471AF bne .L362 1611 01d4 08E0 b .L356 1612 .L361: 1613 01d6 FFF7FEFF bl HAL_GetTick 1614 01da A0EB0800 sub r0, r0, r8 1615 01de 8742 cmp r7, r0 ARM GAS /tmp/ccpzG7eY.s page 29 1616 01e0 B7D3 bcc .L382 1617 01e2 002F cmp r7, #0 1618 01e4 B5D0 beq .L382 1619 01e6 2568 ldr r5, [r4] 1620 .L356: 1621 01e8 AB69 ldr r3, [r5, #24] 1622 01ea 1907 lsls r1, r3, #28 1623 01ec F3D5 bpl .L361 1624 01ee 60E7 b .L360 1626 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits 1627 .align 1 1628 .p2align 2,,3 1629 .global HAL_I2C_Slave_Receive 1630 .syntax unified 1631 .thumb 1632 .thumb_func 1633 .fpu fpv4-sp-d16 1635 HAL_I2C_Slave_Receive: 1636 @ args = 0, pretend = 0, frame = 0 1637 @ frame_needed = 0, uses_anonymous_args = 0 1638 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 1639 0004 0446 mov r4, r0 1640 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 1641 000a 2028 cmp r0, #32 1642 000c 6BD1 bne .L456 1643 000e 0D46 mov r5, r1 1644 0010 0029 cmp r1, #0 1645 0012 61D0 beq .L427 1646 0014 9146 mov r9, r2 1647 0016 002A cmp r2, #0 1648 0018 5ED0 beq .L427 1649 001a 1F46 mov r7, r3 1650 001c 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 1651 0020 012B cmp r3, #1 1652 0022 60D0 beq .L456 1653 0024 0123 movs r3, #1 1654 0026 84F84030 strb r3, [r4, #64] 1655 002a 5FFA80FA uxtb r10, r0 1656 002e FFF7FEFF bl HAL_GetTick 1657 0032 0023 movs r3, #0 1658 0034 2222 movs r2, #34 1659 0036 84F84120 strb r2, [r4, #65] 1660 003a 2668 ldr r6, [r4] 1661 003c 84F842A0 strb r10, [r4, #66] 1662 0040 6364 str r3, [r4, #68] 1663 0042 A4F82A90 strh r9, [r4, #42] @ movhi 1664 0046 6363 str r3, [r4, #52] 1665 0048 638D ldrh r3, [r4, #42] 1666 004a 2385 strh r3, [r4, #40] @ movhi 1667 004c 7368 ldr r3, [r6, #4] 1668 004e 6562 str r5, [r4, #36] 1669 0050 23F40043 bic r3, r3, #32768 1670 0054 8046 mov r8, r0 1671 0056 7360 str r3, [r6, #4] 1672 .L429: 1673 0058 7D1C adds r5, r7, #1 1674 005a 48D1 bne .L432 ARM GAS /tmp/ccpzG7eY.s page 30 1675 .L433: 1676 005c B569 ldr r5, [r6, #24] 1677 005e 2807 lsls r0, r5, #28 1678 0060 FCD5 bpl .L433 1679 .L434: 1680 0062 0823 movs r3, #8 1681 0064 F361 str r3, [r6, #28] 1682 .L436: 1683 0066 7A1C adds r2, r7, #1 1684 0068 62D1 bne .L439 1685 .L440: 1686 006a B369 ldr r3, [r6, #24] 1687 006c DB03 lsls r3, r3, #15 1688 006e FCD4 bmi .L440 1689 .L441: 1690 0070 638D ldrh r3, [r4, #42] 1691 0072 9BB2 uxth r3, r3 1692 0074 93B9 cbnz r3, .L443 1693 0076 68E0 b .L447 1694 .L446: 1695 0078 2268 ldr r2, [r4] 1696 007a 636A ldr r3, [r4, #36] 1697 007c 526A ldr r2, [r2, #36] 1698 007e 1A70 strb r2, [r3] 1699 0080 638D ldrh r3, [r4, #42] 1700 0082 616A ldr r1, [r4, #36] 1701 0084 228D ldrh r2, [r4, #40] 1702 0086 013B subs r3, r3, #1 1703 0088 9BB2 uxth r3, r3 1704 008a 6385 strh r3, [r4, #42] @ movhi 1705 008c 638D ldrh r3, [r4, #42] 1706 008e 0131 adds r1, r1, #1 1707 0090 013A subs r2, r2, #1 1708 0092 9BB2 uxth r3, r3 1709 0094 6162 str r1, [r4, #36] 1710 0096 2285 strh r2, [r4, #40] @ movhi 1711 0098 002B cmp r3, #0 1712 009a 56D0 beq .L447 1713 .L443: 1714 009c 4246 mov r2, r8 1715 009e 3946 mov r1, r7 1716 00a0 2046 mov r0, r4 1717 00a2 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout 1718 00a6 0028 cmp r0, #0 1719 00a8 E6D0 beq .L446 1720 00aa 2368 ldr r3, [r4] 1721 00ac 5A68 ldr r2, [r3, #4] 1722 00ae 42F40042 orr r2, r2, #32768 1723 00b2 5A60 str r2, [r3, #4] 1724 00b4 9A69 ldr r2, [r3, #24] 1725 00b6 5507 lsls r5, r2, #29 1726 00b8 6AD5 bpl .L457 1727 00ba 626A ldr r2, [r4, #36] 1728 00bc 5B6A ldr r3, [r3, #36] 1729 00be 1370 strb r3, [r2] 1730 00c0 638D ldrh r3, [r4, #42] 1731 00c2 616A ldr r1, [r4, #36] ARM GAS /tmp/ccpzG7eY.s page 31 1732 00c4 228D ldrh r2, [r4, #40] 1733 00c6 013B subs r3, r3, #1 1734 00c8 0131 adds r1, r1, #1 1735 00ca 9BB2 uxth r3, r3 1736 00cc 013A subs r2, r2, #1 1737 00ce 6162 str r1, [r4, #36] 1738 00d0 6385 strh r3, [r4, #42] @ movhi 1739 00d2 2285 strh r2, [r4, #40] @ movhi 1740 00d4 0125 movs r5, #1 1741 00d6 03E0 b .L426 1742 .L427: 1743 00d8 4FF40073 mov r3, #512 1744 00dc 6364 str r3, [r4, #68] 1745 00de 0125 movs r5, #1 1746 .L426: 1747 00e0 2846 mov r0, r5 1748 00e2 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1749 .L456: 1750 00e6 0225 movs r5, #2 1751 00e8 2846 mov r0, r5 1752 00ea BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1753 .L432: 1754 00ee B369 ldr r3, [r6, #24] 1755 00f0 1907 lsls r1, r3, #28 1756 00f2 B6D4 bmi .L434 1757 00f4 FFF7FEFF bl HAL_GetTick 1758 00f8 A0EB0800 sub r0, r0, r8 1759 00fc 8742 cmp r7, r0 1760 00fe 02D3 bcc .L449 1761 0100 0FB1 cbz r7, .L449 1762 0102 2668 ldr r6, [r4] 1763 0104 A8E7 b .L429 1764 .L449: 1765 0106 636C ldr r3, [r4, #68] 1766 0108 2268 ldr r2, [r4] 1767 010a 0021 movs r1, #0 1768 010c 43F02003 orr r3, r3, #32 1769 0110 2020 movs r0, #32 1770 0112 6364 str r3, [r4, #68] 1771 0114 84F84010 strb r1, [r4, #64] 1772 0118 84F84100 strb r0, [r4, #65] 1773 011c 84F84210 strb r1, [r4, #66] 1774 0120 5368 ldr r3, [r2, #4] 1775 0122 0125 movs r5, #1 1776 0124 43F40043 orr r3, r3, #32768 1777 0128 5360 str r3, [r2, #4] 1778 012a 2846 mov r0, r5 1779 012c BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1780 .L439: 1781 0130 B369 ldr r3, [r6, #24] 1782 0132 DE03 lsls r6, r3, #15 1783 0134 9CD5 bpl .L441 1784 0136 FFF7FEFF bl HAL_GetTick 1785 013a A0EB0800 sub r0, r0, r8 1786 013e 8742 cmp r7, r0 1787 0140 E1D3 bcc .L449 1788 0142 002F cmp r7, #0 ARM GAS /tmp/ccpzG7eY.s page 32 1789 0144 DFD0 beq .L449 1790 0146 2668 ldr r6, [r4] 1791 0148 8DE7 b .L436 1792 .L447: 1793 014a 4246 mov r2, r8 1794 014c 3946 mov r1, r7 1795 014e 2046 mov r0, r4 1796 0150 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 1797 0154 0546 mov r5, r0 1798 0156 30B1 cbz r0, .L469 1799 0158 2268 ldr r2, [r4] 1800 015a 5368 ldr r3, [r2, #4] 1801 015c 43F40043 orr r3, r3, #32768 1802 0160 0125 movs r5, #1 1803 0162 5360 str r3, [r2, #4] 1804 0164 BCE7 b .L426 1805 .L469: 1806 0166 2268 ldr r2, [r4] 1807 0168 2023 movs r3, #32 1808 016a D361 str r3, [r2, #28] 1809 .L448: 1810 016c 781C adds r0, r7, #1 1811 016e 11D1 bne .L451 1812 .L452: 1813 0170 9369 ldr r3, [r2, #24] 1814 0172 1904 lsls r1, r3, #16 1815 0174 FCD4 bmi .L452 1816 .L453: 1817 0176 5368 ldr r3, [r2, #4] 1818 0178 0021 movs r1, #0 1819 017a 43F40043 orr r3, r3, #32768 1820 017e 2020 movs r0, #32 1821 0180 5360 str r3, [r2, #4] 1822 0182 84F84100 strb r0, [r4, #65] 1823 0186 84F84010 strb r1, [r4, #64] 1824 018a 84F84210 strb r1, [r4, #66] 1825 018e A7E7 b .L426 1826 .L457: 1827 0190 0125 movs r5, #1 1828 0192 A5E7 b .L426 1829 .L451: 1830 0194 9369 ldr r3, [r2, #24] 1831 0196 1B04 lsls r3, r3, #16 1832 0198 EDD5 bpl .L453 1833 019a FFF7FEFF bl HAL_GetTick 1834 019e A0EB0800 sub r0, r0, r8 1835 01a2 8742 cmp r7, r0 1836 01a4 AFD3 bcc .L449 1837 01a6 002F cmp r7, #0 1838 01a8 ADD0 beq .L449 1839 01aa 2268 ldr r2, [r4] 1840 01ac DEE7 b .L448 1842 01ae 00BF .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits 1843 .align 1 1844 .p2align 2,,3 1845 .global HAL_I2C_Master_Transmit_IT 1846 .syntax unified ARM GAS /tmp/ccpzG7eY.s page 33 1847 .thumb 1848 .thumb_func 1849 .fpu fpv4-sp-d16 1851 HAL_I2C_Master_Transmit_IT: 1852 @ args = 0, pretend = 0, frame = 0 1853 @ frame_needed = 0, uses_anonymous_args = 0 1854 @ link register save eliminated. 1855 0000 30B4 push {r4, r5} 1856 0002 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2 1857 0006 202C cmp r4, #32 1858 0008 3AD1 bne .L475 1859 000a 0568 ldr r5, [r0] 1860 000c AC69 ldr r4, [r5, #24] 1861 000e 14F40044 ands r4, r4, #32768 1862 0012 35D1 bne .L475 1863 0014 90F840C0 ldrb ip, [r0, #64] @ zero_extendqisi2 1864 0018 BCF1010F cmp ip, #1 1865 001c 30D0 beq .L475 1866 001e 4FF0210C mov ip, #33 1867 0022 80F841C0 strb ip, [r0, #65] 1868 0026 4262 str r2, [r0, #36] 1869 0028 4FF0100C mov ip, #16 1870 002c 194A ldr r2, .L478 1871 002e 80F842C0 strb ip, [r0, #66] 1872 0032 4464 str r4, [r0, #68] 1873 0034 4385 strh r3, [r0, #42] @ movhi 1874 0036 C262 str r2, [r0, #44] 1875 0038 438D ldrh r3, [r0, #42] 1876 003a 174A ldr r2, .L478+4 1877 003c 4263 str r2, [r0, #52] 1878 003e 9BB2 uxth r3, r3 1879 0040 FF2B cmp r3, #255 1880 0042 20D8 bhi .L476 1881 0044 438D ldrh r3, [r0, #42] 1882 0046 1FFA83FC uxth ip, r3 1883 004a DBB2 uxtb r3, r3 1884 004c 1A04 lsls r2, r3, #16 1885 004e 4FF00074 mov r4, #33554432 1886 .L472: 1887 0052 C1F30903 ubfx r3, r1, #0, #10 1888 0056 1343 orrs r3, r3, r2 1889 0058 1049 ldr r1, .L478+8 1890 005a 6A68 ldr r2, [r5, #4] 1891 005c A0F828C0 strh ip, [r0, #40] @ movhi 1892 0060 0A40 ands r2, r2, r1 1893 0062 1343 orrs r3, r3, r2 1894 0064 2343 orrs r3, r3, r4 1895 0066 0022 movs r2, #0 1896 0068 43F40053 orr r3, r3, #8192 1897 006c 6B60 str r3, [r5, #4] 1898 006e 80F84020 strb r2, [r0, #64] 1899 0072 2B68 ldr r3, [r5] 1900 0074 43F0F203 orr r3, r3, #242 1901 0078 1046 mov r0, r2 1902 007a 2B60 str r3, [r5] 1903 007c 30BC pop {r4, r5} 1904 007e 7047 bx lr ARM GAS /tmp/ccpzG7eY.s page 34 1905 .L475: 1906 0080 0220 movs r0, #2 1907 0082 30BC pop {r4, r5} 1908 0084 7047 bx lr 1909 .L476: 1910 0086 4FF47F02 mov r2, #16711680 1911 008a 4FF0FF0C mov ip, #255 1912 008e 4FF08074 mov r4, #16777216 1913 0092 DEE7 b .L472 1914 .L479: 1915 .align 2 1916 .L478: 1917 0094 0000FFFF .word -65536 1918 0098 00000000 .word I2C_Master_ISR_IT 1919 009c 009800FC .word -67069952 1921 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits 1922 .align 1 1923 .p2align 2,,3 1924 .global HAL_I2C_Master_Receive_IT 1925 .syntax unified 1926 .thumb 1927 .thumb_func 1928 .fpu fpv4-sp-d16 1930 HAL_I2C_Master_Receive_IT: 1931 @ args = 0, pretend = 0, frame = 0 1932 @ frame_needed = 0, uses_anonymous_args = 0 1933 @ link register save eliminated. 1934 0000 30B4 push {r4, r5} 1935 0002 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2 1936 0006 202C cmp r4, #32 1937 0008 3AD1 bne .L485 1938 000a 0568 ldr r5, [r0] 1939 000c AC69 ldr r4, [r5, #24] 1940 000e 14F40044 ands r4, r4, #32768 1941 0012 35D1 bne .L485 1942 0014 90F840C0 ldrb ip, [r0, #64] @ zero_extendqisi2 1943 0018 BCF1010F cmp ip, #1 1944 001c 30D0 beq .L485 1945 001e 4FF0220C mov ip, #34 1946 0022 80F841C0 strb ip, [r0, #65] 1947 0026 4262 str r2, [r0, #36] 1948 0028 4FF0100C mov ip, #16 1949 002c 194A ldr r2, .L488 1950 002e 80F842C0 strb ip, [r0, #66] 1951 0032 4464 str r4, [r0, #68] 1952 0034 4385 strh r3, [r0, #42] @ movhi 1953 0036 C262 str r2, [r0, #44] 1954 0038 438D ldrh r3, [r0, #42] 1955 003a 174A ldr r2, .L488+4 1956 003c 4263 str r2, [r0, #52] 1957 003e 9BB2 uxth r3, r3 1958 0040 FF2B cmp r3, #255 1959 0042 20D8 bhi .L486 1960 0044 438D ldrh r3, [r0, #42] 1961 0046 1FFA83FC uxth ip, r3 1962 004a DBB2 uxtb r3, r3 1963 004c 1A04 lsls r2, r3, #16 ARM GAS /tmp/ccpzG7eY.s page 35 1964 004e 4FF00074 mov r4, #33554432 1965 .L482: 1966 0052 C1F30903 ubfx r3, r1, #0, #10 1967 0056 1343 orrs r3, r3, r2 1968 0058 1049 ldr r1, .L488+8 1969 005a 6A68 ldr r2, [r5, #4] 1970 005c A0F828C0 strh ip, [r0, #40] @ movhi 1971 0060 0A40 ands r2, r2, r1 1972 0062 1343 orrs r3, r3, r2 1973 0064 2343 orrs r3, r3, r4 1974 0066 0022 movs r2, #0 1975 0068 43F41053 orr r3, r3, #9216 1976 006c 6B60 str r3, [r5, #4] 1977 006e 80F84020 strb r2, [r0, #64] 1978 0072 2B68 ldr r3, [r5] 1979 0074 43F0F403 orr r3, r3, #244 1980 0078 1046 mov r0, r2 1981 007a 2B60 str r3, [r5] 1982 007c 30BC pop {r4, r5} 1983 007e 7047 bx lr 1984 .L485: 1985 0080 0220 movs r0, #2 1986 0082 30BC pop {r4, r5} 1987 0084 7047 bx lr 1988 .L486: 1989 0086 4FF47F02 mov r2, #16711680 1990 008a 4FF0FF0C mov ip, #255 1991 008e 4FF08074 mov r4, #16777216 1992 0092 DEE7 b .L482 1993 .L489: 1994 .align 2 1995 .L488: 1996 0094 0000FFFF .word -65536 1997 0098 00000000 .word I2C_Master_ISR_IT 1998 009c 009800FC .word -67069952 2000 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits 2001 .align 1 2002 .p2align 2,,3 2003 .global HAL_I2C_Slave_Transmit_IT 2004 .syntax unified 2005 .thumb 2006 .thumb_func 2007 .fpu fpv4-sp-d16 2009 HAL_I2C_Slave_Transmit_IT: 2010 @ args = 0, pretend = 0, frame = 0 2011 @ frame_needed = 0, uses_anonymous_args = 0 2012 @ link register save eliminated. 2013 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2014 0004 202B cmp r3, #32 2015 0006 22D1 bne .L492 2016 0008 30B4 push {r4, r5} 2017 000a DDB2 uxtb r5, r3 2018 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2019 0010 012B cmp r3, #1 2020 0012 1ED0 beq .L493 2021 0014 2123 movs r3, #33 2022 0016 80F84130 strb r3, [r0, #65] ARM GAS /tmp/ccpzG7eY.s page 36 2023 001a 0468 ldr r4, [r0] 2024 001c 80F84250 strb r5, [r0, #66] 2025 0020 0023 movs r3, #0 2026 0022 4364 str r3, [r0, #68] 2027 0024 6568 ldr r5, [r4, #4] 2028 0026 25F40045 bic r5, r5, #32768 2029 002a 6560 str r5, [r4, #4] 2030 002c 4285 strh r2, [r0, #42] @ movhi 2031 002e 428D ldrh r2, [r0, #42] 2032 0030 0285 strh r2, [r0, #40] @ movhi 2033 0032 094A ldr r2, .L498 2034 0034 80F84030 strb r3, [r0, #64] 2035 0038 C262 str r2, [r0, #44] 2036 003a 2268 ldr r2, [r4] 2037 003c 4162 str r1, [r0, #36] 2038 003e 42F0FA02 orr r2, r2, #250 2039 0042 0649 ldr r1, .L498+4 2040 0044 4163 str r1, [r0, #52] 2041 0046 1846 mov r0, r3 2042 0048 2260 str r2, [r4] 2043 004a 30BC pop {r4, r5} 2044 004c 7047 bx lr 2045 .L492: 2046 004e 0220 movs r0, #2 2047 0050 7047 bx lr 2048 .L493: 2049 0052 0220 movs r0, #2 2050 0054 30BC pop {r4, r5} 2051 0056 7047 bx lr 2052 .L499: 2053 .align 2 2054 .L498: 2055 0058 0000FFFF .word -65536 2056 005c 00000000 .word I2C_Slave_ISR_IT 2058 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits 2059 .align 1 2060 .p2align 2,,3 2061 .global HAL_I2C_Slave_Receive_IT 2062 .syntax unified 2063 .thumb 2064 .thumb_func 2065 .fpu fpv4-sp-d16 2067 HAL_I2C_Slave_Receive_IT: 2068 @ args = 0, pretend = 0, frame = 0 2069 @ frame_needed = 0, uses_anonymous_args = 0 2070 @ link register save eliminated. 2071 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2072 0004 202B cmp r3, #32 2073 0006 22D1 bne .L502 2074 0008 30B4 push {r4, r5} 2075 000a DDB2 uxtb r5, r3 2076 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2077 0010 012B cmp r3, #1 2078 0012 1ED0 beq .L503 2079 0014 2223 movs r3, #34 2080 0016 80F84130 strb r3, [r0, #65] 2081 001a 0468 ldr r4, [r0] ARM GAS /tmp/ccpzG7eY.s page 37 2082 001c 80F84250 strb r5, [r0, #66] 2083 0020 0023 movs r3, #0 2084 0022 4364 str r3, [r0, #68] 2085 0024 6568 ldr r5, [r4, #4] 2086 0026 25F40045 bic r5, r5, #32768 2087 002a 6560 str r5, [r4, #4] 2088 002c 4285 strh r2, [r0, #42] @ movhi 2089 002e 428D ldrh r2, [r0, #42] 2090 0030 0285 strh r2, [r0, #40] @ movhi 2091 0032 094A ldr r2, .L508 2092 0034 80F84030 strb r3, [r0, #64] 2093 0038 C262 str r2, [r0, #44] 2094 003a 2268 ldr r2, [r4] 2095 003c 4162 str r1, [r0, #36] 2096 003e 42F0FC02 orr r2, r2, #252 2097 0042 0649 ldr r1, .L508+4 2098 0044 4163 str r1, [r0, #52] 2099 0046 1846 mov r0, r3 2100 0048 2260 str r2, [r4] 2101 004a 30BC pop {r4, r5} 2102 004c 7047 bx lr 2103 .L502: 2104 004e 0220 movs r0, #2 2105 0050 7047 bx lr 2106 .L503: 2107 0052 0220 movs r0, #2 2108 0054 30BC pop {r4, r5} 2109 0056 7047 bx lr 2110 .L509: 2111 .align 2 2112 .L508: 2113 0058 0000FFFF .word -65536 2114 005c 00000000 .word I2C_Slave_ISR_IT 2116 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits 2117 .align 1 2118 .p2align 2,,3 2119 .global HAL_I2C_Master_Transmit_DMA 2120 .syntax unified 2121 .thumb 2122 .thumb_func 2123 .fpu fpv4-sp-d16 2125 HAL_I2C_Master_Transmit_DMA: 2126 @ args = 0, pretend = 0, frame = 0 2127 @ frame_needed = 0, uses_anonymous_args = 0 2128 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 2129 0004 0446 mov r4, r0 2130 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 2131 000a 2028 cmp r0, #32 2132 000c 3BD1 bne .L521 2133 000e 2668 ldr r6, [r4] 2134 0010 B769 ldr r7, [r6, #24] 2135 0012 17F40047 ands r7, r7, #32768 2136 0016 36D1 bne .L521 2137 0018 0D46 mov r5, r1 2138 001a 1146 mov r1, r2 2139 001c 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 2140 0020 012A cmp r2, #1 ARM GAS /tmp/ccpzG7eY.s page 38 2141 0022 30D0 beq .L521 2142 0024 2120 movs r0, #33 2143 0026 84F84100 strb r0, [r4, #65] 2144 002a 494A ldr r2, .L529 2145 002c DFF83081 ldr r8, .L529+16 2146 0030 6162 str r1, [r4, #36] 2147 0032 1020 movs r0, #16 2148 0034 84F84200 strb r0, [r4, #66] 2149 0038 6764 str r7, [r4, #68] 2150 003a 6385 strh r3, [r4, #42] @ movhi 2151 003c E262 str r2, [r4, #44] 2152 003e 638D ldrh r3, [r4, #42] 2153 0040 C4F83480 str r8, [r4, #52] 2154 0044 9BB2 uxth r3, r3 2155 0046 0122 movs r2, #1 2156 0048 FF2B cmp r3, #255 2157 004a 84F84020 strb r2, [r4, #64] 2158 004e 1DD8 bhi .L512 2159 0050 608D ldrh r0, [r4, #42] 2160 0052 83B2 uxth r3, r0 2161 0054 2385 strh r3, [r4, #40] @ movhi 2162 0056 002B cmp r3, #0 2163 0058 67D1 bne .L527 2164 005a 3E4A ldr r2, .L529+4 2165 005c 6263 str r2, [r4, #52] 2166 005e 3E49 ldr r1, .L529+8 2167 0060 7268 ldr r2, [r6, #4] 2168 0062 C5F30905 ubfx r5, r5, #0, #10 2169 0066 0A40 ands r2, r2, r1 2170 0068 1543 orrs r5, r5, r2 2171 006a 45F00075 orr r5, r5, #33554432 2172 006e 45F40055 orr r5, r5, #8192 2173 0072 7560 str r5, [r6, #4] 2174 0074 84F84030 strb r3, [r4, #64] 2175 0078 3268 ldr r2, [r6] 2176 007a 42F0F202 orr r2, r2, #242 2177 007e 1846 mov r0, r3 2178 0080 3260 str r2, [r6] 2179 0082 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2180 .L521: 2181 0086 0220 movs r0, #2 2182 .L525: 2183 0088 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2184 .L512: 2185 008c FF20 movs r0, #255 2186 008e 2085 strh r0, [r4, #40] @ movhi 2187 0090 0346 mov r3, r0 2188 0092 4FF08079 mov r9, #16777216 2189 .L518: 2190 0096 A06B ldr r0, [r4, #56] 2191 0098 0028 cmp r0, #0 2192 009a 49D0 beq .L514 2193 009c DFF8C4C0 ldr ip, .L529+20 2194 00a0 C0F82CC0 str ip, [r0, #44] 2195 00a4 06F12802 add r2, r6, #40 2196 00a8 DFF8BCC0 ldr ip, .L529+24 2197 00ac C0F834C0 str ip, [r0, #52] ARM GAS /tmp/ccpzG7eY.s page 39 2198 00b0 0026 movs r6, #0 2199 00b2 0663 str r6, [r0, #48] 2200 00b4 8663 str r6, [r0, #56] 2201 00b6 FFF7FEFF bl HAL_DMA_Start_IT 2202 00ba 40BB cbnz r0, .L528 2203 00bc 2268 ldr r2, [r4] 2204 00be C5F30903 ubfx r3, r5, #0, #10 2205 00c2 5168 ldr r1, [r2, #4] 2206 00c4 244D ldr r5, .L529+8 2207 00c6 43EA0903 orr r3, r3, r9 2208 00ca 01EA0509 and r9, r1, r5 2209 00ce 218D ldrh r1, [r4, #40] 2210 00d0 656B ldr r5, [r4, #52] 2211 00d2 43EA0903 orr r3, r3, r9 2212 00d6 5FFA81F9 uxtb r9, r1 2213 00da 43EA0943 orr r3, r3, r9, lsl #16 2214 00de 43F40053 orr r3, r3, #8192 2215 00e2 5360 str r3, [r2, #4] 2216 00e4 638D ldrh r3, [r4, #42] 2217 00e6 84F84000 strb r0, [r4, #64] 2218 00ea 5B1A subs r3, r3, r1 2219 00ec 9BB2 uxth r3, r3 2220 00ee 4545 cmp r5, r8 2221 00f0 6385 strh r3, [r4, #42] @ movhi 2222 00f2 2AD0 beq .L522 2223 00f4 194B ldr r3, .L529+12 2224 00f6 9D42 cmp r5, r3 2225 00f8 08BF it eq 2226 00fa 9027 moveq r7, #144 2227 .L517: 2228 00fc 1368 ldr r3, [r2] 2229 00fe 1F43 orrs r7, r7, r3 2230 0100 1760 str r7, [r2] 2231 0102 1368 ldr r3, [r2] 2232 0104 43F48043 orr r3, r3, #16384 2233 0108 1360 str r3, [r2] 2234 010a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2235 .L528: 2236 010e 2023 movs r3, #32 2237 0110 84F84130 strb r3, [r4, #65] 2238 0114 84F84260 strb r6, [r4, #66] 2239 0118 636C ldr r3, [r4, #68] 2240 011a 84F84060 strb r6, [r4, #64] 2241 011e 43F01003 orr r3, r3, #16 2242 0122 6364 str r3, [r4, #68] 2243 0124 0120 movs r0, #1 2244 0126 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2245 .L527: 2246 012a 4FF00079 mov r9, #33554432 2247 012e B2E7 b .L518 2248 .L514: 2249 0130 2023 movs r3, #32 2250 0132 84F84130 strb r3, [r4, #65] 2251 0136 84F84200 strb r0, [r4, #66] 2252 013a 636C ldr r3, [r4, #68] 2253 013c 84F84000 strb r0, [r4, #64] 2254 0140 43F08003 orr r3, r3, #128 ARM GAS /tmp/ccpzG7eY.s page 40 2255 0144 6364 str r3, [r4, #68] 2256 0146 0120 movs r0, #1 2257 0148 9EE7 b .L525 2258 .L522: 2259 014a 9027 movs r7, #144 2260 014c D6E7 b .L517 2261 .L530: 2262 014e 00BF .align 2 2263 .L529: 2264 0150 0000FFFF .word -65536 2265 0154 00000000 .word I2C_Master_ISR_IT 2266 0158 009800FC .word -67069952 2267 015c 00000000 .word I2C_Slave_ISR_DMA 2268 0160 00000000 .word I2C_Master_ISR_DMA 2269 0164 00000000 .word I2C_DMAMasterTransmitCplt 2270 0168 00000000 .word I2C_DMAError 2272 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits 2273 .align 1 2274 .p2align 2,,3 2275 .global HAL_I2C_Master_Receive_DMA 2276 .syntax unified 2277 .thumb 2278 .thumb_func 2279 .fpu fpv4-sp-d16 2281 HAL_I2C_Master_Receive_DMA: 2282 @ args = 0, pretend = 0, frame = 0 2283 @ frame_needed = 0, uses_anonymous_args = 0 2284 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 2285 0004 0446 mov r4, r0 2286 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 2287 000a 2028 cmp r0, #32 2288 000c 38D1 bne .L542 2289 000e 0D46 mov r5, r1 2290 0010 2168 ldr r1, [r4] 2291 0012 8E69 ldr r6, [r1, #24] 2292 0014 16F40046 ands r6, r6, #32768 2293 0018 32D1 bne .L542 2294 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 2295 001e 0128 cmp r0, #1 2296 0020 2ED0 beq .L542 2297 0022 2227 movs r7, #34 2298 0024 84F84170 strb r7, [r4, #65] 2299 0028 4848 ldr r0, .L550 2300 002a 6262 str r2, [r4, #36] 2301 002c 1027 movs r7, #16 2302 002e 84F84270 strb r7, [r4, #66] 2303 0032 6664 str r6, [r4, #68] 2304 0034 6385 strh r3, [r4, #42] @ movhi 2305 0036 E062 str r0, [r4, #44] 2306 0038 638D ldrh r3, [r4, #42] 2307 003a 454F ldr r7, .L550+4 2308 003c 6763 str r7, [r4, #52] 2309 003e 9BB2 uxth r3, r3 2310 0040 0120 movs r0, #1 2311 0042 FF2B cmp r3, #255 2312 0044 84F84000 strb r0, [r4, #64] 2313 0048 1DD8 bhi .L533 ARM GAS /tmp/ccpzG7eY.s page 41 2314 004a 608D ldrh r0, [r4, #42] 2315 004c 83B2 uxth r3, r0 2316 004e 2385 strh r3, [r4, #40] @ movhi 2317 0050 002B cmp r3, #0 2318 0052 69D1 bne .L548 2319 0054 3F4A ldr r2, .L550+8 2320 0056 6263 str r2, [r4, #52] 2321 0058 3F48 ldr r0, .L550+12 2322 005a 4A68 ldr r2, [r1, #4] 2323 005c C5F30905 ubfx r5, r5, #0, #10 2324 0060 0240 ands r2, r2, r0 2325 0062 1543 orrs r5, r5, r2 2326 0064 45F00075 orr r5, r5, #33554432 2327 0068 45F41055 orr r5, r5, #9216 2328 006c 4D60 str r5, [r1, #4] 2329 006e 84F84030 strb r3, [r4, #64] 2330 0072 0A68 ldr r2, [r1] 2331 0074 42F0F202 orr r2, r2, #242 2332 0078 1846 mov r0, r3 2333 007a 0A60 str r2, [r1] 2334 007c BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2335 .L542: 2336 0080 0220 movs r0, #2 2337 .L546: 2338 0082 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2339 .L533: 2340 0086 FF20 movs r0, #255 2341 0088 2085 strh r0, [r4, #40] @ movhi 2342 008a 0346 mov r3, r0 2343 008c 4FF08078 mov r8, #16777216 2344 .L539: 2345 0090 E06B ldr r0, [r4, #60] 2346 0092 0028 cmp r0, #0 2347 0094 4BD0 beq .L535 2348 0096 DFF8C8C0 ldr ip, .L550+20 2349 009a C0F82CC0 str ip, [r0, #44] 2350 009e 4FF00009 mov r9, #0 2351 00a2 DFF8C0C0 ldr ip, .L550+24 2352 00a6 C0F83090 str r9, [r0, #48] 2353 00aa 2431 adds r1, r1, #36 2354 00ac C0F83890 str r9, [r0, #56] 2355 00b0 C0F834C0 str ip, [r0, #52] 2356 00b4 FFF7FEFF bl HAL_DMA_Start_IT 2357 00b8 40BB cbnz r0, .L549 2358 00ba 2268 ldr r2, [r4] 2359 00bc C5F30903 ubfx r3, r5, #0, #10 2360 00c0 5168 ldr r1, [r2, #4] 2361 00c2 254D ldr r5, .L550+12 2362 00c4 43EA0803 orr r3, r3, r8 2363 00c8 01EA0508 and r8, r1, r5 2364 00cc 218D ldrh r1, [r4, #40] 2365 00ce 656B ldr r5, [r4, #52] 2366 00d0 43EA0803 orr r3, r3, r8 2367 00d4 5FFA81F8 uxtb r8, r1 2368 00d8 43EA0843 orr r3, r3, r8, lsl #16 2369 00dc 43F41053 orr r3, r3, #9216 2370 00e0 5360 str r3, [r2, #4] ARM GAS /tmp/ccpzG7eY.s page 42 2371 00e2 638D ldrh r3, [r4, #42] 2372 00e4 84F84000 strb r0, [r4, #64] 2373 00e8 5B1A subs r3, r3, r1 2374 00ea 9BB2 uxth r3, r3 2375 00ec BD42 cmp r5, r7 2376 00ee 6385 strh r3, [r4, #42] @ movhi 2377 00f0 2AD0 beq .L543 2378 00f2 1A4B ldr r3, .L550+16 2379 00f4 9D42 cmp r5, r3 2380 00f6 08BF it eq 2381 00f8 9026 moveq r6, #144 2382 .L538: 2383 00fa 1368 ldr r3, [r2] 2384 00fc 1E43 orrs r6, r6, r3 2385 00fe 1660 str r6, [r2] 2386 0100 1368 ldr r3, [r2] 2387 0102 43F40043 orr r3, r3, #32768 2388 0106 1360 str r3, [r2] 2389 0108 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2390 .L549: 2391 010c 2023 movs r3, #32 2392 010e 84F84130 strb r3, [r4, #65] 2393 0112 84F84290 strb r9, [r4, #66] 2394 0116 636C ldr r3, [r4, #68] 2395 0118 84F84090 strb r9, [r4, #64] 2396 011c 43F01003 orr r3, r3, #16 2397 0120 6364 str r3, [r4, #68] 2398 0122 0120 movs r0, #1 2399 0124 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 2400 .L548: 2401 0128 4FF00078 mov r8, #33554432 2402 012c B0E7 b .L539 2403 .L535: 2404 012e 2023 movs r3, #32 2405 0130 84F84130 strb r3, [r4, #65] 2406 0134 84F84200 strb r0, [r4, #66] 2407 0138 636C ldr r3, [r4, #68] 2408 013a 84F84000 strb r0, [r4, #64] 2409 013e 43F08003 orr r3, r3, #128 2410 0142 6364 str r3, [r4, #68] 2411 0144 0120 movs r0, #1 2412 0146 9CE7 b .L546 2413 .L543: 2414 0148 9026 movs r6, #144 2415 014a D6E7 b .L538 2416 .L551: 2417 .align 2 2418 .L550: 2419 014c 0000FFFF .word -65536 2420 0150 00000000 .word I2C_Master_ISR_DMA 2421 0154 00000000 .word I2C_Master_ISR_IT 2422 0158 009800FC .word -67069952 2423 015c 00000000 .word I2C_Slave_ISR_DMA 2424 0160 00000000 .word I2C_DMAMasterReceiveCplt 2425 0164 00000000 .word I2C_DMAError 2427 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits 2428 .align 1 ARM GAS /tmp/ccpzG7eY.s page 43 2429 .p2align 2,,3 2430 .global HAL_I2C_Slave_Transmit_DMA 2431 .syntax unified 2432 .thumb 2433 .thumb_func 2434 .fpu fpv4-sp-d16 2436 HAL_I2C_Slave_Transmit_DMA: 2437 @ args = 0, pretend = 0, frame = 0 2438 @ frame_needed = 0, uses_anonymous_args = 0 2439 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 2440 0002 0446 mov r4, r0 2441 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 2442 0008 2028 cmp r0, #32 2443 000a 3ED1 bne .L560 2444 000c 0029 cmp r1, #0 2445 000e 37D0 beq .L554 2446 0010 002A cmp r2, #0 2447 0012 35D0 beq .L554 2448 0014 5FFA80FC uxtb ip, r0 2449 0018 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 2450 001c 0128 cmp r0, #1 2451 001e 34D0 beq .L560 2452 0020 2123 movs r3, #33 2453 0022 0025 movs r5, #0 2454 0024 84F84130 strb r3, [r4, #65] 2455 0028 84F842C0 strb ip, [r4, #66] 2456 002c 6564 str r5, [r4, #68] 2457 002e 6285 strh r2, [r4, #42] @ movhi 2458 0030 2448 ldr r0, .L567 2459 0032 638D ldrh r3, [r4, #42] 2460 0034 E062 str r0, [r4, #44] 2461 0036 A06B ldr r0, [r4, #56] 2462 0038 234A ldr r2, .L567+4 2463 003a 6162 str r1, [r4, #36] 2464 003c 9BB2 uxth r3, r3 2465 003e 0126 movs r6, #1 2466 0040 2385 strh r3, [r4, #40] @ movhi 2467 0042 6263 str r2, [r4, #52] 2468 0044 84F84060 strb r6, [r4, #64] 2469 0048 70B3 cbz r0, .L556 2470 004a 2268 ldr r2, [r4] 2471 004c 1F4F ldr r7, .L567+8 2472 004e C762 str r7, [r0, #44] 2473 0050 1F4F ldr r7, .L567+12 2474 0052 0563 str r5, [r0, #48] 2475 0054 8563 str r5, [r0, #56] 2476 0056 2832 adds r2, r2, #40 2477 0058 4763 str r7, [r0, #52] 2478 005a FFF7FEFF bl HAL_DMA_Start_IT 2479 005e B0B9 cbnz r0, .L566 2480 0060 2368 ldr r3, [r4] 2481 0062 5A68 ldr r2, [r3, #4] 2482 0064 22F40042 bic r2, r2, #32768 2483 0068 5A60 str r2, [r3, #4] 2484 006a 84F84000 strb r0, [r4, #64] 2485 006e 1A68 ldr r2, [r3] 2486 0070 42F0B802 orr r2, r2, #184 ARM GAS /tmp/ccpzG7eY.s page 44 2487 0074 1A60 str r2, [r3] 2488 0076 1A68 ldr r2, [r3] 2489 0078 42F48042 orr r2, r2, #16384 2490 007c 1A60 str r2, [r3] 2491 007e F8BD pop {r3, r4, r5, r6, r7, pc} 2492 .L554: 2493 0080 4FF40073 mov r3, #512 2494 0084 6364 str r3, [r4, #68] 2495 0086 0120 movs r0, #1 2496 0088 F8BD pop {r3, r4, r5, r6, r7, pc} 2497 .L560: 2498 008a 0220 movs r0, #2 2499 008c F8BD pop {r3, r4, r5, r6, r7, pc} 2500 .L566: 2501 008e 2823 movs r3, #40 2502 0090 84F84130 strb r3, [r4, #65] 2503 0094 84F84250 strb r5, [r4, #66] 2504 0098 636C ldr r3, [r4, #68] 2505 009a 84F84050 strb r5, [r4, #64] 2506 009e 43F01003 orr r3, r3, #16 2507 00a2 6364 str r3, [r4, #68] 2508 00a4 3046 mov r0, r6 2509 00a6 F8BD pop {r3, r4, r5, r6, r7, pc} 2510 .L556: 2511 00a8 2823 movs r3, #40 2512 00aa 84F84130 strb r3, [r4, #65] 2513 00ae 84F84200 strb r0, [r4, #66] 2514 00b2 636C ldr r3, [r4, #68] 2515 00b4 84F84000 strb r0, [r4, #64] 2516 00b8 43F08003 orr r3, r3, #128 2517 00bc 6364 str r3, [r4, #68] 2518 00be 3046 mov r0, r6 2519 00c0 F8BD pop {r3, r4, r5, r6, r7, pc} 2520 .L568: 2521 00c2 00BF .align 2 2522 .L567: 2523 00c4 0000FFFF .word -65536 2524 00c8 00000000 .word I2C_Slave_ISR_DMA 2525 00cc 00000000 .word I2C_DMASlaveTransmitCplt 2526 00d0 00000000 .word I2C_DMAError 2528 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits 2529 .align 1 2530 .p2align 2,,3 2531 .global HAL_I2C_Slave_Receive_DMA 2532 .syntax unified 2533 .thumb 2534 .thumb_func 2535 .fpu fpv4-sp-d16 2537 HAL_I2C_Slave_Receive_DMA: 2538 @ args = 0, pretend = 0, frame = 0 2539 @ frame_needed = 0, uses_anonymous_args = 0 2540 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 2541 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2542 0006 202B cmp r3, #32 2543 0008 40D1 bne .L577 2544 000a 0446 mov r4, r0 2545 000c 0029 cmp r1, #0 ARM GAS /tmp/ccpzG7eY.s page 45 2546 000e 38D0 beq .L571 2547 0010 002A cmp r2, #0 2548 0012 36D0 beq .L571 2549 0014 D8B2 uxtb r0, r3 2550 0016 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 2551 001a 012B cmp r3, #1 2552 001c 36D0 beq .L577 2553 001e 2223 movs r3, #34 2554 0020 0025 movs r5, #0 2555 0022 84F84130 strb r3, [r4, #65] 2556 0026 84F84200 strb r0, [r4, #66] 2557 002a 6564 str r5, [r4, #68] 2558 002c 6285 strh r2, [r4, #42] @ movhi 2559 002e 638D ldrh r3, [r4, #42] 2560 0030 244A ldr r2, .L584 2561 0032 E06B ldr r0, [r4, #60] 2562 0034 E262 str r2, [r4, #44] 2563 0036 0126 movs r6, #1 2564 0038 234A ldr r2, .L584+4 2565 003a 84F84060 strb r6, [r4, #64] 2566 003e 9BB2 uxth r3, r3 2567 0040 6162 str r1, [r4, #36] 2568 0042 2385 strh r3, [r4, #40] @ movhi 2569 0044 6263 str r2, [r4, #52] 2570 0046 0028 cmp r0, #0 2571 0048 2FD0 beq .L573 2572 004a 204F ldr r7, .L584+8 2573 004c 0563 str r5, [r0, #48] 2574 004e 0A46 mov r2, r1 2575 0050 2168 ldr r1, [r4] 2576 0052 C762 str r7, [r0, #44] 2577 0054 1E4F ldr r7, .L584+12 2578 0056 8563 str r5, [r0, #56] 2579 0058 2431 adds r1, r1, #36 2580 005a 4763 str r7, [r0, #52] 2581 005c FFF7FEFF bl HAL_DMA_Start_IT 2582 0060 B0B9 cbnz r0, .L583 2583 0062 2368 ldr r3, [r4] 2584 0064 5A68 ldr r2, [r3, #4] 2585 0066 22F40042 bic r2, r2, #32768 2586 006a 5A60 str r2, [r3, #4] 2587 006c 84F84000 strb r0, [r4, #64] 2588 0070 1A68 ldr r2, [r3] 2589 0072 42F0B802 orr r2, r2, #184 2590 0076 1A60 str r2, [r3] 2591 0078 1A68 ldr r2, [r3] 2592 007a 42F40042 orr r2, r2, #32768 2593 007e 1A60 str r2, [r3] 2594 0080 F8BD pop {r3, r4, r5, r6, r7, pc} 2595 .L571: 2596 0082 4FF40073 mov r3, #512 2597 0086 6364 str r3, [r4, #68] 2598 0088 0120 movs r0, #1 2599 008a F8BD pop {r3, r4, r5, r6, r7, pc} 2600 .L577: 2601 008c 0220 movs r0, #2 2602 008e F8BD pop {r3, r4, r5, r6, r7, pc} ARM GAS /tmp/ccpzG7eY.s page 46 2603 .L583: 2604 0090 2823 movs r3, #40 2605 0092 84F84130 strb r3, [r4, #65] 2606 0096 84F84250 strb r5, [r4, #66] 2607 009a 636C ldr r3, [r4, #68] 2608 009c 84F84050 strb r5, [r4, #64] 2609 00a0 43F01003 orr r3, r3, #16 2610 00a4 6364 str r3, [r4, #68] 2611 00a6 3046 mov r0, r6 2612 00a8 F8BD pop {r3, r4, r5, r6, r7, pc} 2613 .L573: 2614 00aa 2823 movs r3, #40 2615 00ac 84F84130 strb r3, [r4, #65] 2616 00b0 84F84200 strb r0, [r4, #66] 2617 00b4 636C ldr r3, [r4, #68] 2618 00b6 84F84000 strb r0, [r4, #64] 2619 00ba 43F08003 orr r3, r3, #128 2620 00be 6364 str r3, [r4, #68] 2621 00c0 3046 mov r0, r6 2622 00c2 F8BD pop {r3, r4, r5, r6, r7, pc} 2623 .L585: 2624 .align 2 2625 .L584: 2626 00c4 0000FFFF .word -65536 2627 00c8 00000000 .word I2C_Slave_ISR_DMA 2628 00cc 00000000 .word I2C_DMASlaveReceiveCplt 2629 00d0 00000000 .word I2C_DMAError 2631 .section .text.HAL_I2C_Mem_Write,"ax",%progbits 2632 .align 1 2633 .p2align 2,,3 2634 .global HAL_I2C_Mem_Write 2635 .syntax unified 2636 .thumb 2637 .thumb_func 2638 .fpu fpv4-sp-d16 2640 HAL_I2C_Mem_Write: 2641 @ args = 12, pretend = 0, frame = 0 2642 @ frame_needed = 0, uses_anonymous_args = 0 2643 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 2644 0004 9A46 mov r10, r3 2645 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2646 000a BDF82CB0 ldrh fp, [sp, #44] 2647 000e DDF83080 ldr r8, [sp, #48] 2648 0012 202B cmp r3, #32 2649 0014 40F0A480 bne .L618 2650 0018 0A9B ldr r3, [sp, #40] 2651 001a 0446 mov r4, r0 2652 001c 002B cmp r3, #0 2653 001e 00F09980 beq .L588 2654 0022 BBF1000F cmp fp, #0 2655 0026 00F09580 beq .L588 2656 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2657 002e 012B cmp r3, #1 2658 0030 00F09680 beq .L618 2659 0034 0123 movs r3, #1 2660 0036 80F84030 strb r3, [r0, #64] 2661 003a 0F46 mov r7, r1 ARM GAS /tmp/ccpzG7eY.s page 47 2662 003c 9146 mov r9, r2 2663 003e FFF7FEFF bl HAL_GetTick 2664 0042 0646 mov r6, r0 2665 0044 05E0 b .L590 2666 .L591: 2667 0046 FFF7FEFF bl HAL_GetTick 2668 004a 801B subs r0, r0, r6 2669 004c 1928 cmp r0, #25 2670 004e 00F28A80 bhi .L610 2671 .L590: 2672 0052 2368 ldr r3, [r4] 2673 0054 9D69 ldr r5, [r3, #24] 2674 0056 15F40045 ands r5, r5, #32768 2675 005a F4D1 bne .L591 2676 005c 0A9A ldr r2, [sp, #40] 2677 005e 6262 str r2, [r4, #36] 2678 0060 2122 movs r2, #33 2679 0062 84F84120 strb r2, [r4, #65] 2680 0066 4022 movs r2, #64 2681 0068 84F84220 strb r2, [r4, #66] 2682 006c 6564 str r5, [r4, #68] 2683 006e A4F82AB0 strh fp, [r4, #42] @ movhi 2684 0072 5A68 ldr r2, [r3, #4] 2685 0074 7649 ldr r1, .L640 2686 0076 6563 str r5, [r4, #52] 2687 0078 0A40 ands r2, r2, r1 2688 007a 5FFA8AF1 uxtb r1, r10 2689 007e 42EA0142 orr r2, r2, r1, lsl #16 2690 0082 C7F30907 ubfx r7, r7, #0, #10 2691 0086 3A43 orrs r2, r2, r7 2692 0088 42F08072 orr r2, r2, #16777216 2693 008c 42F40052 orr r2, r2, #8192 2694 0090 5A60 str r2, [r3, #4] 2695 0092 4146 mov r1, r8 2696 0094 3246 mov r2, r6 2697 0096 2046 mov r0, r4 2698 0098 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 2699 009c 0028 cmp r0, #0 2700 009e 40F09680 bne .L598 2701 00a2 BAF1010F cmp r10, #1 2702 00a6 40F08680 bne .L593 2703 .L638: 2704 00aa 2268 ldr r2, [r4] 2705 00ac 5FFA89F3 uxtb r3, r9 2706 00b0 9362 str r3, [r2, #40] 2707 .L595: 2708 00b2 B8F1FF3F cmp r8, #-1 2709 00b6 65D1 bne .L599 2710 .L600: 2711 00b8 9369 ldr r3, [r2, #24] 2712 00ba 1D06 lsls r5, r3, #24 2713 00bc FCD5 bpl .L600 2714 .L601: 2715 00be 638D ldrh r3, [r4, #42] 2716 00c0 9BB2 uxth r3, r3 2717 00c2 FF2B cmp r3, #255 2718 00c4 6BD8 bhi .L603 ARM GAS /tmp/ccpzG7eY.s page 48 2719 00c6 638D ldrh r3, [r4, #42] 2720 00c8 6248 ldr r0, .L640+4 2721 00ca 9BB2 uxth r3, r3 2722 00cc 2385 strh r3, [r4, #40] @ movhi 2723 00ce D9B2 uxtb r1, r3 2724 00d0 5368 ldr r3, [r2, #4] 2725 00d2 0340 ands r3, r3, r0 2726 00d4 3B43 orrs r3, r3, r7 2727 00d6 43EA0143 orr r3, r3, r1, lsl #16 2728 00da 43F00073 orr r3, r3, #33554432 2729 00de 5360 str r3, [r2, #4] 2730 .L606: 2731 00e0 5C4D ldr r5, .L640+4 2732 00e2 DFF878A1 ldr r10, .L640+12 2733 00e6 4FF0FF09 mov r9, #255 2734 00ea 04E0 b .L605 2735 .L608: 2736 00ec 638D ldrh r3, [r4, #42] 2737 00ee 9BB2 uxth r3, r3 2738 00f0 002B cmp r3, #0 2739 00f2 00F08D80 beq .L639 2740 .L605: 2741 00f6 3246 mov r2, r6 2742 00f8 4146 mov r1, r8 2743 00fa 2046 mov r0, r4 2744 00fc FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 2745 0100 0028 cmp r0, #0 2746 0102 40F08380 bne .L616 2747 0106 636A ldr r3, [r4, #36] 2748 0108 2268 ldr r2, [r4] 2749 010a 13F8011B ldrb r1, [r3], #1 @ zero_extendqisi2 2750 010e 9162 str r1, [r2, #40] 2751 0110 6362 str r3, [r4, #36] 2752 0112 638D ldrh r3, [r4, #42] 2753 0114 013B subs r3, r3, #1 2754 0116 9BB2 uxth r3, r3 2755 0118 6385 strh r3, [r4, #42] @ movhi 2756 011a 238D ldrh r3, [r4, #40] 2757 011c 618D ldrh r1, [r4, #42] 2758 011e 013B subs r3, r3, #1 2759 0120 9BB2 uxth r3, r3 2760 0122 89B2 uxth r1, r1 2761 0124 2385 strh r3, [r4, #40] @ movhi 2762 0126 0029 cmp r1, #0 2763 0128 E0D0 beq .L608 2764 012a 002B cmp r3, #0 2765 012c DED1 bne .L608 2766 .L609: 2767 012e B8F1FF3F cmp r8, #-1 2768 0132 51D1 bne .L611 2769 .L612: 2770 0134 9369 ldr r3, [r2, #24] 2771 0136 1906 lsls r1, r3, #24 2772 0138 FCD5 bpl .L612 2773 .L613: 2774 013a 638D ldrh r3, [r4, #42] 2775 013c 9BB2 uxth r3, r3 ARM GAS /tmp/ccpzG7eY.s page 49 2776 013e FF2B cmp r3, #255 2777 0140 57D9 bls .L615 2778 0142 5368 ldr r3, [r2, #4] 2779 0144 A4F82890 strh r9, [r4, #40] @ movhi 2780 0148 2B40 ands r3, r3, r5 2781 014a 3B43 orrs r3, r3, r7 2782 014c 43EA0A03 orr r3, r3, r10 2783 0150 5360 str r3, [r2, #4] 2784 0152 CBE7 b .L608 2785 .L588: 2786 0154 4FF40073 mov r3, #512 2787 0158 6364 str r3, [r4, #68] 2788 015a 0120 movs r0, #1 2789 .L587: 2790 015c BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 2791 .L618: 2792 0160 0220 movs r0, #2 2793 0162 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 2794 .L610: 2795 0166 636C ldr r3, [r4, #68] 2796 0168 0022 movs r2, #0 2797 016a 43F02003 orr r3, r3, #32 2798 016e 2021 movs r1, #32 2799 0170 6364 str r3, [r4, #68] 2800 0172 84F84020 strb r2, [r4, #64] 2801 0176 84F84110 strb r1, [r4, #65] 2802 017a 84F84220 strb r2, [r4, #66] 2803 017e 0120 movs r0, #1 2804 0180 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 2805 .L599: 2806 0184 9369 ldr r3, [r2, #24] 2807 0186 1806 lsls r0, r3, #24 2808 0188 99D4 bmi .L601 2809 018a FFF7FEFF bl HAL_GetTick 2810 018e 801B subs r0, r0, r6 2811 0190 8045 cmp r8, r0 2812 0192 52D3 bcc .L596 2813 0194 B8F1000F cmp r8, #0 2814 0198 4FD0 beq .L596 2815 019a 2268 ldr r2, [r4] 2816 019c 89E7 b .L595 2817 .L603: 2818 019e 5368 ldr r3, [r2, #4] 2819 01a0 2C49 ldr r1, .L640+4 2820 01a2 0B40 ands r3, r3, r1 2821 01a4 3B43 orrs r3, r3, r7 2822 01a6 43F0FF73 orr r3, r3, #33423360 2823 01aa 43F48033 orr r3, r3, #65536 2824 01ae FF21 movs r1, #255 2825 01b0 2185 strh r1, [r4, #40] @ movhi 2826 01b2 5360 str r3, [r2, #4] 2827 01b4 94E7 b .L606 2828 .L593: 2829 01b6 2368 ldr r3, [r4] 2830 01b8 4FEA1922 lsr r2, r9, #8 2831 01bc 9A62 str r2, [r3, #40] 2832 01be 4146 mov r1, r8 ARM GAS /tmp/ccpzG7eY.s page 50 2833 01c0 3246 mov r2, r6 2834 01c2 2046 mov r0, r4 2835 01c4 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 2836 01c8 0028 cmp r0, #0 2837 01ca 3FF46EAF beq .L638 2838 .L598: 2839 01ce 0023 movs r3, #0 2840 01d0 84F84030 strb r3, [r4, #64] 2841 01d4 0120 movs r0, #1 2842 01d6 C1E7 b .L587 2843 .L611: 2844 01d8 9369 ldr r3, [r2, #24] 2845 01da 1B06 lsls r3, r3, #24 2846 01dc ADD4 bmi .L613 2847 01de FFF7FEFF bl HAL_GetTick 2848 01e2 801B subs r0, r0, r6 2849 01e4 8045 cmp r8, r0 2850 01e6 BED3 bcc .L610 2851 01e8 B8F1000F cmp r8, #0 2852 01ec BBD0 beq .L610 2853 01ee 2268 ldr r2, [r4] 2854 01f0 9DE7 b .L609 2855 .L615: 2856 01f2 638D ldrh r3, [r4, #42] 2857 01f4 9BB2 uxth r3, r3 2858 01f6 2385 strh r3, [r4, #40] @ movhi 2859 01f8 D9B2 uxtb r1, r3 2860 01fa 5368 ldr r3, [r2, #4] 2861 01fc 2B40 ands r3, r3, r5 2862 01fe 3B43 orrs r3, r3, r7 2863 0200 43EA0143 orr r3, r3, r1, lsl #16 2864 0204 43F00073 orr r3, r3, #33554432 2865 0208 5360 str r3, [r2, #4] 2866 020a 6FE7 b .L608 2867 .L616: 2868 020c 0120 movs r0, #1 2869 020e A5E7 b .L587 2870 .L639: 2871 0210 3246 mov r2, r6 2872 0212 4146 mov r1, r8 2873 0214 2046 mov r0, r4 2874 0216 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 2875 021a 0028 cmp r0, #0 2876 021c F6D1 bne .L616 2877 021e 2368 ldr r3, [r4] 2878 0220 0D4D ldr r5, .L640+8 2879 0222 2021 movs r1, #32 2880 0224 D961 str r1, [r3, #28] 2881 0226 5A68 ldr r2, [r3, #4] 2882 0228 2A40 ands r2, r2, r5 2883 022a 5A60 str r2, [r3, #4] 2884 022c 84F84110 strb r1, [r4, #65] 2885 0230 84F84000 strb r0, [r4, #64] 2886 0234 84F84200 strb r0, [r4, #66] 2887 0238 90E7 b .L587 2888 .L596: 2889 023a 636C ldr r3, [r4, #68] ARM GAS /tmp/ccpzG7eY.s page 51 2890 023c 2021 movs r1, #32 2891 023e 0B43 orrs r3, r3, r1 2892 0240 0022 movs r2, #0 2893 0242 6364 str r3, [r4, #68] 2894 0244 84F84110 strb r1, [r4, #65] 2895 0248 84F84220 strb r2, [r4, #66] 2896 024c BFE7 b .L598 2897 .L641: 2898 024e 00BF .align 2 2899 .L640: 2900 0250 009800FC .word -67069952 2901 0254 009C00FC .word -67068928 2902 0258 00E800FE .word -33495040 2903 025c 0000FF01 .word 33488896 2905 .section .text.HAL_I2C_Mem_Read,"ax",%progbits 2906 .align 1 2907 .p2align 2,,3 2908 .global HAL_I2C_Mem_Read 2909 .syntax unified 2910 .thumb 2911 .thumb_func 2912 .fpu fpv4-sp-d16 2914 HAL_I2C_Mem_Read: 2915 @ args = 12, pretend = 0, frame = 0 2916 @ frame_needed = 0, uses_anonymous_args = 0 2917 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 2918 0004 9846 mov r8, r3 2919 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2920 000a BDF824A0 ldrh r10, [sp, #36] 2921 000e 0A9D ldr r5, [sp, #40] 2922 0010 202B cmp r3, #32 2923 0012 40F0A680 bne .L680 2924 0016 089B ldr r3, [sp, #32] 2925 0018 0446 mov r4, r0 2926 001a 002B cmp r3, #0 2927 001c 00F09B80 beq .L644 2928 0020 BAF1000F cmp r10, #0 2929 0024 00F09780 beq .L644 2930 0028 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2931 002c 012B cmp r3, #1 2932 002e 00F09880 beq .L680 2933 0032 0123 movs r3, #1 2934 0034 80F84030 strb r3, [r0, #64] 2935 0038 0F46 mov r7, r1 2936 003a 9146 mov r9, r2 2937 003c FFF7FEFF bl HAL_GetTick 2938 0040 0646 mov r6, r0 2939 0042 04E0 b .L646 2940 .L647: 2941 0044 FFF7FEFF bl HAL_GetTick 2942 0048 801B subs r0, r0, r6 2943 004a 1928 cmp r0, #25 2944 004c 74D8 bhi .L672 2945 .L646: 2946 004e 2368 ldr r3, [r4] 2947 0050 9869 ldr r0, [r3, #24] 2948 0052 10F40040 ands r0, r0, #32768 ARM GAS /tmp/ccpzG7eY.s page 52 2949 0056 F5D1 bne .L647 2950 0058 089A ldr r2, [sp, #32] 2951 005a 6262 str r2, [r4, #36] 2952 005c 2222 movs r2, #34 2953 005e 84F84120 strb r2, [r4, #65] 2954 0062 4022 movs r2, #64 2955 0064 84F84220 strb r2, [r4, #66] 2956 0068 6064 str r0, [r4, #68] 2957 006a A4F82AA0 strh r10, [r4, #42] @ movhi 2958 006e 5A68 ldr r2, [r3, #4] 2959 0070 7849 ldr r1, .L702 2960 0072 6063 str r0, [r4, #52] 2961 0074 0A40 ands r2, r2, r1 2962 0076 5FFA88F1 uxtb r1, r8 2963 007a 42EA0142 orr r2, r2, r1, lsl #16 2964 007e C7F30907 ubfx r7, r7, #0, #10 2965 0082 3A43 orrs r2, r2, r7 2966 0084 42F40052 orr r2, r2, #8192 2967 0088 5A60 str r2, [r3, #4] 2968 008a 2946 mov r1, r5 2969 008c 3246 mov r2, r6 2970 008e 2046 mov r0, r4 2971 0090 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 2972 0094 0028 cmp r0, #0 2973 0096 40F0A980 bne .L654 2974 009a B8F1010F cmp r8, #1 2975 009e 40F09980 bne .L649 2976 .L700: 2977 00a2 2268 ldr r2, [r4] 2978 00a4 5FFA89F3 uxtb r3, r9 2979 00a8 9362 str r3, [r2, #40] 2980 .L651: 2981 00aa 681C adds r0, r5, #1 2982 00ac 5CD1 bne .L655 2983 .L656: 2984 00ae 9369 ldr r3, [r2, #24] 2985 00b0 5906 lsls r1, r3, #25 2986 00b2 FCD5 bpl .L656 2987 .L657: 2988 00b4 638D ldrh r3, [r4, #42] 2989 00b6 9BB2 uxth r3, r3 2990 00b8 FF2B cmp r3, #255 2991 00ba 7FD8 bhi .L659 2992 00bc 638D ldrh r3, [r4, #42] 2993 00be 6548 ldr r0, .L702 2994 00c0 9BB2 uxth r3, r3 2995 00c2 2385 strh r3, [r4, #40] @ movhi 2996 00c4 D9B2 uxtb r1, r3 2997 00c6 5368 ldr r3, [r2, #4] 2998 00c8 0340 ands r3, r3, r0 2999 00ca 3B43 orrs r3, r3, r7 3000 00cc 43EA0143 orr r3, r3, r1, lsl #16 3001 00d0 43F00073 orr r3, r3, #33554432 3002 00d4 43F41053 orr r3, r3, #9216 3003 00d8 5360 str r3, [r2, #4] 3004 .L662: 3005 00da 681C adds r0, r5, #1 ARM GAS /tmp/ccpzG7eY.s page 53 3006 00dc DFF87C81 ldr r8, .L702+8 3007 00e0 DFF87CA1 ldr r10, .L702+12 3008 00e4 4FF0FF09 mov r9, #255 3009 00e8 1CD1 bne .L666 3010 .L667: 3011 00ea 9369 ldr r3, [r2, #24] 3012 00ec 5907 lsls r1, r3, #29 3013 00ee FCD5 bpl .L667 3014 .L668: 3015 00f0 636A ldr r3, [r4, #36] 3016 00f2 526A ldr r2, [r2, #36] 3017 00f4 1A70 strb r2, [r3] 3018 00f6 638D ldrh r3, [r4, #42] 3019 00f8 626A ldr r2, [r4, #36] 3020 00fa 013B subs r3, r3, #1 3021 00fc 9BB2 uxth r3, r3 3022 00fe 6385 strh r3, [r4, #42] @ movhi 3023 0100 0132 adds r2, r2, #1 3024 0102 238D ldrh r3, [r4, #40] 3025 0104 6262 str r2, [r4, #36] 3026 0106 628D ldrh r2, [r4, #42] 3027 0108 013B subs r3, r3, #1 3028 010a 9BB2 uxth r3, r3 3029 010c 92B2 uxth r2, r2 3030 010e 2385 strh r3, [r4, #40] @ movhi 3031 0110 0AB1 cbz r2, .L670 3032 0112 002B cmp r3, #0 3033 0114 3ED0 beq .L671 3034 .L670: 3035 0116 638D ldrh r3, [r4, #42] 3036 0118 9BB2 uxth r3, r3 3037 011a 002B cmp r3, #0 3038 011c 79D0 beq .L701 3039 .L665: 3040 011e 681C adds r0, r5, #1 3041 0120 2268 ldr r2, [r4] 3042 0122 E2D0 beq .L667 3043 .L666: 3044 0124 9369 ldr r3, [r2, #24] 3045 0126 5B07 lsls r3, r3, #29 3046 0128 E2D4 bmi .L668 3047 012a FFF7FEFF bl HAL_GetTick 3048 012e 801B subs r0, r0, r6 3049 0130 8542 cmp r5, r0 3050 0132 01D3 bcc .L672 3051 0134 002D cmp r5, #0 3052 0136 F2D1 bne .L665 3053 .L672: 3054 0138 636C ldr r3, [r4, #68] 3055 013a 0022 movs r2, #0 3056 013c 43F02003 orr r3, r3, #32 3057 0140 2021 movs r1, #32 3058 0142 6364 str r3, [r4, #68] 3059 0144 84F84020 strb r2, [r4, #64] 3060 0148 84F84110 strb r1, [r4, #65] 3061 014c 84F84220 strb r2, [r4, #66] 3062 0150 0120 movs r0, #1 ARM GAS /tmp/ccpzG7eY.s page 54 3063 0152 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 3064 .L644: 3065 0156 4FF40073 mov r3, #512 3066 015a 6364 str r3, [r4, #68] 3067 015c 0120 movs r0, #1 3068 .L643: 3069 015e BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 3070 .L680: 3071 0162 0220 movs r0, #2 3072 0164 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 3073 .L655: 3074 0168 9369 ldr r3, [r2, #24] 3075 016a 5B06 lsls r3, r3, #25 3076 016c A2D4 bmi .L657 3077 016e FFF7FEFF bl HAL_GetTick 3078 0172 801B subs r0, r0, r6 3079 0174 8542 cmp r5, r0 3080 0176 60D3 bcc .L652 3081 0178 002D cmp r5, #0 3082 017a 5ED0 beq .L652 3083 017c 2268 ldr r2, [r4] 3084 017e 94E7 b .L651 3085 .L673: 3086 0180 9369 ldr r3, [r2, #24] 3087 0182 1B06 lsls r3, r3, #24 3088 0184 0CD4 bmi .L675 3089 0186 FFF7FEFF bl HAL_GetTick 3090 018a 801B subs r0, r0, r6 3091 018c 8542 cmp r5, r0 3092 018e D3D3 bcc .L672 3093 0190 002D cmp r5, #0 3094 0192 D1D0 beq .L672 3095 .L671: 3096 0194 681C adds r0, r5, #1 3097 0196 2268 ldr r2, [r4] 3098 0198 F2D1 bne .L673 3099 .L674: 3100 019a 9369 ldr r3, [r2, #24] 3101 019c 1906 lsls r1, r3, #24 3102 019e FCD5 bpl .L674 3103 .L675: 3104 01a0 638D ldrh r3, [r4, #42] 3105 01a2 9BB2 uxth r3, r3 3106 01a4 FF2B cmp r3, #255 3107 01a6 26D9 bls .L677 3108 01a8 5368 ldr r3, [r2, #4] 3109 01aa A4F82890 strh r9, [r4, #40] @ movhi 3110 01ae 03EA0803 and r3, r3, r8 3111 01b2 3B43 orrs r3, r3, r7 3112 01b4 43EA0A03 orr r3, r3, r10 3113 01b8 5360 str r3, [r2, #4] 3114 01ba ACE7 b .L670 3115 .L659: 3116 01bc 5368 ldr r3, [r2, #4] 3117 01be 2549 ldr r1, .L702 3118 01c0 0B40 ands r3, r3, r1 3119 01c2 3B43 orrs r3, r3, r7 ARM GAS /tmp/ccpzG7eY.s page 55 3120 01c4 43F0FF73 orr r3, r3, #33423360 3121 01c8 43F49233 orr r3, r3, #74752 3122 01cc FF21 movs r1, #255 3123 01ce 2185 strh r1, [r4, #40] @ movhi 3124 01d0 5360 str r3, [r2, #4] 3125 01d2 82E7 b .L662 3126 .L649: 3127 01d4 2368 ldr r3, [r4] 3128 01d6 4FEA1922 lsr r2, r9, #8 3129 01da 9A62 str r2, [r3, #40] 3130 01dc 2946 mov r1, r5 3131 01de 3246 mov r2, r6 3132 01e0 2046 mov r0, r4 3133 01e2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3134 01e6 0028 cmp r0, #0 3135 01e8 3FF45BAF beq .L700 3136 .L654: 3137 01ec 0023 movs r3, #0 3138 01ee 84F84030 strb r3, [r4, #64] 3139 01f2 0120 movs r0, #1 3140 01f4 B3E7 b .L643 3141 .L677: 3142 01f6 638D ldrh r3, [r4, #42] 3143 01f8 9BB2 uxth r3, r3 3144 01fa 2385 strh r3, [r4, #40] @ movhi 3145 01fc D9B2 uxtb r1, r3 3146 01fe 5368 ldr r3, [r2, #4] 3147 0200 03EA0803 and r3, r3, r8 3148 0204 3B43 orrs r3, r3, r7 3149 0206 43EA0143 orr r3, r3, r1, lsl #16 3150 020a 43F00073 orr r3, r3, #33554432 3151 020e 5360 str r3, [r2, #4] 3152 0210 81E7 b .L670 3153 .L701: 3154 0212 3246 mov r2, r6 3155 0214 2946 mov r1, r5 3156 0216 2046 mov r0, r4 3157 0218 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 3158 021c B8B9 cbnz r0, .L681 3159 021e 2368 ldr r3, [r4] 3160 0220 0D4D ldr r5, .L702+4 3161 0222 2021 movs r1, #32 3162 0224 D961 str r1, [r3, #28] 3163 0226 5A68 ldr r2, [r3, #4] 3164 0228 2A40 ands r2, r2, r5 3165 022a 5A60 str r2, [r3, #4] 3166 022c 84F84110 strb r1, [r4, #65] 3167 0230 84F84000 strb r0, [r4, #64] 3168 0234 84F84200 strb r0, [r4, #66] 3169 0238 91E7 b .L643 3170 .L652: 3171 023a 636C ldr r3, [r4, #68] 3172 023c 2021 movs r1, #32 3173 023e 0B43 orrs r3, r3, r1 3174 0240 0022 movs r2, #0 3175 0242 6364 str r3, [r4, #68] 3176 0244 84F84110 strb r1, [r4, #65] ARM GAS /tmp/ccpzG7eY.s page 56 3177 0248 84F84220 strb r2, [r4, #66] 3178 024c CEE7 b .L654 3179 .L681: 3180 024e 0120 movs r0, #1 3181 0250 85E7 b .L643 3182 .L703: 3183 0252 00BF .align 2 3184 .L702: 3185 0254 009800FC .word -67069952 3186 0258 00E800FE .word -33495040 3187 025c 009C00FC .word -67068928 3188 0260 0000FF01 .word 33488896 3190 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits 3191 .align 1 3192 .p2align 2,,3 3193 .global HAL_I2C_Mem_Write_IT 3194 .syntax unified 3195 .thumb 3196 .thumb_func 3197 .fpu fpv4-sp-d16 3199 HAL_I2C_Mem_Write_IT: 3200 @ args = 8, pretend = 0, frame = 0 3201 @ frame_needed = 0, uses_anonymous_args = 0 3202 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 3203 0004 9B46 mov fp, r3 3204 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 3205 000a BDF82C90 ldrh r9, [sp, #44] 3206 000e 202B cmp r3, #32 3207 0010 40F08B80 bne .L720 3208 0014 0A9B ldr r3, [sp, #40] 3209 0016 0446 mov r4, r0 3210 0018 002B cmp r3, #0 3211 001a 7ED0 beq .L706 3212 001c B9F1000F cmp r9, #0 3213 0020 7BD0 beq .L706 3214 0022 0368 ldr r3, [r0] 3215 0024 9B69 ldr r3, [r3, #24] 3216 0026 13F40048 ands r8, r3, #32768 3217 002a 7ED1 bne .L720 3218 002c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3219 0030 012B cmp r3, #1 3220 0032 7AD0 beq .L720 3221 0034 0123 movs r3, #1 3222 0036 80F84030 strb r3, [r0, #64] 3223 003a 1546 mov r5, r2 3224 003c 0E46 mov r6, r1 3225 003e FFF7FEFF bl HAL_GetTick 3226 0042 0A9B ldr r3, [sp, #40] 3227 0044 6362 str r3, [r4, #36] 3228 0046 2122 movs r2, #33 3229 0048 84F84120 strb r2, [r4, #65] 3230 004c 434B ldr r3, .L728 3231 004e 4022 movs r2, #64 3232 0050 84F84220 strb r2, [r4, #66] 3233 0054 C4F84480 str r8, [r4, #68] 3234 0058 A4F82A90 strh r9, [r4, #42] @ movhi 3235 005c E362 str r3, [r4, #44] ARM GAS /tmp/ccpzG7eY.s page 57 3236 005e 638D ldrh r3, [r4, #42] 3237 0060 3F4A ldr r2, .L728+4 3238 0062 6263 str r2, [r4, #52] 3239 0064 9BB2 uxth r3, r3 3240 0066 FF2B cmp r3, #255 3241 0068 0746 mov r7, r0 3242 006a 63D8 bhi .L721 3243 006c 638D ldrh r3, [r4, #42] 3244 006e 4FF00079 mov r9, #33554432 3245 0072 9BB2 uxth r3, r3 3246 .L708: 3247 0074 2268 ldr r2, [r4] 3248 0076 2385 strh r3, [r4, #40] @ movhi 3249 0078 3A49 ldr r1, .L728+8 3250 007a 5368 ldr r3, [r2, #4] 3251 007c 0B40 ands r3, r3, r1 3252 007e 5FFA8BF1 uxtb r1, fp 3253 0082 43EA0143 orr r3, r3, r1, lsl #16 3254 0086 C6F30906 ubfx r6, r6, #0, #10 3255 008a 3343 orrs r3, r3, r6 3256 008c 43F08073 orr r3, r3, #16777216 3257 0090 43F40053 orr r3, r3, #8192 3258 0094 5360 str r3, [r2, #4] 3259 0096 1921 movs r1, #25 3260 0098 3A46 mov r2, r7 3261 009a 2046 mov r0, r4 3262 009c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3263 00a0 8246 mov r10, r0 3264 00a2 0028 cmp r0, #0 3265 00a4 52D1 bne .L714 3266 00a6 BBF1010F cmp fp, #1 3267 00aa 09D0 beq .L727 3268 00ac 2368 ldr r3, [r4] 3269 00ae 2A0A lsrs r2, r5, #8 3270 00b0 9A62 str r2, [r3, #40] 3271 00b2 1921 movs r1, #25 3272 00b4 3A46 mov r2, r7 3273 00b6 2046 mov r0, r4 3274 00b8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3275 00bc 0028 cmp r0, #0 3276 00be 45D1 bne .L714 3277 .L727: 3278 00c0 2368 ldr r3, [r4] 3279 00c2 EDB2 uxtb r5, r5 3280 00c4 9D62 str r5, [r3, #40] 3281 00c6 05E0 b .L713 3282 .L715: 3283 00c8 FFF7FEFF bl HAL_GetTick 3284 00cc C31B subs r3, r0, r7 3285 00ce 192B cmp r3, #25 3286 00d0 34D8 bhi .L712 3287 00d2 2368 ldr r3, [r4] 3288 .L713: 3289 00d4 9D69 ldr r5, [r3, #24] 3290 00d6 15F08005 ands r5, r5, #128 3291 00da F5D0 beq .L715 3292 00dc 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 ARM GAS /tmp/ccpzG7eY.s page 58 3293 00e0 2149 ldr r1, .L728+12 3294 00e2 46EA0246 orr r6, r6, r2, lsl #16 3295 00e6 46EA0909 orr r9, r6, r9 3296 00ea 204A ldr r2, .L728+16 3297 00ec 5E68 ldr r6, [r3, #4] 3298 00ee 1640 ands r6, r6, r2 3299 00f0 49EA0606 orr r6, r9, r6 3300 00f4 0022 movs r2, #0 3301 00f6 5E60 str r6, [r3, #4] 3302 00f8 84F84020 strb r2, [r4, #64] 3303 00fc 626B ldr r2, [r4, #52] 3304 00fe 8A42 cmp r2, r1 3305 0100 04D0 beq .L716 3306 0102 1B49 ldr r1, .L728+20 3307 0104 8A42 cmp r2, r1 3308 0106 18BF it ne 3309 0108 4FF0F208 movne r8, #242 3310 .L716: 3311 010c 1A68 ldr r2, [r3] 3312 010e 42EA0802 orr r2, r2, r8 3313 0112 1A60 str r2, [r3] 3314 0114 5046 mov r0, r10 3315 0116 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3316 .L706: 3317 011a 4FF40073 mov r3, #512 3318 011e 4FF0010A mov r10, #1 3319 0122 6364 str r3, [r4, #68] 3320 0124 5046 mov r0, r10 3321 0126 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3322 .L720: 3323 012a 4FF0020A mov r10, #2 3324 012e 5046 mov r0, r10 3325 0130 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3326 .L721: 3327 0134 FF23 movs r3, #255 3328 0136 4FF08079 mov r9, #16777216 3329 013a 9BE7 b .L708 3330 .L712: 3331 013c 636C ldr r3, [r4, #68] 3332 013e 2022 movs r2, #32 3333 0140 1343 orrs r3, r3, r2 3334 0142 6364 str r3, [r4, #68] 3335 0144 84F84120 strb r2, [r4, #65] 3336 0148 84F84250 strb r5, [r4, #66] 3337 .L714: 3338 014c 0023 movs r3, #0 3339 014e 4FF0010A mov r10, #1 3340 0152 84F84030 strb r3, [r4, #64] 3341 0156 5046 mov r0, r10 3342 0158 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3343 .L729: 3344 .align 2 3345 .L728: 3346 015c 0000FFFF .word -65536 3347 0160 00000000 .word I2C_Master_ISR_IT 3348 0164 009800FC .word -67069952 3349 0168 00000000 .word I2C_Master_ISR_DMA ARM GAS /tmp/ccpzG7eY.s page 59 3350 016c 009C00FC .word -67068928 3351 0170 00000000 .word I2C_Slave_ISR_DMA 3353 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits 3354 .align 1 3355 .p2align 2,,3 3356 .global HAL_I2C_Mem_Read_IT 3357 .syntax unified 3358 .thumb 3359 .thumb_func 3360 .fpu fpv4-sp-d16 3362 HAL_I2C_Mem_Read_IT: 3363 @ args = 8, pretend = 0, frame = 0 3364 @ frame_needed = 0, uses_anonymous_args = 0 3365 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 3366 0004 9B46 mov fp, r3 3367 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 3368 000a BDF82C90 ldrh r9, [sp, #44] 3369 000e 202B cmp r3, #32 3370 0010 40F08A80 bne .L746 3371 0014 0A9B ldr r3, [sp, #40] 3372 0016 0446 mov r4, r0 3373 0018 002B cmp r3, #0 3374 001a 7DD0 beq .L732 3375 001c B9F1000F cmp r9, #0 3376 0020 7AD0 beq .L732 3377 0022 0368 ldr r3, [r0] 3378 0024 9B69 ldr r3, [r3, #24] 3379 0026 13F40048 ands r8, r3, #32768 3380 002a 7DD1 bne .L746 3381 002c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3382 0030 012B cmp r3, #1 3383 0032 79D0 beq .L746 3384 0034 0123 movs r3, #1 3385 0036 80F84030 strb r3, [r0, #64] 3386 003a 1546 mov r5, r2 3387 003c 0E46 mov r6, r1 3388 003e FFF7FEFF bl HAL_GetTick 3389 0042 0A9B ldr r3, [sp, #40] 3390 0044 6362 str r3, [r4, #36] 3391 0046 2222 movs r2, #34 3392 0048 84F84120 strb r2, [r4, #65] 3393 004c 434B ldr r3, .L754 3394 004e 4022 movs r2, #64 3395 0050 84F84220 strb r2, [r4, #66] 3396 0054 C4F84480 str r8, [r4, #68] 3397 0058 A4F82A90 strh r9, [r4, #42] @ movhi 3398 005c E362 str r3, [r4, #44] 3399 005e 638D ldrh r3, [r4, #42] 3400 0060 3F4A ldr r2, .L754+4 3401 0062 6263 str r2, [r4, #52] 3402 0064 9BB2 uxth r3, r3 3403 0066 FF2B cmp r3, #255 3404 0068 0746 mov r7, r0 3405 006a 62D8 bhi .L747 3406 006c 638D ldrh r3, [r4, #42] 3407 006e 4FF00079 mov r9, #33554432 3408 0072 9BB2 uxth r3, r3 ARM GAS /tmp/ccpzG7eY.s page 60 3409 .L734: 3410 0074 2268 ldr r2, [r4] 3411 0076 2385 strh r3, [r4, #40] @ movhi 3412 0078 3A49 ldr r1, .L754+8 3413 007a 5368 ldr r3, [r2, #4] 3414 007c 0B40 ands r3, r3, r1 3415 007e 5FFA8BF1 uxtb r1, fp 3416 0082 43EA0143 orr r3, r3, r1, lsl #16 3417 0086 C6F30906 ubfx r6, r6, #0, #10 3418 008a 3343 orrs r3, r3, r6 3419 008c 43F40053 orr r3, r3, #8192 3420 0090 5360 str r3, [r2, #4] 3421 0092 1921 movs r1, #25 3422 0094 3A46 mov r2, r7 3423 0096 2046 mov r0, r4 3424 0098 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3425 009c 8246 mov r10, r0 3426 009e 0028 cmp r0, #0 3427 00a0 53D1 bne .L740 3428 00a2 BBF1010F cmp fp, #1 3429 00a6 09D0 beq .L753 3430 00a8 2368 ldr r3, [r4] 3431 00aa 2A0A lsrs r2, r5, #8 3432 00ac 9A62 str r2, [r3, #40] 3433 00ae 1921 movs r1, #25 3434 00b0 3A46 mov r2, r7 3435 00b2 2046 mov r0, r4 3436 00b4 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3437 00b8 0028 cmp r0, #0 3438 00ba 46D1 bne .L740 3439 .L753: 3440 00bc 2368 ldr r3, [r4] 3441 00be EDB2 uxtb r5, r5 3442 00c0 9D62 str r5, [r3, #40] 3443 00c2 05E0 b .L739 3444 .L741: 3445 00c4 FFF7FEFF bl HAL_GetTick 3446 00c8 C31B subs r3, r0, r7 3447 00ca 192B cmp r3, #25 3448 00cc 35D8 bhi .L738 3449 00ce 2368 ldr r3, [r4] 3450 .L739: 3451 00d0 9D69 ldr r5, [r3, #24] 3452 00d2 15F04005 ands r5, r5, #64 3453 00d6 F5D0 beq .L741 3454 00d8 5A68 ldr r2, [r3, #4] 3455 00da 2249 ldr r1, .L754+8 3456 00dc 0A40 ands r2, r2, r1 3457 00de 3243 orrs r2, r2, r6 3458 00e0 94F82860 ldrb r6, [r4, #40] @ zero_extendqisi2 3459 00e4 2049 ldr r1, .L754+12 3460 00e6 42EA0642 orr r2, r2, r6, lsl #16 3461 00ea 42EA0909 orr r9, r2, r9 3462 00ee 49F41052 orr r2, r9, #9216 3463 00f2 5A60 str r2, [r3, #4] 3464 00f4 0022 movs r2, #0 3465 00f6 84F84020 strb r2, [r4, #64] ARM GAS /tmp/ccpzG7eY.s page 61 3466 00fa 626B ldr r2, [r4, #52] 3467 00fc 8A42 cmp r2, r1 3468 00fe 04D0 beq .L742 3469 0100 1A49 ldr r1, .L754+16 3470 0102 8A42 cmp r2, r1 3471 0104 18BF it ne 3472 0106 4FF0F408 movne r8, #244 3473 .L742: 3474 010a 1A68 ldr r2, [r3] 3475 010c 42EA0802 orr r2, r2, r8 3476 0110 1A60 str r2, [r3] 3477 0112 5046 mov r0, r10 3478 0114 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3479 .L732: 3480 0118 4FF40073 mov r3, #512 3481 011c 4FF0010A mov r10, #1 3482 0120 6364 str r3, [r4, #68] 3483 0122 5046 mov r0, r10 3484 0124 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3485 .L746: 3486 0128 4FF0020A mov r10, #2 3487 012c 5046 mov r0, r10 3488 012e BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3489 .L747: 3490 0132 FF23 movs r3, #255 3491 0134 4FF08079 mov r9, #16777216 3492 0138 9CE7 b .L734 3493 .L738: 3494 013a 636C ldr r3, [r4, #68] 3495 013c 2022 movs r2, #32 3496 013e 1343 orrs r3, r3, r2 3497 0140 6364 str r3, [r4, #68] 3498 0142 84F84120 strb r2, [r4, #65] 3499 0146 84F84250 strb r5, [r4, #66] 3500 .L740: 3501 014a 0023 movs r3, #0 3502 014c 4FF0010A mov r10, #1 3503 0150 84F84030 strb r3, [r4, #64] 3504 0154 5046 mov r0, r10 3505 0156 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3506 .L755: 3507 015a 00BF .align 2 3508 .L754: 3509 015c 0000FFFF .word -65536 3510 0160 00000000 .word I2C_Master_ISR_IT 3511 0164 009800FC .word -67069952 3512 0168 00000000 .word I2C_Master_ISR_DMA 3513 016c 00000000 .word I2C_Slave_ISR_DMA 3515 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits 3516 .align 1 3517 .p2align 2,,3 3518 .global HAL_I2C_Mem_Write_DMA 3519 .syntax unified 3520 .thumb 3521 .thumb_func 3522 .fpu fpv4-sp-d16 3524 HAL_I2C_Mem_Write_DMA: ARM GAS /tmp/ccpzG7eY.s page 62 3525 @ args = 8, pretend = 0, frame = 0 3526 @ frame_needed = 0, uses_anonymous_args = 0 3527 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 3528 0004 9B46 mov fp, r3 3529 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 3530 000a BDF82C90 ldrh r9, [sp, #44] 3531 000e 202B cmp r3, #32 3532 0010 40F0A380 bne .L775 3533 0014 0A9B ldr r3, [sp, #40] 3534 0016 0446 mov r4, r0 3535 0018 002B cmp r3, #0 3536 001a 00F09880 beq .L758 3537 001e B9F1000F cmp r9, #0 3538 0022 00F09480 beq .L758 3539 0026 0368 ldr r3, [r0] 3540 0028 9B69 ldr r3, [r3, #24] 3541 002a 13F40048 ands r8, r3, #32768 3542 002e 40F09480 bne .L775 3543 0032 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3544 0036 012B cmp r3, #1 3545 0038 00F08F80 beq .L775 3546 003c 0123 movs r3, #1 3547 003e 80F84030 strb r3, [r0, #64] 3548 0042 1546 mov r5, r2 3549 0044 0E46 mov r6, r1 3550 0046 FFF7FEFF bl HAL_GetTick 3551 004a 0A9B ldr r3, [sp, #40] 3552 004c 6362 str r3, [r4, #36] 3553 004e 2122 movs r2, #33 3554 0050 84F84120 strb r2, [r4, #65] 3555 0054 594B ldr r3, .L788 3556 0056 4022 movs r2, #64 3557 0058 84F84220 strb r2, [r4, #66] 3558 005c C4F84480 str r8, [r4, #68] 3559 0060 A4F82A90 strh r9, [r4, #42] @ movhi 3560 0064 E362 str r3, [r4, #44] 3561 0066 638D ldrh r3, [r4, #42] 3562 0068 DFF86891 ldr r9, .L788+24 3563 006c C4F83490 str r9, [r4, #52] 3564 0070 9BB2 uxth r3, r3 3565 0072 FF2B cmp r3, #255 3566 0074 0746 mov r7, r0 3567 0076 73D8 bhi .L776 3568 0078 638D ldrh r3, [r4, #42] 3569 007a 4FF0007A mov r10, #33554432 3570 007e 9BB2 uxth r3, r3 3571 .L760: 3572 0080 2268 ldr r2, [r4] 3573 0082 4F49 ldr r1, .L788+4 3574 0084 2385 strh r3, [r4, #40] @ movhi 3575 0086 5368 ldr r3, [r2, #4] 3576 0088 0B40 ands r3, r3, r1 3577 008a 5FFA8BF1 uxtb r1, fp 3578 008e 43EA0143 orr r3, r3, r1, lsl #16 3579 0092 C6F30906 ubfx r6, r6, #0, #10 3580 0096 3343 orrs r3, r3, r6 3581 0098 43F08073 orr r3, r3, #16777216 ARM GAS /tmp/ccpzG7eY.s page 63 3582 009c 43F40053 orr r3, r3, #8192 3583 00a0 5360 str r3, [r2, #4] 3584 00a2 1921 movs r1, #25 3585 00a4 3A46 mov r2, r7 3586 00a6 2046 mov r0, r4 3587 00a8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3588 00ac 0028 cmp r0, #0 3589 00ae 63D1 bne .L766 3590 00b0 BBF1010F cmp fp, #1 3591 00b4 09D0 beq .L785 3592 00b6 2368 ldr r3, [r4] 3593 00b8 2A0A lsrs r2, r5, #8 3594 00ba 9A62 str r2, [r3, #40] 3595 00bc 1921 movs r1, #25 3596 00be 3A46 mov r2, r7 3597 00c0 2046 mov r0, r4 3598 00c2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3599 00c6 0028 cmp r0, #0 3600 00c8 56D1 bne .L766 3601 .L785: 3602 00ca 2268 ldr r2, [r4] 3603 00cc EDB2 uxtb r5, r5 3604 00ce 9562 str r5, [r2, #40] 3605 00d0 05E0 b .L765 3606 .L767: 3607 00d2 FFF7FEFF bl HAL_GetTick 3608 00d6 C31B subs r3, r0, r7 3609 00d8 192B cmp r3, #25 3610 00da 45D8 bhi .L764 3611 00dc 2268 ldr r2, [r4] 3612 .L765: 3613 00de 9569 ldr r5, [r2, #24] 3614 00e0 15F08005 ands r5, r5, #128 3615 00e4 F5D0 beq .L767 3616 00e6 A06B ldr r0, [r4, #56] 3617 00e8 0028 cmp r0, #0 3618 00ea 57D0 beq .L786 3619 00ec 354B ldr r3, .L788+8 3620 00ee C362 str r3, [r0, #44] 3621 00f0 0025 movs r5, #0 3622 00f2 354B ldr r3, .L788+12 3623 00f4 4363 str r3, [r0, #52] 3624 00f6 0A99 ldr r1, [sp, #40] 3625 00f8 238D ldrh r3, [r4, #40] 3626 00fa 0563 str r5, [r0, #48] 3627 00fc 2832 adds r2, r2, #40 3628 00fe 8563 str r5, [r0, #56] 3629 0100 FFF7FEFF bl HAL_DMA_Start_IT 3630 0104 0028 cmp r0, #0 3631 0106 3CD1 bne .L787 3632 0108 2268 ldr r2, [r4] 3633 010a 3049 ldr r1, .L788+16 3634 010c 5368 ldr r3, [r2, #4] 3635 010e 656B ldr r5, [r4, #52] 3636 0110 0B40 ands r3, r3, r1 3637 0112 218D ldrh r1, [r4, #40] 3638 0114 3343 orrs r3, r3, r6 ARM GAS /tmp/ccpzG7eY.s page 64 3639 0116 CEB2 uxtb r6, r1 3640 0118 43EA0643 orr r3, r3, r6, lsl #16 3641 011c 43EA0A03 orr r3, r3, r10 3642 0120 5360 str r3, [r2, #4] 3643 0122 638D ldrh r3, [r4, #42] 3644 0124 84F84000 strb r0, [r4, #64] 3645 0128 5B1A subs r3, r3, r1 3646 012a 9BB2 uxth r3, r3 3647 012c 4D45 cmp r5, r9 3648 012e 6385 strh r3, [r4, #42] @ movhi 3649 0130 41D0 beq .L777 3650 0132 274B ldr r3, .L788+20 3651 0134 9D42 cmp r5, r3 3652 0136 08BF it eq 3653 0138 4FF09008 moveq r8, #144 3654 .L772: 3655 013c 1368 ldr r3, [r2] 3656 013e 43EA0803 orr r3, r3, r8 3657 0142 1360 str r3, [r2] 3658 0144 1368 ldr r3, [r2] 3659 0146 43F48043 orr r3, r3, #16384 3660 014a 1360 str r3, [r2] 3661 014c 03E0 b .L757 3662 .L758: 3663 014e 4FF40073 mov r3, #512 3664 0152 6364 str r3, [r4, #68] 3665 0154 0120 movs r0, #1 3666 .L757: 3667 0156 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3668 .L775: 3669 015a 0220 movs r0, #2 3670 015c BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3671 .L776: 3672 0160 FF23 movs r3, #255 3673 0162 4FF0807A mov r10, #16777216 3674 0166 8BE7 b .L760 3675 .L764: 3676 0168 636C ldr r3, [r4, #68] 3677 016a 2022 movs r2, #32 3678 016c 1343 orrs r3, r3, r2 3679 016e 6364 str r3, [r4, #68] 3680 0170 84F84120 strb r2, [r4, #65] 3681 0174 84F84250 strb r5, [r4, #66] 3682 .L766: 3683 0178 0023 movs r3, #0 3684 017a 84F84030 strb r3, [r4, #64] 3685 017e 0120 movs r0, #1 3686 0180 E9E7 b .L757 3687 .L787: 3688 0182 2023 movs r3, #32 3689 0184 84F84130 strb r3, [r4, #65] 3690 0188 84F84250 strb r5, [r4, #66] 3691 018c 636C ldr r3, [r4, #68] 3692 018e 84F84050 strb r5, [r4, #64] 3693 0192 43F01003 orr r3, r3, #16 3694 0196 6364 str r3, [r4, #68] 3695 0198 0120 movs r0, #1 ARM GAS /tmp/ccpzG7eY.s page 65 3696 019a DCE7 b .L757 3697 .L786: 3698 019c 2023 movs r3, #32 3699 019e 84F84130 strb r3, [r4, #65] 3700 01a2 84F84200 strb r0, [r4, #66] 3701 01a6 636C ldr r3, [r4, #68] 3702 01a8 84F84000 strb r0, [r4, #64] 3703 01ac 43F08003 orr r3, r3, #128 3704 01b0 6364 str r3, [r4, #68] 3705 01b2 0120 movs r0, #1 3706 01b4 CFE7 b .L757 3707 .L777: 3708 01b6 4FF09008 mov r8, #144 3709 01ba BFE7 b .L772 3710 .L789: 3711 .align 2 3712 .L788: 3713 01bc 0000FFFF .word -65536 3714 01c0 009800FC .word -67069952 3715 01c4 00000000 .word I2C_DMAMasterTransmitCplt 3716 01c8 00000000 .word I2C_DMAError 3717 01cc 009C00FC .word -67068928 3718 01d0 00000000 .word I2C_Slave_ISR_DMA 3719 01d4 00000000 .word I2C_Master_ISR_DMA 3721 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits 3722 .align 1 3723 .p2align 2,,3 3724 .global HAL_I2C_Mem_Read_DMA 3725 .syntax unified 3726 .thumb 3727 .thumb_func 3728 .fpu fpv4-sp-d16 3730 HAL_I2C_Mem_Read_DMA: 3731 @ args = 8, pretend = 0, frame = 0 3732 @ frame_needed = 0, uses_anonymous_args = 0 3733 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 3734 0004 9B46 mov fp, r3 3735 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 3736 000a BDF82C90 ldrh r9, [sp, #44] 3737 000e 202B cmp r3, #32 3738 0010 40F0A380 bne .L809 3739 0014 0A9B ldr r3, [sp, #40] 3740 0016 0446 mov r4, r0 3741 0018 002B cmp r3, #0 3742 001a 00F09880 beq .L792 3743 001e B9F1000F cmp r9, #0 3744 0022 00F09480 beq .L792 3745 0026 0368 ldr r3, [r0] 3746 0028 9B69 ldr r3, [r3, #24] 3747 002a 13F40048 ands r8, r3, #32768 3748 002e 40F09480 bne .L809 3749 0032 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3750 0036 012B cmp r3, #1 3751 0038 00F08F80 beq .L809 3752 003c 0123 movs r3, #1 3753 003e 80F84030 strb r3, [r0, #64] 3754 0042 1546 mov r5, r2 ARM GAS /tmp/ccpzG7eY.s page 66 3755 0044 0E46 mov r6, r1 3756 0046 FFF7FEFF bl HAL_GetTick 3757 004a 0A9B ldr r3, [sp, #40] 3758 004c 6362 str r3, [r4, #36] 3759 004e 2222 movs r2, #34 3760 0050 84F84120 strb r2, [r4, #65] 3761 0054 594B ldr r3, .L822 3762 0056 4022 movs r2, #64 3763 0058 84F84220 strb r2, [r4, #66] 3764 005c C4F84480 str r8, [r4, #68] 3765 0060 A4F82A90 strh r9, [r4, #42] @ movhi 3766 0064 E362 str r3, [r4, #44] 3767 0066 638D ldrh r3, [r4, #42] 3768 0068 DFF86491 ldr r9, .L822+20 3769 006c C4F83490 str r9, [r4, #52] 3770 0070 9BB2 uxth r3, r3 3771 0072 FF2B cmp r3, #255 3772 0074 0746 mov r7, r0 3773 0076 73D8 bhi .L810 3774 0078 638D ldrh r3, [r4, #42] 3775 007a 4FF0007A mov r10, #33554432 3776 007e 9BB2 uxth r3, r3 3777 .L794: 3778 0080 2268 ldr r2, [r4] 3779 0082 4F49 ldr r1, .L822+4 3780 0084 2385 strh r3, [r4, #40] @ movhi 3781 0086 5368 ldr r3, [r2, #4] 3782 0088 0B40 ands r3, r3, r1 3783 008a 5FFA8BF1 uxtb r1, fp 3784 008e 43EA0143 orr r3, r3, r1, lsl #16 3785 0092 C6F30906 ubfx r6, r6, #0, #10 3786 0096 3343 orrs r3, r3, r6 3787 0098 43F40053 orr r3, r3, #8192 3788 009c 5360 str r3, [r2, #4] 3789 009e 1921 movs r1, #25 3790 00a0 3A46 mov r2, r7 3791 00a2 2046 mov r0, r4 3792 00a4 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3793 00a8 0028 cmp r0, #0 3794 00aa 65D1 bne .L800 3795 00ac BBF1010F cmp fp, #1 3796 00b0 09D0 beq .L819 3797 00b2 2368 ldr r3, [r4] 3798 00b4 2A0A lsrs r2, r5, #8 3799 00b6 9A62 str r2, [r3, #40] 3800 00b8 1921 movs r1, #25 3801 00ba 3A46 mov r2, r7 3802 00bc 2046 mov r0, r4 3803 00be FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 3804 00c2 0028 cmp r0, #0 3805 00c4 58D1 bne .L800 3806 .L819: 3807 00c6 2168 ldr r1, [r4] 3808 00c8 EDB2 uxtb r5, r5 3809 00ca 8D62 str r5, [r1, #40] 3810 00cc 05E0 b .L799 3811 .L801: ARM GAS /tmp/ccpzG7eY.s page 67 3812 00ce FFF7FEFF bl HAL_GetTick 3813 00d2 C31B subs r3, r0, r7 3814 00d4 192B cmp r3, #25 3815 00d6 47D8 bhi .L798 3816 00d8 2168 ldr r1, [r4] 3817 .L799: 3818 00da 8D69 ldr r5, [r1, #24] 3819 00dc 15F04005 ands r5, r5, #64 3820 00e0 F5D0 beq .L801 3821 00e2 E06B ldr r0, [r4, #60] 3822 00e4 0028 cmp r0, #0 3823 00e6 59D0 beq .L820 3824 00e8 364B ldr r3, .L822+8 3825 00ea C362 str r3, [r0, #44] 3826 00ec 0025 movs r5, #0 3827 00ee 364B ldr r3, .L822+12 3828 00f0 4363 str r3, [r0, #52] 3829 00f2 0A9A ldr r2, [sp, #40] 3830 00f4 238D ldrh r3, [r4, #40] 3831 00f6 0563 str r5, [r0, #48] 3832 00f8 2431 adds r1, r1, #36 3833 00fa 8563 str r5, [r0, #56] 3834 00fc FFF7FEFF bl HAL_DMA_Start_IT 3835 0100 0028 cmp r0, #0 3836 0102 3ED1 bne .L821 3837 0104 2268 ldr r2, [r4] 3838 0106 2E49 ldr r1, .L822+4 3839 0108 5368 ldr r3, [r2, #4] 3840 010a 656B ldr r5, [r4, #52] 3841 010c 0B40 ands r3, r3, r1 3842 010e 218D ldrh r1, [r4, #40] 3843 0110 4AEA0606 orr r6, r10, r6 3844 0114 3343 orrs r3, r3, r6 3845 0116 CEB2 uxtb r6, r1 3846 0118 43EA0643 orr r3, r3, r6, lsl #16 3847 011c 43F41053 orr r3, r3, #9216 3848 0120 5360 str r3, [r2, #4] 3849 0122 638D ldrh r3, [r4, #42] 3850 0124 84F84000 strb r0, [r4, #64] 3851 0128 5B1A subs r3, r3, r1 3852 012a 9BB2 uxth r3, r3 3853 012c 4D45 cmp r5, r9 3854 012e 6385 strh r3, [r4, #42] @ movhi 3855 0130 41D0 beq .L811 3856 0132 264B ldr r3, .L822+16 3857 0134 9D42 cmp r5, r3 3858 0136 08BF it eq 3859 0138 4FF09008 moveq r8, #144 3860 .L806: 3861 013c 1368 ldr r3, [r2] 3862 013e 43EA0803 orr r3, r3, r8 3863 0142 1360 str r3, [r2] 3864 0144 1368 ldr r3, [r2] 3865 0146 43F40043 orr r3, r3, #32768 3866 014a 1360 str r3, [r2] 3867 014c 03E0 b .L791 3868 .L792: ARM GAS /tmp/ccpzG7eY.s page 68 3869 014e 4FF40073 mov r3, #512 3870 0152 6364 str r3, [r4, #68] 3871 0154 0120 movs r0, #1 3872 .L791: 3873 0156 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3874 .L809: 3875 015a 0220 movs r0, #2 3876 015c BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} 3877 .L810: 3878 0160 FF23 movs r3, #255 3879 0162 4FF0807A mov r10, #16777216 3880 0166 8BE7 b .L794 3881 .L798: 3882 0168 636C ldr r3, [r4, #68] 3883 016a 2022 movs r2, #32 3884 016c 1343 orrs r3, r3, r2 3885 016e 6364 str r3, [r4, #68] 3886 0170 84F84120 strb r2, [r4, #65] 3887 0174 84F84250 strb r5, [r4, #66] 3888 .L800: 3889 0178 0023 movs r3, #0 3890 017a 84F84030 strb r3, [r4, #64] 3891 017e 0120 movs r0, #1 3892 0180 E9E7 b .L791 3893 .L821: 3894 0182 2023 movs r3, #32 3895 0184 84F84130 strb r3, [r4, #65] 3896 0188 84F84250 strb r5, [r4, #66] 3897 018c 636C ldr r3, [r4, #68] 3898 018e 84F84050 strb r5, [r4, #64] 3899 0192 43F01003 orr r3, r3, #16 3900 0196 6364 str r3, [r4, #68] 3901 0198 0120 movs r0, #1 3902 019a DCE7 b .L791 3903 .L820: 3904 019c 2023 movs r3, #32 3905 019e 84F84130 strb r3, [r4, #65] 3906 01a2 84F84200 strb r0, [r4, #66] 3907 01a6 636C ldr r3, [r4, #68] 3908 01a8 84F84000 strb r0, [r4, #64] 3909 01ac 43F08003 orr r3, r3, #128 3910 01b0 6364 str r3, [r4, #68] 3911 01b2 0120 movs r0, #1 3912 01b4 CFE7 b .L791 3913 .L811: 3914 01b6 4FF09008 mov r8, #144 3915 01ba BFE7 b .L806 3916 .L823: 3917 .align 2 3918 .L822: 3919 01bc 0000FFFF .word -65536 3920 01c0 009800FC .word -67069952 3921 01c4 00000000 .word I2C_DMAMasterReceiveCplt 3922 01c8 00000000 .word I2C_DMAError 3923 01cc 00000000 .word I2C_Slave_ISR_DMA 3924 01d0 00000000 .word I2C_Master_ISR_DMA 3926 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits ARM GAS /tmp/ccpzG7eY.s page 69 3927 .align 1 3928 .p2align 2,,3 3929 .global HAL_I2C_IsDeviceReady 3930 .syntax unified 3931 .thumb 3932 .thumb_func 3933 .fpu fpv4-sp-d16 3935 HAL_I2C_IsDeviceReady: 3936 @ args = 0, pretend = 0, frame = 8 3937 @ frame_needed = 0, uses_anonymous_args = 0 3938 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 3939 0004 82B0 sub sp, sp, #8 3940 0006 0546 mov r5, r0 3941 0008 0020 movs r0, #0 3942 000a 0190 str r0, [sp, #4] 3943 000c 95F84100 ldrb r0, [r5, #65] @ zero_extendqisi2 3944 0010 2028 cmp r0, #32 3945 0012 4CD1 bne .L858 3946 0014 2C68 ldr r4, [r5] 3947 0016 1E46 mov r6, r3 3948 0018 A369 ldr r3, [r4, #24] 3949 001a 13F40043 ands r3, r3, #32768 3950 001e 46D1 bne .L858 3951 0020 9146 mov r9, r2 3952 0022 95F84020 ldrb r2, [r5, #64] @ zero_extendqisi2 3953 0026 012A cmp r2, #1 3954 0028 41D0 beq .L858 3955 002a 0122 movs r2, #1 3956 002c C1F3090A ubfx r10, r1, #0, #10 3957 0030 4AF0007A orr r10, r10, #33554432 3958 0034 85F84020 strb r2, [r5, #64] 3959 0038 2422 movs r2, #36 3960 003a 85F84120 strb r2, [r5, #65] 3961 003e C1F30908 ubfx r8, r1, #0, #10 3962 0042 4AF4005A orr r10, r10, #8192 3963 0046 6B64 str r3, [r5, #68] 3964 .L855: 3965 0048 EB68 ldr r3, [r5, #12] 3966 004a 012B cmp r3, #1 3967 004c 0CBF ite eq 3968 004e 5346 moveq r3, r10 3969 0050 48F42053 orrne r3, r8, #10240 3970 0054 6360 str r3, [r4, #4] 3971 0056 FFF7FEFF bl HAL_GetTick 3972 005a 2C68 ldr r4, [r5] 3973 005c A269 ldr r2, [r4, #24] 3974 005e A369 ldr r3, [r4, #24] 3975 0060 02F02002 and r2, r2, #32 3976 0064 03F01003 and r3, r3, #16 3977 0068 1343 orrs r3, r2, r3 3978 006a 0746 mov r7, r0 3979 006c 2BD1 bne .L828 3980 006e 711C adds r1, r6, #1 3981 0070 21D0 beq .L830 3982 0072 4EB9 cbnz r6, .L834 3983 0074 48E0 b .L832 3984 .L880: ARM GAS /tmp/ccpzG7eY.s page 70 3985 0076 2C68 ldr r4, [r5] 3986 0078 A269 ldr r2, [r4, #24] 3987 007a A369 ldr r3, [r4, #24] 3988 007c 02F02002 and r2, r2, #32 3989 0080 03F01003 and r3, r3, #16 3990 0084 1343 orrs r3, r2, r3 3991 0086 1ED1 bne .L828 3992 .L834: 3993 0088 FFF7FEFF bl HAL_GetTick 3994 008c C01B subs r0, r0, r7 3995 008e B042 cmp r0, r6 3996 0090 F1D9 bls .L880 3997 .L879: 3998 0092 2023 movs r3, #32 3999 0094 85F84130 strb r3, [r5, #65] 4000 0098 6B6C ldr r3, [r5, #68] 4001 009a 0022 movs r2, #0 4002 009c 43F02003 orr r3, r3, #32 4003 00a0 0120 movs r0, #1 4004 00a2 6B64 str r3, [r5, #68] 4005 00a4 85F84020 strb r2, [r5, #64] 4006 00a8 02B0 add sp, sp, #8 4007 @ sp needed 4008 00aa BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4009 .L858: 4010 00ae 0220 movs r0, #2 4011 .L825: 4012 00b0 02B0 add sp, sp, #8 4013 @ sp needed 4014 00b2 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4015 .L830: 4016 00b6 A369 ldr r3, [r4, #24] 4017 00b8 A169 ldr r1, [r4, #24] 4018 00ba 03F02003 and r3, r3, #32 4019 00be 01F01001 and r1, r1, #16 4020 00c2 0B43 orrs r3, r3, r1 4021 00c4 F7D0 beq .L830 4022 .L828: 4023 00c6 A369 ldr r3, [r4, #24] 4024 00c8 DA06 lsls r2, r3, #27 4025 00ca 50D5 bpl .L835 4026 .L836: 4027 00cc 721C adds r2, r6, #1 4028 00ce 10D1 bne .L843 4029 .L844: 4030 00d0 A369 ldr r3, [r4, #24] 4031 00d2 9B06 lsls r3, r3, #26 4032 00d4 FCD5 bpl .L844 4033 .L845: 4034 00d6 1023 movs r3, #16 4035 00d8 E361 str r3, [r4, #28] 4036 00da 2023 movs r3, #32 4037 00dc E361 str r3, [r4, #28] 4038 00de 019B ldr r3, [sp, #4] 4039 00e0 4B45 cmp r3, r9 4040 00e2 14D0 beq .L881 4041 .L847: ARM GAS /tmp/ccpzG7eY.s page 71 4042 00e4 019B ldr r3, [sp, #4] 4043 00e6 0133 adds r3, r3, #1 4044 00e8 0193 str r3, [sp, #4] 4045 00ea 019B ldr r3, [sp, #4] 4046 00ec 4B45 cmp r3, r9 4047 00ee ABD3 bcc .L855 4048 00f0 CFE7 b .L879 4049 .L843: 4050 00f2 A369 ldr r3, [r4, #24] 4051 00f4 9806 lsls r0, r3, #26 4052 00f6 EED4 bmi .L845 4053 00f8 FFF7FEFF bl HAL_GetTick 4054 00fc C01B subs r0, r0, r7 4055 00fe 8642 cmp r6, r0 4056 0100 1CD3 bcc .L849 4057 0102 DEB1 cbz r6, .L849 4058 0104 2C68 ldr r4, [r5] 4059 0106 E1E7 b .L836 4060 .L832: 4061 0108 FFF7FEFF bl HAL_GetTick 4062 010c C1E7 b .L879 4063 .L881: 4064 010e 6368 ldr r3, [r4, #4] 4065 0110 43F48043 orr r3, r3, #16384 4066 0114 6360 str r3, [r4, #4] 4067 .L848: 4068 0116 711C adds r1, r6, #1 4069 0118 05D1 bne .L851 4070 .L852: 4071 011a A369 ldr r3, [r4, #24] 4072 011c 9A06 lsls r2, r3, #26 4073 011e FCD5 bpl .L852 4074 .L853: 4075 0120 2023 movs r3, #32 4076 0122 E361 str r3, [r4, #28] 4077 0124 DEE7 b .L847 4078 .L851: 4079 0126 A369 ldr r3, [r4, #24] 4080 0128 9B06 lsls r3, r3, #26 4081 012a F9D4 bmi .L853 4082 012c FFF7FEFF bl HAL_GetTick 4083 0130 C01B subs r0, r0, r7 4084 0132 8642 cmp r6, r0 4085 0134 02D3 bcc .L849 4086 0136 0EB1 cbz r6, .L849 4087 0138 2C68 ldr r4, [r5] 4088 013a ECE7 b .L848 4089 .L849: 4090 013c 6B6C ldr r3, [r5, #68] 4091 013e 0022 movs r2, #0 4092 0140 43F02003 orr r3, r3, #32 4093 0144 2021 movs r1, #32 4094 0146 6B64 str r3, [r5, #68] 4095 0148 85F84020 strb r2, [r5, #64] 4096 014c 85F84110 strb r1, [r5, #65] 4097 0150 0120 movs r0, #1 4098 0152 85F84220 strb r2, [r5, #66] ARM GAS /tmp/ccpzG7eY.s page 72 4099 0156 ABE7 b .L825 4100 .L838: 4101 0158 A369 ldr r3, [r4, #24] 4102 015a 9906 lsls r1, r3, #26 4103 015c 0CD4 bmi .L840 4104 015e FFF7FEFF bl HAL_GetTick 4105 0162 C01B subs r0, r0, r7 4106 0164 8642 cmp r6, r0 4107 0166 E9D3 bcc .L849 4108 0168 002E cmp r6, #0 4109 016a E7D0 beq .L849 4110 016c 2C68 ldr r4, [r5] 4111 .L835: 4112 016e 731C adds r3, r6, #1 4113 0170 F2D1 bne .L838 4114 .L839: 4115 0172 A369 ldr r3, [r4, #24] 4116 0174 9806 lsls r0, r3, #26 4117 0176 FCD5 bpl .L839 4118 .L840: 4119 0178 2022 movs r2, #32 4120 017a 0023 movs r3, #0 4121 017c E261 str r2, [r4, #28] 4122 017e 1846 mov r0, r3 4123 0180 85F84120 strb r2, [r5, #65] 4124 0184 85F84030 strb r3, [r5, #64] 4125 0188 92E7 b .L825 4127 018a 00BF .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits 4128 .align 1 4129 .p2align 2,,3 4130 .global HAL_I2C_Master_Seq_Transmit_IT 4131 .syntax unified 4132 .thumb 4133 .thumb_func 4134 .fpu fpv4-sp-d16 4136 HAL_I2C_Master_Seq_Transmit_IT: 4137 @ args = 4, pretend = 0, frame = 0 4138 @ frame_needed = 0, uses_anonymous_args = 0 4139 0000 8446 mov ip, r0 4140 0002 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4141 0006 2028 cmp r0, #32 4142 0008 6DD1 bne .L890 4143 000a 9CF84000 ldrb r0, [ip, #64] @ zero_extendqisi2 4144 000e 0128 cmp r0, #1 4145 0010 69D0 beq .L890 4146 0012 0120 movs r0, #1 4147 0014 30B5 push {r4, r5, lr} 4148 0016 8CF84000 strb r0, [ip, #64] 4149 001a 2120 movs r0, #33 4150 001c 8CF84100 strb r0, [ip, #65] 4151 0020 1020 movs r0, #16 4152 0022 8CF84200 strb r0, [ip, #66] 4153 0026 0020 movs r0, #0 4154 0028 CCF84400 str r0, [ip, #68] 4155 002c ACF82A30 strh r3, [ip, #42] @ movhi 4156 0030 039B ldr r3, [sp, #12] 4157 0032 CCF82C30 str r3, [ip, #44] ARM GAS /tmp/ccpzG7eY.s page 73 4158 0036 BCF82A00 ldrh r0, [ip, #42] 4159 003a 2F4B ldr r3, .L903 4160 003c CCF82420 str r2, [ip, #36] 4161 0040 80B2 uxth r0, r0 4162 0042 FF28 cmp r0, #255 4163 0044 CCF83430 str r3, [ip, #52] 4164 0048 39D8 bhi .L891 4165 004a BCF82A20 ldrh r2, [ip, #42] 4166 004e DCF82C40 ldr r4, [ip, #44] 4167 0052 D3B2 uxtb r3, r2 4168 0054 1804 lsls r0, r3, #16 4169 0056 DCF83030 ldr r3, [ip, #48] 4170 005a 92B2 uxth r2, r2 4171 005c 112B cmp r3, #17 4172 005e ACF82820 strh r2, [ip, #40] @ movhi 4173 0062 37D0 beq .L901 4174 .L885: 4175 0064 DCF82C30 ldr r3, [ip, #44] 4176 0068 AA2B cmp r3, #170 4177 006a 41D0 beq .L902 4178 006c DCF82C30 ldr r3, [ip, #44] 4179 0070 B3F52A4F cmp r3, #43520 4180 0074 04BF itt eq 4181 0076 4FF00073 moveq r3, #33554432 4182 007a CCF82C30 streq r3, [ip, #44] 4183 .L888: 4184 007e BCF82A20 ldrh r2, [ip, #42] 4185 0082 92B2 uxth r2, r2 4186 0084 FF2A cmp r2, #255 4187 0086 30D8 bhi .L893 4188 0088 DCF82C40 ldr r4, [ip, #44] 4189 008c 1B4D ldr r5, .L903+4 4190 008e 1C4A ldr r2, .L903+8 4191 .L886: 4192 0090 C1F30903 ubfx r3, r1, #0, #10 4193 0094 0343 orrs r3, r3, r0 4194 0096 2343 orrs r3, r3, r4 4195 0098 1343 orrs r3, r3, r2 4196 009a DCF80020 ldr r2, [ip] 4197 009e 5168 ldr r1, [r2, #4] 4198 00a0 23F00043 bic r3, r3, #-2147483648 4199 00a4 2940 ands r1, r1, r5 4200 00a6 4FF0000E mov lr, #0 4201 00aa 0B43 orrs r3, r3, r1 4202 00ac 5360 str r3, [r2, #4] 4203 00ae 8CF840E0 strb lr, [ip, #64] 4204 00b2 1368 ldr r3, [r2] 4205 00b4 43F0F203 orr r3, r3, #242 4206 00b8 7046 mov r0, lr 4207 00ba 1360 str r3, [r2] 4208 00bc 30BD pop {r4, r5, pc} 4209 .L891: 4210 00be DCF83030 ldr r3, [ip, #48] 4211 00c2 FF22 movs r2, #255 4212 00c4 112B cmp r3, #17 4213 00c6 4FF47F00 mov r0, #16711680 4214 00ca 4FF08074 mov r4, #16777216 ARM GAS /tmp/ccpzG7eY.s page 74 4215 00ce ACF82820 strh r2, [ip, #40] @ movhi 4216 00d2 C7D1 bne .L885 4217 .L901: 4218 00d4 039B ldr r3, [sp, #12] 4219 00d6 AA2B cmp r3, #170 4220 00d8 C4D0 beq .L885 4221 00da B3F52A4F cmp r3, #43520 4222 00de C1D0 beq .L885 4223 00e0 084D ldr r5, .L903+12 4224 00e2 0022 movs r2, #0 4225 00e4 D4E7 b .L886 4226 .L890: 4227 00e6 0220 movs r0, #2 4228 00e8 7047 bx lr 4229 .L893: 4230 00ea 044D ldr r5, .L903+4 4231 00ec 044A ldr r2, .L903+8 4232 00ee CFE7 b .L886 4233 .L902: 4234 00f0 0023 movs r3, #0 4235 00f2 CCF82C30 str r3, [ip, #44] 4236 00f6 C2E7 b .L888 4237 .L904: 4238 .align 2 4239 .L903: 4240 00f8 00000000 .word I2C_Master_ISR_IT 4241 00fc 009800FC .word -67069952 4242 0100 00200080 .word -2147475456 4243 0104 009C00FC .word -67068928 4245 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits 4246 .align 1 4247 .p2align 2,,3 4248 .global HAL_I2C_Master_Seq_Transmit_DMA 4249 .syntax unified 4250 .thumb 4251 .thumb_func 4252 .fpu fpv4-sp-d16 4254 HAL_I2C_Master_Seq_Transmit_DMA: 4255 @ args = 4, pretend = 0, frame = 0 4256 @ frame_needed = 0, uses_anonymous_args = 0 4257 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 4258 0004 0446 mov r4, r0 4259 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4260 000a 2028 cmp r0, #32 4261 000c 40F0A380 bne .L918 4262 0010 0D46 mov r5, r1 4263 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 4264 0016 0129 cmp r1, #1 4265 0018 00F09D80 beq .L918 4266 001c 0121 movs r1, #1 4267 001e 84F84010 strb r1, [r4, #64] 4268 0022 2121 movs r1, #33 4269 0024 84F84110 strb r1, [r4, #65] 4270 0028 1021 movs r1, #16 4271 002a 84F84210 strb r1, [r4, #66] 4272 002e 0021 movs r1, #0 4273 0030 6164 str r1, [r4, #68] ARM GAS /tmp/ccpzG7eY.s page 75 4274 0032 6385 strh r3, [r4, #42] @ movhi 4275 0034 089B ldr r3, [sp, #32] 4276 0036 E362 str r3, [r4, #44] 4277 0038 638D ldrh r3, [r4, #42] 4278 003a 5B4E ldr r6, .L933 4279 003c 6262 str r2, [r4, #36] 4280 003e 9BB2 uxth r3, r3 4281 0040 FF2B cmp r3, #255 4282 0042 6663 str r6, [r4, #52] 4283 0044 5ED8 bhi .L919 4284 0046 608D ldrh r0, [r4, #42] 4285 0048 D4F82C80 ldr r8, [r4, #44] 4286 004c 216B ldr r1, [r4, #48] 4287 004e 83B2 uxth r3, r0 4288 0050 1129 cmp r1, #17 4289 0052 2385 strh r3, [r4, #40] @ movhi 4290 0054 5DD0 beq .L929 4291 .L908: 4292 0056 E16A ldr r1, [r4, #44] 4293 0058 AA29 cmp r1, #170 4294 005a 00F09180 beq .L930 4295 005e E16A ldr r1, [r4, #44] 4296 0060 B1F52A4F cmp r1, #43520 4297 0064 04BF itt eq 4298 0066 4FF00071 moveq r1, #33554432 4299 006a E162 streq r1, [r4, #44] 4300 .L911: 4301 006c 618D ldrh r1, [r4, #42] 4302 006e 89B2 uxth r1, r1 4303 0070 FF29 cmp r1, #255 4304 0072 73D8 bhi .L921 4305 0074 D4F82C80 ldr r8, [r4, #44] 4306 0078 4C4F ldr r7, .L933+4 4307 007a DFF84091 ldr r9, .L933+20 4308 .L909: 4309 007e 002B cmp r3, #0 4310 0080 52D0 beq .L912 4311 .L932: 4312 0082 A06B ldr r0, [r4, #56] 4313 0084 0028 cmp r0, #0 4314 0086 7ED0 beq .L913 4315 0088 DFF834C1 ldr ip, .L933+24 4316 008c 1146 mov r1, r2 4317 008e 2268 ldr r2, [r4] 4318 0090 C0F82CC0 str ip, [r0, #44] 4319 0094 4FF0000A mov r10, #0 4320 0098 DFF828C1 ldr ip, .L933+28 4321 009c C0F830A0 str r10, [r0, #48] 4322 00a0 2832 adds r2, r2, #40 4323 00a2 C0F838A0 str r10, [r0, #56] 4324 00a6 C0F834C0 str ip, [r0, #52] 4325 00aa FFF7FEFF bl HAL_DMA_Start_IT 4326 00ae 0028 cmp r0, #0 4327 00b0 58D1 bne .L931 4328 00b2 228D ldrh r2, [r4, #40] 4329 00b4 2368 ldr r3, [r4] 4330 00b6 D1B2 uxtb r1, r2 ARM GAS /tmp/ccpzG7eY.s page 76 4331 00b8 C5F30905 ubfx r5, r5, #0, #10 4332 00bc 45EA0145 orr r5, r5, r1, lsl #16 4333 00c0 45EA0808 orr r8, r5, r8 4334 00c4 5968 ldr r1, [r3, #4] 4335 00c6 48EA0909 orr r9, r8, r9 4336 00ca 0F40 ands r7, r7, r1 4337 00cc 29F00049 bic r9, r9, #-2147483648 4338 00d0 49EA0707 orr r7, r9, r7 4339 00d4 5F60 str r7, [r3, #4] 4340 00d6 618D ldrh r1, [r4, #42] 4341 00d8 84F84000 strb r0, [r4, #64] 4342 00dc 8A1A subs r2, r1, r2 4343 00de 92B2 uxth r2, r2 4344 00e0 6285 strh r2, [r4, #42] @ movhi 4345 00e2 626B ldr r2, [r4, #52] 4346 00e4 B242 cmp r2, r6 4347 00e6 5CD0 beq .L922 4348 00e8 3149 ldr r1, .L933+8 4349 00ea 8A42 cmp r2, r1 4350 00ec 0CBF ite eq 4351 00ee 9022 moveq r2, #144 4352 00f0 0022 movne r2, #0 4353 .L916: 4354 00f2 1968 ldr r1, [r3] 4355 00f4 0A43 orrs r2, r2, r1 4356 00f6 1A60 str r2, [r3] 4357 00f8 1A68 ldr r2, [r3] 4358 00fa 42F48042 orr r2, r2, #16384 4359 00fe 1A60 str r2, [r3] 4360 0100 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4361 .L919: 4362 0104 216B ldr r1, [r4, #48] 4363 0106 FF23 movs r3, #255 4364 0108 1129 cmp r1, #17 4365 010a 4FF08078 mov r8, #16777216 4366 010e 2385 strh r3, [r4, #40] @ movhi 4367 0110 A1D1 bne .L908 4368 .L929: 4369 0112 0899 ldr r1, [sp, #32] 4370 0114 AA29 cmp r1, #170 4371 0116 9ED0 beq .L908 4372 0118 B1F52A4F cmp r1, #43520 4373 011c 9BD0 beq .L908 4374 011e 254F ldr r7, .L933+12 4375 0120 4FF00009 mov r9, #0 4376 0124 002B cmp r3, #0 4377 0126 ACD1 bne .L932 4378 .L912: 4379 0128 2268 ldr r2, [r4] 4380 012a 2348 ldr r0, .L933+16 4381 012c 5168 ldr r1, [r2, #4] 4382 012e 6063 str r0, [r4, #52] 4383 0130 1E48 ldr r0, .L933+4 4384 0132 C5F30905 ubfx r5, r5, #0, #10 4385 0136 0140 ands r1, r1, r0 4386 0138 0D43 orrs r5, r5, r1 4387 013a 45F00075 orr r5, r5, #33554432 ARM GAS /tmp/ccpzG7eY.s page 77 4388 013e 45F40055 orr r5, r5, #8192 4389 0142 5560 str r5, [r2, #4] 4390 0144 84F84030 strb r3, [r4, #64] 4391 0148 1168 ldr r1, [r2] 4392 014a 41F0F201 orr r1, r1, #242 4393 014e 1846 mov r0, r3 4394 0150 1160 str r1, [r2] 4395 0152 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4396 .L918: 4397 0156 0220 movs r0, #2 4398 0158 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4399 .L921: 4400 015c 134F ldr r7, .L933+4 4401 015e DFF85C90 ldr r9, .L933+20 4402 0162 8CE7 b .L909 4403 .L931: 4404 0164 2023 movs r3, #32 4405 0166 84F84130 strb r3, [r4, #65] 4406 016a 84F842A0 strb r10, [r4, #66] 4407 016e 636C ldr r3, [r4, #68] 4408 0170 84F840A0 strb r10, [r4, #64] 4409 0174 43F01003 orr r3, r3, #16 4410 0178 6364 str r3, [r4, #68] 4411 017a 0120 movs r0, #1 4412 017c BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4413 .L930: 4414 0180 0021 movs r1, #0 4415 0182 E162 str r1, [r4, #44] 4416 0184 72E7 b .L911 4417 .L913: 4418 0186 2023 movs r3, #32 4419 0188 84F84130 strb r3, [r4, #65] 4420 018c 84F84200 strb r0, [r4, #66] 4421 0190 636C ldr r3, [r4, #68] 4422 0192 84F84000 strb r0, [r4, #64] 4423 0196 43F08003 orr r3, r3, #128 4424 019a 6364 str r3, [r4, #68] 4425 019c 0120 movs r0, #1 4426 019e BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4427 .L922: 4428 01a2 9022 movs r2, #144 4429 01a4 A5E7 b .L916 4430 .L934: 4431 01a6 00BF .align 2 4432 .L933: 4433 01a8 00000000 .word I2C_Master_ISR_DMA 4434 01ac 009800FC .word -67069952 4435 01b0 00000000 .word I2C_Slave_ISR_DMA 4436 01b4 009C00FC .word -67068928 4437 01b8 00000000 .word I2C_Master_ISR_IT 4438 01bc 00200080 .word -2147475456 4439 01c0 00000000 .word I2C_DMAMasterTransmitCplt 4440 01c4 00000000 .word I2C_DMAError 4442 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits 4443 .align 1 4444 .p2align 2,,3 4445 .global HAL_I2C_Master_Seq_Receive_IT ARM GAS /tmp/ccpzG7eY.s page 78 4446 .syntax unified 4447 .thumb 4448 .thumb_func 4449 .fpu fpv4-sp-d16 4451 HAL_I2C_Master_Seq_Receive_IT: 4452 @ args = 4, pretend = 0, frame = 0 4453 @ frame_needed = 0, uses_anonymous_args = 0 4454 0000 8446 mov ip, r0 4455 0002 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4456 0006 2028 cmp r0, #32 4457 0008 6DD1 bne .L943 4458 000a 9CF84000 ldrb r0, [ip, #64] @ zero_extendqisi2 4459 000e 0128 cmp r0, #1 4460 0010 69D0 beq .L943 4461 0012 0120 movs r0, #1 4462 0014 30B5 push {r4, r5, lr} 4463 0016 8CF84000 strb r0, [ip, #64] 4464 001a 2220 movs r0, #34 4465 001c 8CF84100 strb r0, [ip, #65] 4466 0020 1020 movs r0, #16 4467 0022 8CF84200 strb r0, [ip, #66] 4468 0026 0020 movs r0, #0 4469 0028 CCF84400 str r0, [ip, #68] 4470 002c ACF82A30 strh r3, [ip, #42] @ movhi 4471 0030 039B ldr r3, [sp, #12] 4472 0032 CCF82C30 str r3, [ip, #44] 4473 0036 BCF82A00 ldrh r0, [ip, #42] 4474 003a 2F4B ldr r3, .L956 4475 003c CCF82420 str r2, [ip, #36] 4476 0040 80B2 uxth r0, r0 4477 0042 FF28 cmp r0, #255 4478 0044 CCF83430 str r3, [ip, #52] 4479 0048 39D8 bhi .L944 4480 004a BCF82A20 ldrh r2, [ip, #42] 4481 004e DCF82C40 ldr r4, [ip, #44] 4482 0052 D3B2 uxtb r3, r2 4483 0054 1804 lsls r0, r3, #16 4484 0056 DCF83030 ldr r3, [ip, #48] 4485 005a 92B2 uxth r2, r2 4486 005c 122B cmp r3, #18 4487 005e ACF82820 strh r2, [ip, #40] @ movhi 4488 0062 37D0 beq .L954 4489 .L938: 4490 0064 DCF82C30 ldr r3, [ip, #44] 4491 0068 AA2B cmp r3, #170 4492 006a 41D0 beq .L955 4493 006c DCF82C30 ldr r3, [ip, #44] 4494 0070 B3F52A4F cmp r3, #43520 4495 0074 04BF itt eq 4496 0076 4FF00073 moveq r3, #33554432 4497 007a CCF82C30 streq r3, [ip, #44] 4498 .L941: 4499 007e BCF82A20 ldrh r2, [ip, #42] 4500 0082 92B2 uxth r2, r2 4501 0084 FF2A cmp r2, #255 4502 0086 30D8 bhi .L946 4503 0088 DCF82C40 ldr r4, [ip, #44] ARM GAS /tmp/ccpzG7eY.s page 79 4504 008c 1B4D ldr r5, .L956+4 4505 008e 1C4A ldr r2, .L956+8 4506 .L939: 4507 0090 C1F30903 ubfx r3, r1, #0, #10 4508 0094 0343 orrs r3, r3, r0 4509 0096 2343 orrs r3, r3, r4 4510 0098 1343 orrs r3, r3, r2 4511 009a DCF80020 ldr r2, [ip] 4512 009e 5168 ldr r1, [r2, #4] 4513 00a0 23F00043 bic r3, r3, #-2147483648 4514 00a4 2940 ands r1, r1, r5 4515 00a6 4FF0000E mov lr, #0 4516 00aa 0B43 orrs r3, r3, r1 4517 00ac 5360 str r3, [r2, #4] 4518 00ae 8CF840E0 strb lr, [ip, #64] 4519 00b2 1368 ldr r3, [r2] 4520 00b4 43F0F403 orr r3, r3, #244 4521 00b8 7046 mov r0, lr 4522 00ba 1360 str r3, [r2] 4523 00bc 30BD pop {r4, r5, pc} 4524 .L944: 4525 00be DCF83030 ldr r3, [ip, #48] 4526 00c2 FF22 movs r2, #255 4527 00c4 122B cmp r3, #18 4528 00c6 4FF47F00 mov r0, #16711680 4529 00ca 4FF08074 mov r4, #16777216 4530 00ce ACF82820 strh r2, [ip, #40] @ movhi 4531 00d2 C7D1 bne .L938 4532 .L954: 4533 00d4 039B ldr r3, [sp, #12] 4534 00d6 AA2B cmp r3, #170 4535 00d8 C4D0 beq .L938 4536 00da B3F52A4F cmp r3, #43520 4537 00de C1D0 beq .L938 4538 00e0 084D ldr r5, .L956+12 4539 00e2 0022 movs r2, #0 4540 00e4 D4E7 b .L939 4541 .L943: 4542 00e6 0220 movs r0, #2 4543 00e8 7047 bx lr 4544 .L946: 4545 00ea 044D ldr r5, .L956+4 4546 00ec 044A ldr r2, .L956+8 4547 00ee CFE7 b .L939 4548 .L955: 4549 00f0 0023 movs r3, #0 4550 00f2 CCF82C30 str r3, [ip, #44] 4551 00f6 C2E7 b .L941 4552 .L957: 4553 .align 2 4554 .L956: 4555 00f8 00000000 .word I2C_Master_ISR_IT 4556 00fc 009800FC .word -67069952 4557 0100 00240080 .word -2147474432 4558 0104 009C00FC .word -67068928 4560 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits 4561 .align 1 ARM GAS /tmp/ccpzG7eY.s page 80 4562 .p2align 2,,3 4563 .global HAL_I2C_Master_Seq_Receive_DMA 4564 .syntax unified 4565 .thumb 4566 .thumb_func 4567 .fpu fpv4-sp-d16 4569 HAL_I2C_Master_Seq_Receive_DMA: 4570 @ args = 4, pretend = 0, frame = 0 4571 @ frame_needed = 0, uses_anonymous_args = 0 4572 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 4573 0004 0446 mov r4, r0 4574 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4575 000a 2028 cmp r0, #32 4576 000c 40F0A280 bne .L971 4577 0010 0D46 mov r5, r1 4578 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 4579 0016 0129 cmp r1, #1 4580 0018 00F09C80 beq .L971 4581 001c 0121 movs r1, #1 4582 001e 84F84010 strb r1, [r4, #64] 4583 0022 2221 movs r1, #34 4584 0024 84F84110 strb r1, [r4, #65] 4585 0028 1021 movs r1, #16 4586 002a 84F84210 strb r1, [r4, #66] 4587 002e 0021 movs r1, #0 4588 0030 6164 str r1, [r4, #68] 4589 0032 6385 strh r3, [r4, #42] @ movhi 4590 0034 089B ldr r3, [sp, #32] 4591 0036 E362 str r3, [r4, #44] 4592 0038 638D ldrh r3, [r4, #42] 4593 003a 5A4E ldr r6, .L986 4594 003c 6262 str r2, [r4, #36] 4595 003e 9BB2 uxth r3, r3 4596 0040 FF2B cmp r3, #255 4597 0042 6663 str r6, [r4, #52] 4598 0044 5DD8 bhi .L972 4599 0046 608D ldrh r0, [r4, #42] 4600 0048 D4F82C80 ldr r8, [r4, #44] 4601 004c 216B ldr r1, [r4, #48] 4602 004e 83B2 uxth r3, r0 4603 0050 1229 cmp r1, #18 4604 0052 2385 strh r3, [r4, #40] @ movhi 4605 0054 5CD0 beq .L982 4606 .L961: 4607 0056 E16A ldr r1, [r4, #44] 4608 0058 AA29 cmp r1, #170 4609 005a 00F09080 beq .L983 4610 005e E16A ldr r1, [r4, #44] 4611 0060 B1F52A4F cmp r1, #43520 4612 0064 04BF itt eq 4613 0066 4FF00071 moveq r1, #33554432 4614 006a E162 streq r1, [r4, #44] 4615 .L964: 4616 006c 618D ldrh r1, [r4, #42] 4617 006e 89B2 uxth r1, r1 4618 0070 FF29 cmp r1, #255 4619 0072 72D8 bhi .L974 ARM GAS /tmp/ccpzG7eY.s page 81 4620 0074 D4F82C80 ldr r8, [r4, #44] 4621 0078 4B4F ldr r7, .L986+4 4622 007a DFF83C91 ldr r9, .L986+20 4623 .L962: 4624 007e 002B cmp r3, #0 4625 0080 51D0 beq .L965 4626 .L985: 4627 0082 E06B ldr r0, [r4, #60] 4628 0084 0028 cmp r0, #0 4629 0086 7DD0 beq .L966 4630 0088 2168 ldr r1, [r4] 4631 008a DFF830C1 ldr ip, .L986+24 4632 008e C0F82CC0 str ip, [r0, #44] 4633 0092 4FF0000A mov r10, #0 4634 0096 DFF828C1 ldr ip, .L986+28 4635 009a C0F830A0 str r10, [r0, #48] 4636 009e 2431 adds r1, r1, #36 4637 00a0 C0F838A0 str r10, [r0, #56] 4638 00a4 C0F834C0 str ip, [r0, #52] 4639 00a8 FFF7FEFF bl HAL_DMA_Start_IT 4640 00ac 0028 cmp r0, #0 4641 00ae 58D1 bne .L984 4642 00b0 228D ldrh r2, [r4, #40] 4643 00b2 2368 ldr r3, [r4] 4644 00b4 D1B2 uxtb r1, r2 4645 00b6 C5F30905 ubfx r5, r5, #0, #10 4646 00ba 45EA0145 orr r5, r5, r1, lsl #16 4647 00be 45EA0808 orr r8, r5, r8 4648 00c2 5968 ldr r1, [r3, #4] 4649 00c4 48EA0909 orr r9, r8, r9 4650 00c8 0F40 ands r7, r7, r1 4651 00ca 29F00049 bic r9, r9, #-2147483648 4652 00ce 49EA0707 orr r7, r9, r7 4653 00d2 5F60 str r7, [r3, #4] 4654 00d4 618D ldrh r1, [r4, #42] 4655 00d6 84F84000 strb r0, [r4, #64] 4656 00da 8A1A subs r2, r1, r2 4657 00dc 92B2 uxth r2, r2 4658 00de 6285 strh r2, [r4, #42] @ movhi 4659 00e0 626B ldr r2, [r4, #52] 4660 00e2 B242 cmp r2, r6 4661 00e4 5CD0 beq .L975 4662 00e6 3149 ldr r1, .L986+8 4663 00e8 8A42 cmp r2, r1 4664 00ea 0CBF ite eq 4665 00ec 9022 moveq r2, #144 4666 00ee 0022 movne r2, #0 4667 .L969: 4668 00f0 1968 ldr r1, [r3] 4669 00f2 0A43 orrs r2, r2, r1 4670 00f4 1A60 str r2, [r3] 4671 00f6 1A68 ldr r2, [r3] 4672 00f8 42F40042 orr r2, r2, #32768 4673 00fc 1A60 str r2, [r3] 4674 00fe BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4675 .L972: 4676 0102 216B ldr r1, [r4, #48] ARM GAS /tmp/ccpzG7eY.s page 82 4677 0104 FF23 movs r3, #255 4678 0106 1229 cmp r1, #18 4679 0108 4FF08078 mov r8, #16777216 4680 010c 2385 strh r3, [r4, #40] @ movhi 4681 010e A2D1 bne .L961 4682 .L982: 4683 0110 0899 ldr r1, [sp, #32] 4684 0112 AA29 cmp r1, #170 4685 0114 9FD0 beq .L961 4686 0116 B1F52A4F cmp r1, #43520 4687 011a 9CD0 beq .L961 4688 011c 244F ldr r7, .L986+12 4689 011e 4FF00009 mov r9, #0 4690 0122 002B cmp r3, #0 4691 0124 ADD1 bne .L985 4692 .L965: 4693 0126 2268 ldr r2, [r4] 4694 0128 2248 ldr r0, .L986+16 4695 012a 5168 ldr r1, [r2, #4] 4696 012c 6063 str r0, [r4, #52] 4697 012e 1E48 ldr r0, .L986+4 4698 0130 C5F30905 ubfx r5, r5, #0, #10 4699 0134 0140 ands r1, r1, r0 4700 0136 0D43 orrs r5, r5, r1 4701 0138 45F00075 orr r5, r5, #33554432 4702 013c 45F41055 orr r5, r5, #9216 4703 0140 5560 str r5, [r2, #4] 4704 0142 84F84030 strb r3, [r4, #64] 4705 0146 1168 ldr r1, [r2] 4706 0148 41F0F201 orr r1, r1, #242 4707 014c 1846 mov r0, r3 4708 014e 1160 str r1, [r2] 4709 0150 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4710 .L971: 4711 0154 0220 movs r0, #2 4712 0156 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4713 .L974: 4714 015a 134F ldr r7, .L986+4 4715 015c DFF85890 ldr r9, .L986+20 4716 0160 8DE7 b .L962 4717 .L984: 4718 0162 2023 movs r3, #32 4719 0164 84F84130 strb r3, [r4, #65] 4720 0168 84F842A0 strb r10, [r4, #66] 4721 016c 636C ldr r3, [r4, #68] 4722 016e 84F840A0 strb r10, [r4, #64] 4723 0172 43F01003 orr r3, r3, #16 4724 0176 6364 str r3, [r4, #68] 4725 0178 0120 movs r0, #1 4726 017a BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4727 .L983: 4728 017e 0021 movs r1, #0 4729 0180 E162 str r1, [r4, #44] 4730 0182 73E7 b .L964 4731 .L966: 4732 0184 2023 movs r3, #32 4733 0186 84F84130 strb r3, [r4, #65] ARM GAS /tmp/ccpzG7eY.s page 83 4734 018a 84F84200 strb r0, [r4, #66] 4735 018e 636C ldr r3, [r4, #68] 4736 0190 84F84000 strb r0, [r4, #64] 4737 0194 43F08003 orr r3, r3, #128 4738 0198 6364 str r3, [r4, #68] 4739 019a 0120 movs r0, #1 4740 019c BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 4741 .L975: 4742 01a0 9022 movs r2, #144 4743 01a2 A5E7 b .L969 4744 .L987: 4745 .align 2 4746 .L986: 4747 01a4 00000000 .word I2C_Master_ISR_DMA 4748 01a8 009800FC .word -67069952 4749 01ac 00000000 .word I2C_Slave_ISR_DMA 4750 01b0 009C00FC .word -67068928 4751 01b4 00000000 .word I2C_Master_ISR_IT 4752 01b8 00240080 .word -2147474432 4753 01bc 00000000 .word I2C_DMAMasterReceiveCplt 4754 01c0 00000000 .word I2C_DMAError 4756 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits 4757 .align 1 4758 .p2align 2,,3 4759 .global HAL_I2C_Slave_Seq_Transmit_IT 4760 .syntax unified 4761 .thumb 4762 .thumb_func 4763 .fpu fpv4-sp-d16 4765 HAL_I2C_Slave_Seq_Transmit_IT: 4766 @ args = 0, pretend = 0, frame = 16 4767 @ frame_needed = 0, uses_anonymous_args = 0 4768 0000 30B5 push {r4, r5, lr} 4769 0002 0446 mov r4, r0 4770 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4771 0008 00F02800 and r0, r0, #40 4772 000c 2828 cmp r0, #40 4773 000e 85B0 sub sp, sp, #20 4774 0010 39D1 bne .L996 4775 0012 0029 cmp r1, #0 4776 0014 3AD0 beq .L990 4777 0016 002A cmp r2, #0 4778 0018 38D0 beq .L990 4779 001a 2568 ldr r5, [r4] 4780 001c 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4781 0020 2868 ldr r0, [r5] 4782 0022 20F0FA00 bic r0, r0, #250 4783 0026 2860 str r0, [r5] 4784 0028 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 4785 002c 0128 cmp r0, #1 4786 002e 58D0 beq .L997 4787 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4788 0034 4FF0010C mov ip, #1 4789 0038 2A28 cmp r0, #42 4790 003a 84F840C0 strb ip, [r4, #64] 4791 003e 2BD0 beq .L1012 4792 .L992: ARM GAS /tmp/ccpzG7eY.s page 84 4793 0040 2920 movs r0, #41 4794 0042 84F84100 strb r0, [r4, #65] 4795 0046 2020 movs r0, #32 4796 0048 84F84200 strb r0, [r4, #66] 4797 004c 0020 movs r0, #0 4798 004e 6064 str r0, [r4, #68] 4799 0050 6868 ldr r0, [r5, #4] 4800 0052 20F40040 bic r0, r0, #32768 4801 0056 6860 str r0, [r5, #4] 4802 0058 6285 strh r2, [r4, #42] @ movhi 4803 005a 608D ldrh r0, [r4, #42] 4804 005c E362 str r3, [r4, #44] 4805 005e AB69 ldr r3, [r5, #24] 4806 0060 2085 strh r0, [r4, #40] @ movhi 4807 0062 DB03 lsls r3, r3, #15 4808 0064 48BF it mi 4809 0066 0823 movmi r3, #8 4810 0068 4FF00000 mov r0, #0 4811 006c 234A ldr r2, .L1013 4812 006e 6162 str r1, [r4, #36] 4813 0070 6263 str r2, [r4, #52] 4814 0072 48BF it mi 4815 0074 EB61 strmi r3, [r5, #28] 4816 0076 84F84000 strb r0, [r4, #64] 4817 007a 2B68 ldr r3, [r5] 4818 007c 43F0FA03 orr r3, r3, #250 4819 0080 2B60 str r3, [r5] 4820 0082 05B0 add sp, sp, #20 4821 @ sp needed 4822 0084 30BD pop {r4, r5, pc} 4823 .L996: 4824 0086 0120 movs r0, #1 4825 .L989: 4826 0088 05B0 add sp, sp, #20 4827 @ sp needed 4828 008a 30BD pop {r4, r5, pc} 4829 .L990: 4830 008c 4FF40073 mov r3, #512 4831 0090 0120 movs r0, #1 4832 0092 6364 str r3, [r4, #68] 4833 0094 05B0 add sp, sp, #20 4834 @ sp needed 4835 0096 30BD pop {r4, r5, pc} 4836 .L1012: 4837 0098 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4838 009c 00F02800 and r0, r0, #40 4839 00a0 2828 cmp r0, #40 4840 00a2 2868 ldr r0, [r5] 4841 00a4 0CBF ite eq 4842 00a6 6FF0440C mvneq ip, #68 4843 00aa 6FF0F40C mvnne ip, #244 4844 00ae 00EA0C00 and r0, r0, ip 4845 00b2 2860 str r0, [r5] 4846 00b4 2868 ldr r0, [r5] 4847 00b6 0004 lsls r0, r0, #16 4848 00b8 C2D5 bpl .L992 4849 00ba 2868 ldr r0, [r5] ARM GAS /tmp/ccpzG7eY.s page 85 4850 00bc 20F40040 bic r0, r0, #32768 4851 00c0 2860 str r0, [r5] 4852 00c2 E06B ldr r0, [r4, #60] 4853 00c4 0028 cmp r0, #0 4854 00c6 BBD0 beq .L992 4855 00c8 0D4D ldr r5, .L1013+4 4856 00ca 8563 str r5, [r0, #56] 4857 00cc CDE90223 strd r2, r3, [sp, #8] 4858 00d0 0191 str r1, [sp, #4] 4859 00d2 FFF7FEFF bl HAL_DMA_Abort_IT 4860 00d6 DDE90112 ldrd r1, r2, [sp, #4] 4861 00da 039B ldr r3, [sp, #12] 4862 00dc 18B9 cbnz r0, .L994 4863 00de 2568 ldr r5, [r4] 4864 00e0 AEE7 b .L992 4865 .L997: 4866 00e2 0220 movs r0, #2 4867 00e4 D0E7 b .L989 4868 .L994: 4869 00e6 E06B ldr r0, [r4, #60] 4870 00e8 0191 str r1, [sp, #4] 4871 00ea 856B ldr r5, [r0, #56] 4872 00ec CDE90223 strd r2, r3, [sp, #8] 4873 00f0 A847 blx r5 4874 00f2 DDE90223 ldrd r2, r3, [sp, #8] 4875 00f6 2568 ldr r5, [r4] 4876 00f8 0199 ldr r1, [sp, #4] 4877 00fa A1E7 b .L992 4878 .L1014: 4879 .align 2 4880 .L1013: 4881 00fc 00000000 .word I2C_Slave_ISR_IT 4882 0100 00000000 .word I2C_DMAAbort 4884 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits 4885 .align 1 4886 .p2align 2,,3 4887 .global HAL_I2C_Slave_Seq_Transmit_DMA 4888 .syntax unified 4889 .thumb 4890 .thumb_func 4891 .fpu fpv4-sp-d16 4893 HAL_I2C_Slave_Seq_Transmit_DMA: 4894 @ args = 0, pretend = 0, frame = 16 4895 @ frame_needed = 0, uses_anonymous_args = 0 4896 0000 F0B5 push {r4, r5, r6, r7, lr} 4897 0002 0446 mov r4, r0 4898 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4899 0008 00F02800 and r0, r0, #40 4900 000c 2828 cmp r0, #40 4901 000e 85B0 sub sp, sp, #20 4902 0010 57D1 bne .L1034 4903 0012 0029 cmp r1, #0 4904 0014 58D0 beq .L1017 4905 0016 002A cmp r2, #0 4906 0018 56D0 beq .L1017 4907 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 4908 001e 0128 cmp r0, #1 ARM GAS /tmp/ccpzG7eY.s page 86 4909 0020 00F0D380 beq .L1035 4910 0024 2568 ldr r5, [r4] 4911 0026 0120 movs r0, #1 4912 0028 84F84000 strb r0, [r4, #64] 4913 002c 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4914 0030 2868 ldr r0, [r5] 4915 0032 20F0FA00 bic r0, r0, #250 4916 0036 2860 str r0, [r5] 4917 0038 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4918 003c 2A28 cmp r0, #42 4919 003e 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4920 0042 47D0 beq .L1049 4921 0044 2928 cmp r0, #41 4922 0046 C6B2 uxtb r6, r0 4923 0048 00F09D80 beq .L1025 4924 .L1047: 4925 004c A06B ldr r0, [r4, #56] 4926 .L1022: 4927 004e 2926 movs r6, #41 4928 0050 84F84160 strb r6, [r4, #65] 4929 0054 2026 movs r6, #32 4930 0056 84F84260 strb r6, [r4, #66] 4931 005a 0026 movs r6, #0 4932 005c 6664 str r6, [r4, #68] 4933 005e 6F68 ldr r7, [r5, #4] 4934 0060 27F40047 bic r7, r7, #32768 4935 0064 6F60 str r7, [r5, #4] 4936 0066 6285 strh r2, [r4, #42] @ movhi 4937 0068 628D ldrh r2, [r4, #42] 4938 006a E362 str r3, [r4, #44] 4939 006c 93B2 uxth r3, r2 4940 006e 594A ldr r2, .L1051 4941 0070 6162 str r1, [r4, #36] 4942 0072 2385 strh r3, [r4, #40] @ movhi 4943 0074 6263 str r2, [r4, #52] 4944 0076 0028 cmp r0, #0 4945 0078 77D0 beq .L1029 4946 007a 05F12802 add r2, r5, #40 4947 007e 564D ldr r5, .L1051+4 4948 0080 C562 str r5, [r0, #44] 4949 0082 564D ldr r5, .L1051+8 4950 0084 0663 str r6, [r0, #48] 4951 0086 8663 str r6, [r0, #56] 4952 0088 4563 str r5, [r0, #52] 4953 008a FFF7FEFF bl HAL_DMA_Start_IT 4954 008e 0028 cmp r0, #0 4955 0090 4DD1 bne .L1050 4956 0092 628D ldrh r2, [r4, #42] 4957 0094 218D ldrh r1, [r4, #40] 4958 0096 2368 ldr r3, [r4] 4959 0098 521A subs r2, r2, r1 4960 009a 92B2 uxth r2, r2 4961 009c 6285 strh r2, [r4, #42] @ movhi 4962 009e 9A69 ldr r2, [r3, #24] 4963 00a0 2085 strh r0, [r4, #40] @ movhi 4964 00a2 D203 lsls r2, r2, #15 4965 00a4 01D5 bpl .L1033 ARM GAS /tmp/ccpzG7eY.s page 87 4966 00a6 0822 movs r2, #8 4967 00a8 DA61 str r2, [r3, #28] 4968 .L1033: 4969 00aa 0022 movs r2, #0 4970 00ac 84F84020 strb r2, [r4, #64] 4971 00b0 1A68 ldr r2, [r3] 4972 00b2 42F48042 orr r2, r2, #16384 4973 00b6 1A60 str r2, [r3] 4974 00b8 1A68 ldr r2, [r3] 4975 00ba 42F0B802 orr r2, r2, #184 4976 00be 1A60 str r2, [r3] 4977 00c0 00E0 b .L1043 4978 .L1034: 4979 00c2 0120 movs r0, #1 4980 .L1043: 4981 00c4 05B0 add sp, sp, #20 4982 @ sp needed 4983 00c6 F0BD pop {r4, r5, r6, r7, pc} 4984 .L1017: 4985 00c8 4FF40073 mov r3, #512 4986 00cc 0120 movs r0, #1 4987 00ce 6364 str r3, [r4, #68] 4988 00d0 05B0 add sp, sp, #20 4989 @ sp needed 4990 00d2 F0BD pop {r4, r5, r6, r7, pc} 4991 .L1049: 4992 00d4 00F02800 and r0, r0, #40 4993 00d8 2828 cmp r0, #40 4994 00da 2868 ldr r0, [r5] 4995 00dc 0CBF ite eq 4996 00de 6FF04406 mvneq r6, #68 4997 00e2 6FF0F406 mvnne r6, #244 4998 00e6 3040 ands r0, r0, r6 4999 00e8 2860 str r0, [r5] 5000 00ea 2868 ldr r0, [r5] 5001 00ec 0604 lsls r6, r0, #16 5002 00ee ADD5 bpl .L1047 5003 00f0 E06B ldr r0, [r4, #60] 5004 00f2 0028 cmp r0, #0 5005 00f4 AAD0 beq .L1047 5006 00f6 2E68 ldr r6, [r5] 5007 00f8 0191 str r1, [sp, #4] 5008 00fa 26F40046 bic r6, r6, #32768 5009 00fe 2E60 str r6, [r5] 5010 0100 374D ldr r5, .L1051+12 5011 0102 8563 str r5, [r0, #56] 5012 0104 CDE90223 strd r2, r3, [sp, #8] 5013 0108 FFF7FEFF bl HAL_DMA_Abort_IT 5014 010c DDE90112 ldrd r1, r2, [sp, #4] 5015 0110 039B ldr r3, [sp, #12] 5016 0112 0028 cmp r0, #0 5017 0114 5BD0 beq .L1048 5018 0116 E06B ldr r0, [r4, #60] 5019 0118 0191 str r1, [sp, #4] 5020 011a 856B ldr r5, [r0, #56] 5021 011c CDE90223 strd r2, r3, [sp, #8] 5022 0120 A847 blx r5 ARM GAS /tmp/ccpzG7eY.s page 88 5023 0122 DDE90112 ldrd r1, r2, [sp, #4] 5024 0126 2568 ldr r5, [r4] 5025 0128 A06B ldr r0, [r4, #56] 5026 012a 039B ldr r3, [sp, #12] 5027 012c 8FE7 b .L1022 5028 .L1050: 5029 012e 2823 movs r3, #40 5030 0130 84F84130 strb r3, [r4, #65] 5031 0134 84F84260 strb r6, [r4, #66] 5032 0138 636C ldr r3, [r4, #68] 5033 013a 84F84060 strb r6, [r4, #64] 5034 013e 43F01003 orr r3, r3, #16 5035 0142 6364 str r3, [r4, #68] 5036 0144 0120 movs r0, #1 5037 0146 BDE7 b .L1043 5038 .L1027: 5039 0148 84F84160 strb r6, [r4, #65] 5040 014c 2026 movs r6, #32 5041 014e 84F84260 strb r6, [r4, #66] 5042 0152 6064 str r0, [r4, #68] 5043 0154 6868 ldr r0, [r5, #4] 5044 0156 20F40040 bic r0, r0, #32768 5045 015a 6860 str r0, [r5, #4] 5046 015c 6285 strh r2, [r4, #42] @ movhi 5047 015e 608D ldrh r0, [r4, #42] 5048 0160 1C4A ldr r2, .L1051 5049 0162 6162 str r1, [r4, #36] 5050 0164 2085 strh r0, [r4, #40] @ movhi 5051 0166 E362 str r3, [r4, #44] 5052 0168 6263 str r2, [r4, #52] 5053 .L1029: 5054 016a 0022 movs r2, #0 5055 016c 2823 movs r3, #40 5056 016e 84F84130 strb r3, [r4, #65] 5057 0172 84F84220 strb r2, [r4, #66] 5058 0176 636C ldr r3, [r4, #68] 5059 0178 84F84020 strb r2, [r4, #64] 5060 017c 43F08003 orr r3, r3, #128 5061 0180 6364 str r3, [r4, #68] 5062 0182 0120 movs r0, #1 5063 0184 9EE7 b .L1043 5064 .L1025: 5065 0186 2868 ldr r0, [r5] 5066 0188 4004 lsls r0, r0, #17 5067 018a 7FF55FAF bpl .L1047 5068 018e 2868 ldr r0, [r5] 5069 0190 20F48040 bic r0, r0, #16384 5070 0194 2860 str r0, [r5] 5071 0196 A06B ldr r0, [r4, #56] 5072 0198 0028 cmp r0, #0 5073 019a D5D0 beq .L1027 5074 019c 104D ldr r5, .L1051+12 5075 019e 8563 str r5, [r0, #56] 5076 01a0 CDE90223 strd r2, r3, [sp, #8] 5077 01a4 0191 str r1, [sp, #4] 5078 01a6 FFF7FEFF bl HAL_DMA_Abort_IT 5079 01aa DDE90112 ldrd r1, r2, [sp, #4] ARM GAS /tmp/ccpzG7eY.s page 89 5080 01ae 039B ldr r3, [sp, #12] 5081 01b0 68B1 cbz r0, .L1048 5082 01b2 A06B ldr r0, [r4, #56] 5083 01b4 0191 str r1, [sp, #4] 5084 01b6 856B ldr r5, [r0, #56] 5085 01b8 CDE90223 strd r2, r3, [sp, #8] 5086 01bc A847 blx r5 5087 01be DDE90223 ldrd r2, r3, [sp, #8] 5088 01c2 2568 ldr r5, [r4] 5089 01c4 A06B ldr r0, [r4, #56] 5090 01c6 0199 ldr r1, [sp, #4] 5091 01c8 41E7 b .L1022 5092 .L1035: 5093 01ca 0220 movs r0, #2 5094 01cc 7AE7 b .L1043 5095 .L1048: 5096 01ce 2568 ldr r5, [r4] 5097 01d0 3CE7 b .L1047 5098 .L1052: 5099 01d2 00BF .align 2 5100 .L1051: 5101 01d4 00000000 .word I2C_Slave_ISR_DMA 5102 01d8 00000000 .word I2C_DMASlaveTransmitCplt 5103 01dc 00000000 .word I2C_DMAError 5104 01e0 00000000 .word I2C_DMAAbort 5106 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits 5107 .align 1 5108 .p2align 2,,3 5109 .global HAL_I2C_Slave_Seq_Receive_IT 5110 .syntax unified 5111 .thumb 5112 .thumb_func 5113 .fpu fpv4-sp-d16 5115 HAL_I2C_Slave_Seq_Receive_IT: 5116 @ args = 0, pretend = 0, frame = 16 5117 @ frame_needed = 0, uses_anonymous_args = 0 5118 0000 30B5 push {r4, r5, lr} 5119 0002 0446 mov r4, r0 5120 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 5121 0008 00F02800 and r0, r0, #40 5122 000c 2828 cmp r0, #40 5123 000e 85B0 sub sp, sp, #20 5124 0010 39D1 bne .L1061 5125 0012 0029 cmp r1, #0 5126 0014 3AD0 beq .L1055 5127 0016 002A cmp r2, #0 5128 0018 38D0 beq .L1055 5129 001a 2568 ldr r5, [r4] 5130 001c 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5131 0020 2868 ldr r0, [r5] 5132 0022 20F0FC00 bic r0, r0, #252 5133 0026 2860 str r0, [r5] 5134 0028 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 5135 002c 0128 cmp r0, #1 5136 002e 58D0 beq .L1062 5137 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5138 0034 4FF0010C mov ip, #1 ARM GAS /tmp/ccpzG7eY.s page 90 5139 0038 2928 cmp r0, #41 5140 003a 84F840C0 strb ip, [r4, #64] 5141 003e 2BD0 beq .L1074 5142 .L1057: 5143 0040 2A20 movs r0, #42 5144 0042 84F84100 strb r0, [r4, #65] 5145 0046 2020 movs r0, #32 5146 0048 84F84200 strb r0, [r4, #66] 5147 004c 0020 movs r0, #0 5148 004e 6064 str r0, [r4, #68] 5149 0050 6868 ldr r0, [r5, #4] 5150 0052 20F40040 bic r0, r0, #32768 5151 0056 6860 str r0, [r5, #4] 5152 0058 6285 strh r2, [r4, #42] @ movhi 5153 005a 608D ldrh r0, [r4, #42] 5154 005c E362 str r3, [r4, #44] 5155 005e AB69 ldr r3, [r5, #24] 5156 0060 2085 strh r0, [r4, #40] @ movhi 5157 0062 DB03 lsls r3, r3, #15 5158 0064 58BF it pl 5159 0066 0823 movpl r3, #8 5160 0068 4FF00000 mov r0, #0 5161 006c 234A ldr r2, .L1075 5162 006e 6162 str r1, [r4, #36] 5163 0070 6263 str r2, [r4, #52] 5164 0072 58BF it pl 5165 0074 EB61 strpl r3, [r5, #28] 5166 0076 84F84000 strb r0, [r4, #64] 5167 007a 2B68 ldr r3, [r5] 5168 007c 43F0FC03 orr r3, r3, #252 5169 0080 2B60 str r3, [r5] 5170 0082 05B0 add sp, sp, #20 5171 @ sp needed 5172 0084 30BD pop {r4, r5, pc} 5173 .L1061: 5174 0086 0120 movs r0, #1 5175 .L1054: 5176 0088 05B0 add sp, sp, #20 5177 @ sp needed 5178 008a 30BD pop {r4, r5, pc} 5179 .L1055: 5180 008c 4FF40073 mov r3, #512 5181 0090 0120 movs r0, #1 5182 0092 6364 str r3, [r4, #68] 5183 0094 05B0 add sp, sp, #20 5184 @ sp needed 5185 0096 30BD pop {r4, r5, pc} 5186 .L1074: 5187 0098 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5188 009c 00F02800 and r0, r0, #40 5189 00a0 2828 cmp r0, #40 5190 00a2 2868 ldr r0, [r5] 5191 00a4 0CBF ite eq 5192 00a6 6FF0420C mvneq ip, #66 5193 00aa 6FF0F20C mvnne ip, #242 5194 00ae 00EA0C00 and r0, r0, ip 5195 00b2 2860 str r0, [r5] ARM GAS /tmp/ccpzG7eY.s page 91 5196 00b4 2868 ldr r0, [r5] 5197 00b6 4004 lsls r0, r0, #17 5198 00b8 C2D5 bpl .L1057 5199 00ba 2868 ldr r0, [r5] 5200 00bc 20F48040 bic r0, r0, #16384 5201 00c0 2860 str r0, [r5] 5202 00c2 A06B ldr r0, [r4, #56] 5203 00c4 0028 cmp r0, #0 5204 00c6 BBD0 beq .L1057 5205 00c8 0D4D ldr r5, .L1075+4 5206 00ca 8563 str r5, [r0, #56] 5207 00cc CDE90223 strd r2, r3, [sp, #8] 5208 00d0 0191 str r1, [sp, #4] 5209 00d2 FFF7FEFF bl HAL_DMA_Abort_IT 5210 00d6 DDE90112 ldrd r1, r2, [sp, #4] 5211 00da 039B ldr r3, [sp, #12] 5212 00dc 18B9 cbnz r0, .L1059 5213 00de 2568 ldr r5, [r4] 5214 00e0 AEE7 b .L1057 5215 .L1062: 5216 00e2 0220 movs r0, #2 5217 00e4 D0E7 b .L1054 5218 .L1059: 5219 00e6 A06B ldr r0, [r4, #56] 5220 00e8 0191 str r1, [sp, #4] 5221 00ea 856B ldr r5, [r0, #56] 5222 00ec CDE90223 strd r2, r3, [sp, #8] 5223 00f0 A847 blx r5 5224 00f2 DDE90223 ldrd r2, r3, [sp, #8] 5225 00f6 2568 ldr r5, [r4] 5226 00f8 0199 ldr r1, [sp, #4] 5227 00fa A1E7 b .L1057 5228 .L1076: 5229 .align 2 5230 .L1075: 5231 00fc 00000000 .word I2C_Slave_ISR_IT 5232 0100 00000000 .word I2C_DMAAbort 5234 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits 5235 .align 1 5236 .p2align 2,,3 5237 .global HAL_I2C_Slave_Seq_Receive_DMA 5238 .syntax unified 5239 .thumb 5240 .thumb_func 5241 .fpu fpv4-sp-d16 5243 HAL_I2C_Slave_Seq_Receive_DMA: 5244 @ args = 0, pretend = 0, frame = 16 5245 @ frame_needed = 0, uses_anonymous_args = 0 5246 0000 F0B5 push {r4, r5, r6, r7, lr} 5247 0002 0446 mov r4, r0 5248 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 5249 0008 00F02800 and r0, r0, #40 5250 000c 2828 cmp r0, #40 5251 000e 85B0 sub sp, sp, #20 5252 0010 5FD1 bne .L1097 5253 0012 0029 cmp r1, #0 5254 0014 60D0 beq .L1079 ARM GAS /tmp/ccpzG7eY.s page 92 5255 0016 002A cmp r2, #0 5256 0018 5ED0 beq .L1079 5257 001a 2568 ldr r5, [r4] 5258 001c 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5259 0020 2868 ldr r0, [r5] 5260 0022 20F0FC00 bic r0, r0, #252 5261 0026 2860 str r0, [r5] 5262 0028 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 5263 002c 0128 cmp r0, #1 5264 002e 00F0D780 beq .L1098 5265 0032 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5266 0036 0126 movs r6, #1 5267 0038 2928 cmp r0, #41 5268 003a 84F84060 strb r6, [r4, #64] 5269 003e 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5270 0042 4FD0 beq .L1114 5271 0044 2A28 cmp r0, #42 5272 0046 C6B2 uxtb r6, r0 5273 0048 00F0A580 beq .L1087 5274 .L1112: 5275 004c E06B ldr r0, [r4, #60] 5276 .L1084: 5277 004e 2A26 movs r6, #42 5278 0050 84F84160 strb r6, [r4, #65] 5279 0054 2026 movs r6, #32 5280 0056 84F84260 strb r6, [r4, #66] 5281 005a 0026 movs r6, #0 5282 005c 6664 str r6, [r4, #68] 5283 005e 6F68 ldr r7, [r5, #4] 5284 0060 27F40047 bic r7, r7, #32768 5285 0064 6F60 str r7, [r5, #4] 5286 0066 6285 strh r2, [r4, #42] @ movhi 5287 0068 628D ldrh r2, [r4, #42] 5288 006a 604F ldr r7, .L1116 5289 006c E362 str r3, [r4, #44] 5290 006e 93B2 uxth r3, r2 5291 0070 6162 str r1, [r4, #36] 5292 0072 2385 strh r3, [r4, #40] @ movhi 5293 0074 6763 str r7, [r4, #52] 5294 0076 0028 cmp r0, #0 5295 0078 7FD0 beq .L1091 5296 007a 0A46 mov r2, r1 5297 007c 05F12401 add r1, r5, #36 5298 0080 5B4D ldr r5, .L1116+4 5299 0082 C562 str r5, [r0, #44] 5300 0084 5B4D ldr r5, .L1116+8 5301 0086 0663 str r6, [r0, #48] 5302 0088 8663 str r6, [r0, #56] 5303 008a 4563 str r5, [r0, #52] 5304 008c FFF7FEFF bl HAL_DMA_Start_IT 5305 0090 0028 cmp r0, #0 5306 0092 54D1 bne .L1115 5307 0094 628D ldrh r2, [r4, #42] 5308 0096 238D ldrh r3, [r4, #40] 5309 0098 2085 strh r0, [r4, #40] @ movhi 5310 009a D21A subs r2, r2, r3 5311 009c 92B2 uxth r2, r2 ARM GAS /tmp/ccpzG7eY.s page 93 5312 009e 2368 ldr r3, [r4] 5313 00a0 6285 strh r2, [r4, #42] @ movhi 5314 00a2 9A69 ldr r2, [r3, #24] 5315 00a4 D203 lsls r2, r2, #15 5316 00a6 40F19880 bpl .L1094 5317 .L1095: 5318 00aa 0022 movs r2, #0 5319 00ac 84F84020 strb r2, [r4, #64] 5320 00b0 1968 ldr r1, [r3] 5321 00b2 626B ldr r2, [r4, #52] 5322 00b4 41F40041 orr r1, r1, #32768 5323 00b8 1960 str r1, [r3] 5324 00ba 4F49 ldr r1, .L1116+12 5325 00bc 8A42 cmp r2, r1 5326 00be 00F09180 beq .L1100 5327 00c2 BA42 cmp r2, r7 5328 00c4 0CBF ite eq 5329 00c6 B822 moveq r2, #184 5330 00c8 FC22 movne r2, #252 5331 .L1096: 5332 00ca 1F68 ldr r7, [r3] 5333 00cc 3A43 orrs r2, r2, r7 5334 00ce 1A60 str r2, [r3] 5335 00d0 00E0 b .L1108 5336 .L1097: 5337 00d2 0120 movs r0, #1 5338 .L1108: 5339 00d4 05B0 add sp, sp, #20 5340 @ sp needed 5341 00d6 F0BD pop {r4, r5, r6, r7, pc} 5342 .L1079: 5343 00d8 4FF40073 mov r3, #512 5344 00dc 0120 movs r0, #1 5345 00de 6364 str r3, [r4, #68] 5346 00e0 05B0 add sp, sp, #20 5347 @ sp needed 5348 00e2 F0BD pop {r4, r5, r6, r7, pc} 5349 .L1114: 5350 00e4 00F02800 and r0, r0, #40 5351 00e8 2828 cmp r0, #40 5352 00ea 2868 ldr r0, [r5] 5353 00ec 0CBF ite eq 5354 00ee 6FF04206 mvneq r6, #66 5355 00f2 6FF0F206 mvnne r6, #242 5356 00f6 3040 ands r0, r0, r6 5357 00f8 2860 str r0, [r5] 5358 00fa 2868 ldr r0, [r5] 5359 00fc 4604 lsls r6, r0, #17 5360 00fe A5D5 bpl .L1112 5361 0100 A06B ldr r0, [r4, #56] 5362 0102 0028 cmp r0, #0 5363 0104 A2D0 beq .L1112 5364 0106 2E68 ldr r6, [r5] 5365 0108 0191 str r1, [sp, #4] 5366 010a 26F48046 bic r6, r6, #16384 5367 010e 2E60 str r6, [r5] 5368 0110 3A4D ldr r5, .L1116+16 ARM GAS /tmp/ccpzG7eY.s page 94 5369 0112 8563 str r5, [r0, #56] 5370 0114 CDE90223 strd r2, r3, [sp, #8] 5371 0118 FFF7FEFF bl HAL_DMA_Abort_IT 5372 011c DDE90112 ldrd r1, r2, [sp, #4] 5373 0120 039B ldr r3, [sp, #12] 5374 0122 0028 cmp r0, #0 5375 0124 60D0 beq .L1113 5376 0126 A06B ldr r0, [r4, #56] 5377 0128 0191 str r1, [sp, #4] 5378 012a 856B ldr r5, [r0, #56] 5379 012c CDE90223 strd r2, r3, [sp, #8] 5380 0130 A847 blx r5 5381 0132 DDE90112 ldrd r1, r2, [sp, #4] 5382 0136 2568 ldr r5, [r4] 5383 0138 E06B ldr r0, [r4, #60] 5384 013a 039B ldr r3, [sp, #12] 5385 013c 87E7 b .L1084 5386 .L1115: 5387 013e 2823 movs r3, #40 5388 0140 84F84130 strb r3, [r4, #65] 5389 0144 84F84260 strb r6, [r4, #66] 5390 0148 636C ldr r3, [r4, #68] 5391 014a 84F84060 strb r6, [r4, #64] 5392 014e 43F01003 orr r3, r3, #16 5393 0152 6364 str r3, [r4, #68] 5394 0154 0120 movs r0, #1 5395 0156 BDE7 b .L1108 5396 .L1089: 5397 0158 84F84160 strb r6, [r4, #65] 5398 015c 2026 movs r6, #32 5399 015e 84F84260 strb r6, [r4, #66] 5400 0162 6064 str r0, [r4, #68] 5401 0164 6868 ldr r0, [r5, #4] 5402 0166 20F40040 bic r0, r0, #32768 5403 016a 6860 str r0, [r5, #4] 5404 016c 6285 strh r2, [r4, #42] @ movhi 5405 016e 608D ldrh r0, [r4, #42] 5406 0170 1E4A ldr r2, .L1116 5407 0172 6162 str r1, [r4, #36] 5408 0174 2085 strh r0, [r4, #40] @ movhi 5409 0176 E362 str r3, [r4, #44] 5410 0178 6263 str r2, [r4, #52] 5411 .L1091: 5412 017a 0022 movs r2, #0 5413 017c 2823 movs r3, #40 5414 017e 84F84130 strb r3, [r4, #65] 5415 0182 84F84220 strb r2, [r4, #66] 5416 0186 636C ldr r3, [r4, #68] 5417 0188 84F84020 strb r2, [r4, #64] 5418 018c 43F08003 orr r3, r3, #128 5419 0190 6364 str r3, [r4, #68] 5420 0192 0120 movs r0, #1 5421 0194 9EE7 b .L1108 5422 .L1087: 5423 0196 2868 ldr r0, [r5] 5424 0198 0004 lsls r0, r0, #16 5425 019a 7FF557AF bpl .L1112 ARM GAS /tmp/ccpzG7eY.s page 95 5426 019e 2868 ldr r0, [r5] 5427 01a0 20F40040 bic r0, r0, #32768 5428 01a4 2860 str r0, [r5] 5429 01a6 E06B ldr r0, [r4, #60] 5430 01a8 0028 cmp r0, #0 5431 01aa D5D0 beq .L1089 5432 01ac 134D ldr r5, .L1116+16 5433 01ae 8563 str r5, [r0, #56] 5434 01b0 CDE90223 strd r2, r3, [sp, #8] 5435 01b4 0191 str r1, [sp, #4] 5436 01b6 FFF7FEFF bl HAL_DMA_Abort_IT 5437 01ba DDE90112 ldrd r1, r2, [sp, #4] 5438 01be 039B ldr r3, [sp, #12] 5439 01c0 90B1 cbz r0, .L1113 5440 01c2 E06B ldr r0, [r4, #60] 5441 01c4 0191 str r1, [sp, #4] 5442 01c6 856B ldr r5, [r0, #56] 5443 01c8 CDE90223 strd r2, r3, [sp, #8] 5444 01cc A847 blx r5 5445 01ce DDE90223 ldrd r2, r3, [sp, #8] 5446 01d2 2568 ldr r5, [r4] 5447 01d4 E06B ldr r0, [r4, #60] 5448 01d6 0199 ldr r1, [sp, #4] 5449 01d8 39E7 b .L1084 5450 .L1094: 5451 01da 0822 movs r2, #8 5452 01dc DA61 str r2, [r3, #28] 5453 01de 64E7 b .L1095 5454 .L1098: 5455 01e0 0220 movs r0, #2 5456 01e2 77E7 b .L1108 5457 .L1100: 5458 01e4 B822 movs r2, #184 5459 01e6 70E7 b .L1096 5460 .L1113: 5461 01e8 2568 ldr r5, [r4] 5462 01ea 2FE7 b .L1112 5463 .L1117: 5464 .align 2 5465 .L1116: 5466 01ec 00000000 .word I2C_Slave_ISR_DMA 5467 01f0 00000000 .word I2C_DMASlaveReceiveCplt 5468 01f4 00000000 .word I2C_DMAError 5469 01f8 00000000 .word I2C_Master_ISR_DMA 5470 01fc 00000000 .word I2C_DMAAbort 5472 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits 5473 .align 1 5474 .p2align 2,,3 5475 .global HAL_I2C_EnableListen_IT 5476 .syntax unified 5477 .thumb 5478 .thumb_func 5479 .fpu fpv4-sp-d16 5481 HAL_I2C_EnableListen_IT: 5482 @ args = 0, pretend = 0, frame = 0 5483 @ frame_needed = 0, uses_anonymous_args = 0 5484 @ link register save eliminated. ARM GAS /tmp/ccpzG7eY.s page 96 5485 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5486 0004 202B cmp r3, #32 5487 0006 01D0 beq .L1121 5488 0008 0220 movs r0, #2 5489 000a 7047 bx lr 5490 .L1121: 5491 000c 0268 ldr r2, [r0] 5492 000e 0549 ldr r1, .L1122 5493 0010 2823 movs r3, #40 5494 0012 80F84130 strb r3, [r0, #65] 5495 0016 1368 ldr r3, [r2] 5496 0018 4163 str r1, [r0, #52] 5497 001a 43F0B803 orr r3, r3, #184 5498 001e 0020 movs r0, #0 5499 0020 1360 str r3, [r2] 5500 0022 7047 bx lr 5501 .L1123: 5502 .align 2 5503 .L1122: 5504 0024 00000000 .word I2C_Slave_ISR_IT 5506 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits 5507 .align 1 5508 .p2align 2,,3 5509 .global HAL_I2C_DisableListen_IT 5510 .syntax unified 5511 .thumb 5512 .thumb_func 5513 .fpu fpv4-sp-d16 5515 HAL_I2C_DisableListen_IT: 5516 @ args = 0, pretend = 0, frame = 0 5517 @ frame_needed = 0, uses_anonymous_args = 0 5518 @ link register save eliminated. 5519 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5520 0004 282B cmp r3, #40 5521 0006 01D0 beq .L1131 5522 0008 0220 movs r0, #2 5523 000a 7047 bx lr 5524 .L1131: 5525 000c 10B4 push {r4} 5526 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5527 0012 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 5528 0016 0468 ldr r4, [r0] 5529 0018 01F00301 and r1, r1, #3 5530 001c 0023 movs r3, #0 5531 001e 0A43 orrs r2, r2, r1 5532 0020 2021 movs r1, #32 5533 0022 0263 str r2, [r0, #48] 5534 0024 80F84110 strb r1, [r0, #65] 5535 0028 80F84230 strb r3, [r0, #66] 5536 002c 2268 ldr r2, [r4] 5537 002e 4363 str r3, [r0, #52] 5538 0030 22F0B802 bic r2, r2, #184 5539 0034 2260 str r2, [r4] 5540 0036 1846 mov r0, r3 5541 0038 5DF8044B ldr r4, [sp], #4 5542 003c 7047 bx lr 5544 003e 00BF .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits ARM GAS /tmp/ccpzG7eY.s page 97 5545 .align 1 5546 .p2align 2,,3 5547 .global HAL_I2C_Master_Abort_IT 5548 .syntax unified 5549 .thumb 5550 .thumb_func 5551 .fpu fpv4-sp-d16 5553 HAL_I2C_Master_Abort_IT: 5554 @ args = 0, pretend = 0, frame = 0 5555 @ frame_needed = 0, uses_anonymous_args = 0 5556 @ link register save eliminated. 5557 0000 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 5558 0004 102A cmp r2, #16 5559 0006 30D1 bne .L1140 5560 0008 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 5561 000c 012B cmp r3, #1 5562 000e 2ED0 beq .L1141 5563 0010 30B4 push {r4, r5} 5564 0012 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5565 0016 0122 movs r2, #1 5566 0018 212B cmp r3, #33 5567 001a 80F84020 strb r2, [r0, #64] 5568 001e 39D0 beq .L1150 5569 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5570 0024 222B cmp r3, #34 5571 0026 24D0 beq .L1137 5572 0028 0468 ldr r4, [r0] 5573 .L1136: 5574 002a 6022 movs r2, #96 5575 002c 80F84120 strb r2, [r0, #65] 5576 0030 6568 ldr r5, [r4, #4] 5577 0032 C1F30903 ubfx r3, r1, #0, #10 5578 0036 2049 ldr r1, .L1151 5579 0038 2940 ands r1, r1, r5 5580 003a 0B43 orrs r3, r3, r1 5581 003c 43F00073 orr r3, r3, #33554432 5582 0040 43F4A033 orr r3, r3, #81920 5583 0044 416B ldr r1, [r0, #52] 5584 0046 6360 str r3, [r4, #4] 5585 0048 1C4B ldr r3, .L1151+4 5586 004a 0025 movs r5, #0 5587 004c 9942 cmp r1, r3 5588 004e 80F84050 strb r5, [r0, #64] 5589 0052 04D0 beq .L1139 5590 0054 1A4A ldr r2, .L1151+8 5591 0056 9142 cmp r1, r2 5592 0058 0CBF ite eq 5593 005a 6022 moveq r2, #96 5594 005c 2022 movne r2, #32 5595 .L1139: 5596 005e 2368 ldr r3, [r4] 5597 0060 1A43 orrs r2, r2, r3 5598 0062 0020 movs r0, #0 5599 0064 2260 str r2, [r4] 5600 0066 30BC pop {r4, r5} 5601 0068 7047 bx lr 5602 .L1140: ARM GAS /tmp/ccpzG7eY.s page 98 5603 006a 0120 movs r0, #1 5604 006c 7047 bx lr 5605 .L1141: 5606 006e 0220 movs r0, #2 5607 0070 7047 bx lr 5608 .L1137: 5609 0072 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 5610 0076 0468 ldr r4, [r0] 5611 0078 02F02802 and r2, r2, #40 5612 007c 2368 ldr r3, [r4] 5613 007e 282A cmp r2, #40 5614 0080 0CBF ite eq 5615 0082 6FF04402 mvneq r2, #68 5616 0086 6FF0F402 mvnne r2, #244 5617 008a 1340 ands r3, r3, r2 5618 008c 1222 movs r2, #18 5619 008e 2360 str r3, [r4] 5620 0090 0263 str r2, [r0, #48] 5621 0092 CAE7 b .L1136 5622 .L1150: 5623 0094 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 5624 0098 0468 ldr r4, [r0] 5625 009a 02F02802 and r2, r2, #40 5626 009e 2368 ldr r3, [r4] 5627 00a0 282A cmp r2, #40 5628 00a2 0CBF ite eq 5629 00a4 6FF04202 mvneq r2, #66 5630 00a8 6FF0F202 mvnne r2, #242 5631 00ac 1340 ands r3, r3, r2 5632 00ae 1122 movs r2, #17 5633 00b0 2360 str r3, [r4] 5634 00b2 0263 str r2, [r0, #48] 5635 00b4 B9E7 b .L1136 5636 .L1152: 5637 00b6 00BF .align 2 5638 .L1151: 5639 00b8 009800FC .word -67069952 5640 00bc 00000000 .word I2C_Master_ISR_DMA 5641 00c0 00000000 .word I2C_Slave_ISR_DMA 5643 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits 5644 .align 1 5645 .p2align 2,,3 5646 .global HAL_I2C_EV_IRQHandler 5647 .syntax unified 5648 .thumb 5649 .thumb_func 5650 .fpu fpv4-sp-d16 5652 HAL_I2C_EV_IRQHandler: 5653 @ args = 0, pretend = 0, frame = 0 5654 @ frame_needed = 0, uses_anonymous_args = 0 5655 @ link register save eliminated. 5656 0000 0268 ldr r2, [r0] 5657 0002 436B ldr r3, [r0, #52] 5658 0004 9169 ldr r1, [r2, #24] 5659 0006 1268 ldr r2, [r2] 5660 0008 03B1 cbz r3, .L1153 5661 000a 1847 bx r3 ARM GAS /tmp/ccpzG7eY.s page 99 5662 .L1153: 5663 000c 7047 bx lr 5665 000e 00BF .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits 5666 .align 1 5667 .p2align 2,,3 5668 .weak HAL_I2C_MasterTxCpltCallback 5669 .syntax unified 5670 .thumb 5671 .thumb_func 5672 .fpu fpv4-sp-d16 5674 HAL_I2C_MasterTxCpltCallback: 5675 @ args = 0, pretend = 0, frame = 0 5676 @ frame_needed = 0, uses_anonymous_args = 0 5677 @ link register save eliminated. 5678 0000 7047 bx lr 5680 0002 00BF .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits 5681 .align 1 5682 .p2align 2,,3 5683 .weak HAL_I2C_MasterRxCpltCallback 5684 .syntax unified 5685 .thumb 5686 .thumb_func 5687 .fpu fpv4-sp-d16 5689 HAL_I2C_MasterRxCpltCallback: 5690 @ args = 0, pretend = 0, frame = 0 5691 @ frame_needed = 0, uses_anonymous_args = 0 5692 @ link register save eliminated. 5693 0000 7047 bx lr 5695 0002 00BF .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits 5696 .align 1 5697 .p2align 2,,3 5698 .weak HAL_I2C_SlaveTxCpltCallback 5699 .syntax unified 5700 .thumb 5701 .thumb_func 5702 .fpu fpv4-sp-d16 5704 HAL_I2C_SlaveTxCpltCallback: 5705 @ args = 0, pretend = 0, frame = 0 5706 @ frame_needed = 0, uses_anonymous_args = 0 5707 @ link register save eliminated. 5708 0000 7047 bx lr 5710 0002 00BF .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits 5711 .align 1 5712 .p2align 2,,3 5713 .weak HAL_I2C_SlaveRxCpltCallback 5714 .syntax unified 5715 .thumb 5716 .thumb_func 5717 .fpu fpv4-sp-d16 5719 HAL_I2C_SlaveRxCpltCallback: 5720 @ args = 0, pretend = 0, frame = 0 5721 @ frame_needed = 0, uses_anonymous_args = 0 5722 @ link register save eliminated. 5723 0000 7047 bx lr 5725 0002 00BF .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits 5726 .align 1 5727 .p2align 2,,3 ARM GAS /tmp/ccpzG7eY.s page 100 5728 .syntax unified 5729 .thumb 5730 .thumb_func 5731 .fpu fpv4-sp-d16 5733 I2C_ITSlaveSeqCplt: 5734 @ args = 0, pretend = 0, frame = 0 5735 @ frame_needed = 0, uses_anonymous_args = 0 5736 0000 0168 ldr r1, [r0] 5737 0002 08B5 push {r3, lr} 5738 0004 0B68 ldr r3, [r1] 5739 0006 0022 movs r2, #0 5740 0008 80F84220 strb r2, [r0, #66] 5741 000c 5A04 lsls r2, r3, #17 5742 000e 24D5 bpl .L1160 5743 0010 0B68 ldr r3, [r1] 5744 0012 23F48043 bic r3, r3, #16384 5745 0016 0B60 str r3, [r1] 5746 .L1161: 5747 0018 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5748 001c 292B cmp r3, #41 5749 001e 26D0 beq .L1172 5750 .L1162: 5751 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5752 0024 2A2B cmp r3, #42 5753 0026 00D0 beq .L1173 5754 0028 08BD pop {r3, pc} 5755 .L1173: 5756 002a 2822 movs r2, #40 5757 002c 2223 movs r3, #34 5758 002e 80F84120 strb r2, [r0, #65] 5759 0032 0363 str r3, [r0, #48] 5760 0034 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 5761 0038 0B68 ldr r3, [r1] 5762 003a 02F02802 and r2, r2, #40 5763 003e 282A cmp r2, #40 5764 0040 0CBF ite eq 5765 0042 6FF04402 mvneq r2, #68 5766 0046 6FF0F402 mvnne r2, #244 5767 004a 1340 ands r3, r3, r2 5768 004c 0022 movs r2, #0 5769 004e 0B60 str r3, [r1] 5770 0050 80F84020 strb r2, [r0, #64] 5771 0054 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 5772 0058 08BD pop {r3, pc} 5773 .L1160: 5774 005a 1B04 lsls r3, r3, #16 5775 005c DCD5 bpl .L1161 5776 005e 0B68 ldr r3, [r1] 5777 0060 23F40043 bic r3, r3, #32768 5778 0064 0B60 str r3, [r1] 5779 0066 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5780 006a 292B cmp r3, #41 5781 006c D8D1 bne .L1162 5782 .L1172: 5783 006e 2822 movs r2, #40 5784 0070 2123 movs r3, #33 5785 0072 80F84120 strb r2, [r0, #65] ARM GAS /tmp/ccpzG7eY.s page 101 5786 0076 0363 str r3, [r0, #48] 5787 0078 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 5788 007c 0B68 ldr r3, [r1] 5789 007e 02F02802 and r2, r2, #40 5790 0082 282A cmp r2, #40 5791 0084 0CBF ite eq 5792 0086 6FF04202 mvneq r2, #66 5793 008a 6FF0F202 mvnne r2, #242 5794 008e 1340 ands r3, r3, r2 5795 0090 0022 movs r2, #0 5796 0092 0B60 str r3, [r1] 5797 0094 80F84020 strb r2, [r0, #64] 5798 0098 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 5799 009c 08BD pop {r3, pc} 5801 009e 00BF .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits 5802 .align 1 5803 .p2align 2,,3 5804 .syntax unified 5805 .thumb 5806 .thumb_func 5807 .fpu fpv4-sp-d16 5809 I2C_DMASlaveTransmitCplt: 5810 @ args = 0, pretend = 0, frame = 0 5811 @ frame_needed = 0, uses_anonymous_args = 0 5812 0000 806A ldr r0, [r0, #40] 5813 0002 C36A ldr r3, [r0, #44] 5814 0004 33F08073 bics r3, r3, #16777216 5815 0008 00D0 beq .L1192 5816 000a 7047 bx lr 5817 .L1192: 5818 000c 0268 ldr r2, [r0] 5819 000e 1168 ldr r1, [r2] 5820 0010 21F48041 bic r1, r1, #16384 5821 0014 10B5 push {r4, lr} 5822 0016 1160 str r1, [r2] 5823 0018 1168 ldr r1, [r2] 5824 001a 80F84230 strb r3, [r0, #66] 5825 001e 4C04 lsls r4, r1, #17 5826 0020 0CD5 bpl .L1177 5827 0022 1368 ldr r3, [r2] 5828 0024 23F48043 bic r3, r3, #16384 5829 0028 1360 str r3, [r2] 5830 .L1178: 5831 002a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5832 002e 292B cmp r3, #41 5833 0030 0ED0 beq .L1193 5834 .L1179: 5835 0032 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5836 0036 2A2B cmp r3, #42 5837 0038 22D0 beq .L1194 5838 003a 10BD pop {r4, pc} 5839 .L1177: 5840 003c 0B04 lsls r3, r1, #16 5841 003e F4D5 bpl .L1178 5842 0040 1368 ldr r3, [r2] 5843 0042 23F40043 bic r3, r3, #32768 5844 0046 1360 str r3, [r2] ARM GAS /tmp/ccpzG7eY.s page 102 5845 0048 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5846 004c 292B cmp r3, #41 5847 004e F0D1 bne .L1179 5848 .L1193: 5849 0050 2123 movs r3, #33 5850 0052 2821 movs r1, #40 5851 0054 80F84110 strb r1, [r0, #65] 5852 0058 0363 str r3, [r0, #48] 5853 005a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5854 005e 1468 ldr r4, [r2] 5855 0060 01F02801 and r1, r1, #40 5856 0064 2829 cmp r1, #40 5857 0066 0CBF ite eq 5858 0068 6FF04203 mvneq r3, #66 5859 006c 6FF0F203 mvnne r3, #242 5860 0070 2340 ands r3, r3, r4 5861 0072 0021 movs r1, #0 5862 0074 1360 str r3, [r2] 5863 0076 80F84010 strb r1, [r0, #64] 5864 007a FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 5865 007e 10BD pop {r4, pc} 5866 .L1194: 5867 0080 2821 movs r1, #40 5868 0082 2223 movs r3, #34 5869 0084 80F84110 strb r1, [r0, #65] 5870 0088 0363 str r3, [r0, #48] 5871 008a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5872 008e 1368 ldr r3, [r2] 5873 0090 01F02801 and r1, r1, #40 5874 0094 2829 cmp r1, #40 5875 0096 0CBF ite eq 5876 0098 6FF04401 mvneq r1, #68 5877 009c 6FF0F401 mvnne r1, #244 5878 00a0 0B40 ands r3, r3, r1 5879 00a2 0021 movs r1, #0 5880 00a4 1360 str r3, [r2] 5881 00a6 80F84010 strb r1, [r0, #64] 5882 00aa FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 5883 00ae 10BD pop {r4, pc} 5885 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits 5886 .align 1 5887 .p2align 2,,3 5888 .syntax unified 5889 .thumb 5890 .thumb_func 5891 .fpu fpv4-sp-d16 5893 I2C_DMASlaveReceiveCplt: 5894 @ args = 0, pretend = 0, frame = 0 5895 @ frame_needed = 0, uses_anonymous_args = 0 5896 0000 806A ldr r0, [r0, #40] 5897 0002 08B5 push {r3, lr} 5898 0004 C36B ldr r3, [r0, #60] 5899 0006 C26A ldr r2, [r0, #44] 5900 0008 1B68 ldr r3, [r3] 5901 000a 5B68 ldr r3, [r3, #4] 5902 000c 13B9 cbnz r3, .L1195 5903 000e 12F5803F cmn r2, #65536 ARM GAS /tmp/ccpzG7eY.s page 103 5904 0012 00D1 bne .L1213 5905 .L1195: 5906 0014 08BD pop {r3, pc} 5907 .L1213: 5908 0016 0268 ldr r2, [r0] 5909 0018 1168 ldr r1, [r2] 5910 001a 21F40041 bic r1, r1, #32768 5911 001e 1160 str r1, [r2] 5912 0020 1168 ldr r1, [r2] 5913 0022 80F84230 strb r3, [r0, #66] 5914 0026 4B04 lsls r3, r1, #17 5915 0028 25D4 bmi .L1214 5916 002a 0B04 lsls r3, r1, #16 5917 002c 03D5 bpl .L1200 5918 002e 1368 ldr r3, [r2] 5919 0030 23F40043 bic r3, r3, #32768 5920 0034 1360 str r3, [r2] 5921 .L1200: 5922 0036 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5923 003a 292B cmp r3, #41 5924 003c 20D0 beq .L1215 5925 003e 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5926 0042 2A2B cmp r3, #42 5927 0044 E6D1 bne .L1195 5928 0046 2821 movs r1, #40 5929 0048 2223 movs r3, #34 5930 004a 80F84110 strb r1, [r0, #65] 5931 004e 0363 str r3, [r0, #48] 5932 0050 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5933 0054 1368 ldr r3, [r2] 5934 0056 01F02801 and r1, r1, #40 5935 005a 2829 cmp r1, #40 5936 005c 0CBF ite eq 5937 005e 6FF04401 mvneq r1, #68 5938 0062 6FF0F401 mvnne r1, #244 5939 0066 0B40 ands r3, r3, r1 5940 0068 0021 movs r1, #0 5941 006a 1360 str r3, [r2] 5942 006c 80F84010 strb r1, [r0, #64] 5943 0070 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 5944 0074 08BD pop {r3, pc} 5945 .L1214: 5946 0076 1368 ldr r3, [r2] 5947 0078 23F48043 bic r3, r3, #16384 5948 007c 1360 str r3, [r2] 5949 007e DAE7 b .L1200 5950 .L1215: 5951 0080 2821 movs r1, #40 5952 0082 2123 movs r3, #33 5953 0084 80F84110 strb r1, [r0, #65] 5954 0088 0363 str r3, [r0, #48] 5955 008a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5956 008e 1368 ldr r3, [r2] 5957 0090 01F02801 and r1, r1, #40 5958 0094 2829 cmp r1, #40 5959 0096 0CBF ite eq 5960 0098 6FF04201 mvneq r1, #66 ARM GAS /tmp/ccpzG7eY.s page 104 5961 009c 6FF0F201 mvnne r1, #242 5962 00a0 0B40 ands r3, r3, r1 5963 00a2 0021 movs r1, #0 5964 00a4 1360 str r3, [r2] 5965 00a6 80F84010 strb r1, [r0, #64] 5966 00aa FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 5967 00ae 08BD pop {r3, pc} 5969 .section .text.HAL_I2C_AddrCallback,"ax",%progbits 5970 .align 1 5971 .p2align 2,,3 5972 .weak HAL_I2C_AddrCallback 5973 .syntax unified 5974 .thumb 5975 .thumb_func 5976 .fpu fpv4-sp-d16 5978 HAL_I2C_AddrCallback: 5979 @ args = 0, pretend = 0, frame = 0 5980 @ frame_needed = 0, uses_anonymous_args = 0 5981 @ link register save eliminated. 5982 0000 7047 bx lr 5984 0002 00BF .section .text.I2C_ITAddrCplt.part.0,"ax",%progbits 5985 .align 1 5986 .p2align 2,,3 5987 .syntax unified 5988 .thumb 5989 .thumb_func 5990 .fpu fpv4-sp-d16 5992 I2C_ITAddrCplt.part.0: 5993 @ args = 0, pretend = 0, frame = 0 5994 @ frame_needed = 0, uses_anonymous_args = 0 5995 0000 70B5 push {r4, r5, r6, lr} 5996 0002 0468 ldr r4, [r0] 5997 0004 C368 ldr r3, [r0, #12] 5998 0006 A169 ldr r1, [r4, #24] 5999 0008 A269 ldr r2, [r4, #24] 6000 000a A568 ldr r5, [r4, #8] 6001 000c E668 ldr r6, [r4, #12] 6002 000e 120C lsrs r2, r2, #16 6003 0010 022B cmp r3, #2 6004 0012 8446 mov ip, r0 6005 0014 C1F30041 ubfx r1, r1, #16, #1 6006 0018 02F0FE02 and r2, r2, #254 6007 001c 0FD1 bne .L1218 6008 001e 82EAD513 eor r3, r2, r5, lsr #7 6009 0022 13F00603 ands r3, r3, #6 6010 0026 C5F30902 ubfx r2, r5, #0, #10 6011 002a 06D1 bne .L1219 6012 002c 856C ldr r5, [r0, #72] 6013 002e 0135 adds r5, r5, #1 6014 0030 8564 str r5, [r0, #72] 6015 0032 856C ldr r5, [r0, #72] 6016 0034 022D cmp r5, #2 6017 0036 0CD0 beq .L1222 6018 0038 70BD pop {r4, r5, r6, pc} 6019 .L1219: 6020 003a 06F0FE02 and r2, r6, #254 6021 .L1218: ARM GAS /tmp/ccpzG7eY.s page 105 6022 003e 2368 ldr r3, [r4] 6023 0040 23F0B803 bic r3, r3, #184 6024 0044 2360 str r3, [r4] 6025 0046 0023 movs r3, #0 6026 0048 8CF84030 strb r3, [ip, #64] 6027 004c FFF7FEFF bl HAL_I2C_AddrCallback 6028 0050 70BD pop {r4, r5, r6, pc} 6029 .L1222: 6030 0052 0825 movs r5, #8 6031 0054 8364 str r3, [r0, #72] 6032 0056 E561 str r5, [r4, #28] 6033 0058 80F84030 strb r3, [r0, #64] 6034 005c FFF7FEFF bl HAL_I2C_AddrCallback 6035 0060 70BD pop {r4, r5, r6, pc} 6037 0062 00BF .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits 6038 .align 1 6039 .p2align 2,,3 6040 .weak HAL_I2C_ListenCpltCallback 6041 .syntax unified 6042 .thumb 6043 .thumb_func 6044 .fpu fpv4-sp-d16 6046 HAL_I2C_ListenCpltCallback: 6047 @ args = 0, pretend = 0, frame = 0 6048 @ frame_needed = 0, uses_anonymous_args = 0 6049 @ link register save eliminated. 6050 0000 7047 bx lr 6052 0002 00BF .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits 6053 .align 1 6054 .p2align 2,,3 6055 .weak HAL_I2C_MemTxCpltCallback 6056 .syntax unified 6057 .thumb 6058 .thumb_func 6059 .fpu fpv4-sp-d16 6061 HAL_I2C_MemTxCpltCallback: 6062 @ args = 0, pretend = 0, frame = 0 6063 @ frame_needed = 0, uses_anonymous_args = 0 6064 @ link register save eliminated. 6065 0000 7047 bx lr 6067 0002 00BF .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits 6068 .align 1 6069 .p2align 2,,3 6070 .weak HAL_I2C_MemRxCpltCallback 6071 .syntax unified 6072 .thumb 6073 .thumb_func 6074 .fpu fpv4-sp-d16 6076 HAL_I2C_MemRxCpltCallback: 6077 @ args = 0, pretend = 0, frame = 0 6078 @ frame_needed = 0, uses_anonymous_args = 0 6079 @ link register save eliminated. 6080 0000 7047 bx lr 6082 0002 00BF .section .text.HAL_I2C_ErrorCallback,"ax",%progbits 6083 .align 1 6084 .p2align 2,,3 6085 .weak HAL_I2C_ErrorCallback ARM GAS /tmp/ccpzG7eY.s page 106 6086 .syntax unified 6087 .thumb 6088 .thumb_func 6089 .fpu fpv4-sp-d16 6091 HAL_I2C_ErrorCallback: 6092 @ args = 0, pretend = 0, frame = 0 6093 @ frame_needed = 0, uses_anonymous_args = 0 6094 @ link register save eliminated. 6095 0000 7047 bx lr 6097 0002 00BF .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits 6098 .align 1 6099 .p2align 2,,3 6100 .weak HAL_I2C_AbortCpltCallback 6101 .syntax unified 6102 .thumb 6103 .thumb_func 6104 .fpu fpv4-sp-d16 6106 HAL_I2C_AbortCpltCallback: 6107 @ args = 0, pretend = 0, frame = 0 6108 @ frame_needed = 0, uses_anonymous_args = 0 6109 @ link register save eliminated. 6110 0000 7047 bx lr 6112 0002 00BF .section .text.I2C_DMAAbort,"ax",%progbits 6113 .align 1 6114 .p2align 2,,3 6115 .syntax unified 6116 .thumb 6117 .thumb_func 6118 .fpu fpv4-sp-d16 6120 I2C_DMAAbort: 6121 @ args = 0, pretend = 0, frame = 0 6122 @ frame_needed = 0, uses_anonymous_args = 0 6123 0000 806A ldr r0, [r0, #40] 6124 0002 08B5 push {r3, lr} 6125 0004 836B ldr r3, [r0, #56] 6126 0006 0BB1 cbz r3, .L1229 6127 0008 0022 movs r2, #0 6128 000a 9A63 str r2, [r3, #56] 6129 .L1229: 6130 000c C36B ldr r3, [r0, #60] 6131 000e 0BB1 cbz r3, .L1230 6132 0010 0022 movs r2, #0 6133 0012 9A63 str r2, [r3, #56] 6134 .L1230: 6135 0014 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 6136 0018 602B cmp r3, #96 6137 001a 4FF00003 mov r3, #0 6138 001e 05D0 beq .L1240 6139 0020 0363 str r3, [r0, #48] 6140 0022 80F84030 strb r3, [r0, #64] 6141 0026 FFF7FEFF bl HAL_I2C_ErrorCallback 6142 002a 08BD pop {r3, pc} 6143 .L1240: 6144 002c 2022 movs r2, #32 6145 002e 80F84120 strb r2, [r0, #65] 6146 0032 80F84030 strb r3, [r0, #64] 6147 0036 0363 str r3, [r0, #48] ARM GAS /tmp/ccpzG7eY.s page 107 6148 0038 FFF7FEFF bl HAL_I2C_AbortCpltCallback 6149 003c 08BD pop {r3, pc} 6151 003e 00BF .section .text.I2C_ITError,"ax",%progbits 6152 .align 1 6153 .p2align 2,,3 6154 .syntax unified 6155 .thumb 6156 .thumb_func 6157 .fpu fpv4-sp-d16 6159 I2C_ITError: 6160 @ args = 0, pretend = 0, frame = 0 6161 @ frame_needed = 0, uses_anonymous_args = 0 6162 0000 10B5 push {r4, lr} 6163 0002 0446 mov r4, r0 6164 0004 0022 movs r2, #0 6165 0006 4A48 ldr r0, .L1294 6166 0008 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6167 000c 84F84220 strb r2, [r4, #66] 6168 0010 E062 str r0, [r4, #44] 6169 0012 6285 strh r2, [r4, #42] @ movhi 6170 0014 626C ldr r2, [r4, #68] 6171 0016 283B subs r3, r3, #40 6172 0018 1143 orrs r1, r1, r2 6173 001a 022B cmp r3, #2 6174 001c 6164 str r1, [r4, #68] 6175 001e 64D8 bhi .L1242 6176 0020 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6177 0024 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 6178 0028 2368 ldr r3, [r4] 6179 002a 02F02802 and r2, r2, #40 6180 002e 282A cmp r2, #40 6181 0030 00F02800 and r0, r0, #40 6182 0034 1A68 ldr r2, [r3] 6183 0036 14BF ite ne 6184 0038 6FF0F601 mvnne r1, #246 6185 003c 6FF04601 mvneq r1, #70 6186 0040 2828 cmp r0, #40 6187 0042 18BF it ne 6188 0044 6FF0F601 mvnne r1, #246 6189 0048 0A40 ands r2, r2, r1 6190 004a 3A48 ldr r0, .L1294+4 6191 004c 1A60 str r2, [r3] 6192 004e 2821 movs r1, #40 6193 0050 84F84110 strb r1, [r4, #65] 6194 0054 6063 str r0, [r4, #52] 6195 .L1245: 6196 0056 A06B ldr r0, [r4, #56] 6197 0058 226B ldr r2, [r4, #48] 6198 005a 18B1 cbz r0, .L1247 6199 005c 112A cmp r2, #17 6200 005e 14D0 beq .L1248 6201 0060 212A cmp r2, #33 6202 0062 12D0 beq .L1248 6203 .L1247: 6204 0064 E06B ldr r0, [r4, #60] 6205 0066 18B1 cbz r0, .L1254 6206 0068 122A cmp r2, #18 ARM GAS /tmp/ccpzG7eY.s page 108 6207 006a 24D0 beq .L1255 6208 006c 222A cmp r2, #34 6209 006e 22D0 beq .L1255 6210 .L1254: 6211 0070 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6212 0074 602B cmp r3, #96 6213 0076 4FF00003 mov r3, #0 6214 007a 4ED0 beq .L1292 6215 007c 2363 str r3, [r4, #48] 6216 007e 84F84030 strb r3, [r4, #64] 6217 0082 2046 mov r0, r4 6218 0084 FFF7FEFF bl HAL_I2C_ErrorCallback 6219 .L1241: 6220 0088 10BD pop {r4, pc} 6221 .L1248: 6222 008a 1A68 ldr r2, [r3] 6223 008c 5104 lsls r1, r2, #17 6224 008e 3FD4 bmi .L1293 6225 .L1249: 6226 0090 FFF7FEFF bl HAL_DMA_GetState 6227 0094 0128 cmp r0, #1 6228 0096 EBD0 beq .L1254 6229 0098 A06B ldr r0, [r4, #56] 6230 009a 274A ldr r2, .L1294+8 6231 009c 8263 str r2, [r0, #56] 6232 009e 0023 movs r3, #0 6233 00a0 84F84030 strb r3, [r4, #64] 6234 00a4 FFF7FEFF bl HAL_DMA_Abort_IT 6235 00a8 0028 cmp r0, #0 6236 00aa EDD0 beq .L1241 6237 00ac A06B ldr r0, [r4, #56] 6238 00ae BDE81040 pop {r4, lr} 6239 00b2 836B ldr r3, [r0, #56] 6240 00b4 1847 bx r3 @ indirect register sibling call 6241 .L1255: 6242 00b6 1A68 ldr r2, [r3] 6243 00b8 1204 lsls r2, r2, #16 6244 00ba 03D5 bpl .L1256 6245 00bc 1A68 ldr r2, [r3] 6246 00be 22F40042 bic r2, r2, #32768 6247 00c2 1A60 str r2, [r3] 6248 .L1256: 6249 00c4 FFF7FEFF bl HAL_DMA_GetState 6250 00c8 0128 cmp r0, #1 6251 00ca D1D0 beq .L1254 6252 00cc E06B ldr r0, [r4, #60] 6253 00ce 1A4A ldr r2, .L1294+8 6254 00d0 8263 str r2, [r0, #56] 6255 00d2 0023 movs r3, #0 6256 00d4 84F84030 strb r3, [r4, #64] 6257 00d8 FFF7FEFF bl HAL_DMA_Abort_IT 6258 00dc 0028 cmp r0, #0 6259 00de D3D0 beq .L1241 6260 00e0 E06B ldr r0, [r4, #60] 6261 00e2 BDE81040 pop {r4, lr} 6262 00e6 836B ldr r3, [r0, #56] 6263 00e8 1847 bx r3 @ indirect register sibling call ARM GAS /tmp/ccpzG7eY.s page 109 6264 .L1242: 6265 00ea 2368 ldr r3, [r4] 6266 00ec 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6267 00f0 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6268 00f4 1A68 ldr r2, [r3] 6269 00f6 22F0FE02 bic r2, r2, #254 6270 00fa 1A60 str r2, [r3] 6271 00fc 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6272 0100 602A cmp r2, #96 6273 0102 1CBF itt ne 6274 0104 2022 movne r2, #32 6275 0106 84F84120 strbne r2, [r4, #65] 6276 010a 0022 movs r2, #0 6277 010c 6263 str r2, [r4, #52] 6278 010e A2E7 b .L1245 6279 .L1293: 6280 0110 1A68 ldr r2, [r3] 6281 0112 22F48042 bic r2, r2, #16384 6282 0116 1A60 str r2, [r3] 6283 0118 BAE7 b .L1249 6284 .L1292: 6285 011a 2022 movs r2, #32 6286 011c 84F84120 strb r2, [r4, #65] 6287 0120 84F84030 strb r3, [r4, #64] 6288 0124 2363 str r3, [r4, #48] 6289 0126 2046 mov r0, r4 6290 0128 FFF7FEFF bl HAL_I2C_AbortCpltCallback 6291 012c 10BD pop {r4, pc} 6292 .L1295: 6293 012e 00BF .align 2 6294 .L1294: 6295 0130 0000FFFF .word -65536 6296 0134 00000000 .word I2C_Slave_ISR_IT 6297 0138 00000000 .word I2C_DMAAbort 6299 .section .text.I2C_ITSlaveCplt,"ax",%progbits 6300 .align 1 6301 .p2align 2,,3 6302 .syntax unified 6303 .thumb 6304 .thumb_func 6305 .fpu fpv4-sp-d16 6307 I2C_ITSlaveCplt: 6308 @ args = 0, pretend = 0, frame = 0 6309 @ frame_needed = 0, uses_anonymous_args = 0 6310 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 6311 0002 0368 ldr r3, [r0] 6312 0004 0D46 mov r5, r1 6313 0006 1968 ldr r1, [r3] 6314 0008 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6315 000c 02F0F702 and r2, r2, #247 6316 0010 0446 mov r4, r0 6317 0012 212A cmp r2, #33 6318 0014 4FF02000 mov r0, #32 6319 0018 D861 str r0, [r3, #28] 6320 001a 4FD0 beq .L1337 6321 001c 222A cmp r2, #34 6322 001e 74D0 beq .L1338 ARM GAS /tmp/ccpzG7eY.s page 110 6323 .L1298: 6324 0020 5A68 ldr r2, [r3, #4] 6325 0022 5B48 ldr r0, .L1343 6326 0024 42F40042 orr r2, r2, #32768 6327 0028 5A60 str r2, [r3, #4] 6328 002a 5A68 ldr r2, [r3, #4] 6329 002c 0240 ands r2, r2, r0 6330 002e 5A60 str r2, [r3, #4] 6331 0030 9A69 ldr r2, [r3, #24] 6332 0032 9707 lsls r7, r2, #30 6333 0034 44BF itt mi 6334 0036 0022 movmi r2, #0 6335 0038 9A62 strmi r2, [r3, #40] 6336 003a 9A69 ldr r2, [r3, #24] 6337 003c D607 lsls r6, r2, #31 6338 003e 03D4 bmi .L1300 6339 0040 9A69 ldr r2, [r3, #24] 6340 0042 42F00102 orr r2, r2, #1 6341 0046 9A61 str r2, [r3, #24] 6342 .L1300: 6343 0048 4804 lsls r0, r1, #17 6344 004a 3FD5 bpl .L1301 6345 004c 1A68 ldr r2, [r3] 6346 004e A16B ldr r1, [r4, #56] 6347 0050 22F48042 bic r2, r2, #16384 6348 0054 1A60 str r2, [r3] 6349 0056 19B1 cbz r1, .L1303 6350 .L1336: 6351 0058 0A68 ldr r2, [r1] 6352 005a 5268 ldr r2, [r2, #4] 6353 005c 92B2 uxth r2, r2 6354 005e 6285 strh r2, [r4, #42] @ movhi 6355 .L1303: 6356 0060 6A07 lsls r2, r5, #29 6357 0062 0AD5 bpl .L1305 6358 0064 626A ldr r2, [r4, #36] 6359 0066 5B6A ldr r3, [r3, #36] 6360 0068 1370 strb r3, [r2] 6361 006a 636A ldr r3, [r4, #36] 6362 006c 228D ldrh r2, [r4, #40] 6363 006e 0133 adds r3, r3, #1 6364 0070 25F00405 bic r5, r5, #4 6365 0074 6362 str r3, [r4, #36] 6366 0076 002A cmp r2, #0 6367 0078 40D1 bne .L1339 6368 .L1305: 6369 007a 638D ldrh r3, [r4, #42] 6370 007c 9BB2 uxth r3, r3 6371 007e 1BB1 cbz r3, .L1306 6372 0080 636C ldr r3, [r4, #68] 6373 0082 43F00403 orr r3, r3, #4 6374 0086 6364 str r3, [r4, #68] 6375 .L1306: 6376 0088 0027 movs r7, #0 6377 008a 84F84270 strb r7, [r4, #66] 6378 008e 666C ldr r6, [r4, #68] 6379 0090 6763 str r7, [r4, #52] ARM GAS /tmp/ccpzG7eY.s page 111 6380 0092 002E cmp r6, #0 6381 0094 41D1 bne .L1340 6382 0096 E36A ldr r3, [r4, #44] 6383 0098 3E4D ldr r5, .L1343+4 6384 009a AB42 cmp r3, r5 6385 009c 20D1 bne .L1341 6386 009e 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6387 00a2 84F84060 strb r6, [r4, #64] 6388 00a6 222B cmp r3, #34 6389 00a8 4FF02003 mov r3, #32 6390 00ac 84F84130 strb r3, [r4, #65] 6391 00b0 2046 mov r0, r4 6392 00b2 2663 str r6, [r4, #48] 6393 00b4 69D0 beq .L1342 6394 00b6 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 6395 .L1296: 6396 00ba F8BD pop {r3, r4, r5, r6, r7, pc} 6397 .L1337: 6398 00bc 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 6399 00c0 1868 ldr r0, [r3] 6400 00c2 20F0FA00 bic r0, r0, #250 6401 00c6 1860 str r0, [r3] 6402 00c8 2263 str r2, [r4, #48] 6403 00ca A9E7 b .L1298 6404 .L1301: 6405 00cc 0904 lsls r1, r1, #16 6406 00ce C7D5 bpl .L1303 6407 00d0 1A68 ldr r2, [r3] 6408 00d2 E16B ldr r1, [r4, #60] 6409 00d4 22F40042 bic r2, r2, #32768 6410 00d8 1A60 str r2, [r3] 6411 00da 0029 cmp r1, #0 6412 00dc BCD1 bne .L1336 6413 00de BFE7 b .L1303 6414 .L1341: 6415 00e0 2046 mov r0, r4 6416 00e2 FFF7FEFF bl I2C_ITSlaveSeqCplt 6417 00e6 2023 movs r3, #32 6418 00e8 E562 str r5, [r4, #44] 6419 00ea 84F84060 strb r6, [r4, #64] 6420 00ee 84F84130 strb r3, [r4, #65] 6421 00f2 2046 mov r0, r4 6422 00f4 2663 str r6, [r4, #48] 6423 00f6 FFF7FEFF bl HAL_I2C_ListenCpltCallback 6424 00fa F8BD pop {r3, r4, r5, r6, r7, pc} 6425 .L1339: 6426 00fc 638D ldrh r3, [r4, #42] 6427 00fe 013B subs r3, r3, #1 6428 0100 013A subs r2, r2, #1 6429 0102 9BB2 uxth r3, r3 6430 0104 2285 strh r2, [r4, #40] @ movhi 6431 0106 6385 strh r3, [r4, #42] @ movhi 6432 0108 B7E7 b .L1305 6433 .L1338: 6434 010a 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 6435 010e 1868 ldr r0, [r3] 6436 0110 20F0FC00 bic r0, r0, #252 ARM GAS /tmp/ccpzG7eY.s page 112 6437 0114 1860 str r0, [r3] 6438 0116 2263 str r2, [r4, #48] 6439 0118 82E7 b .L1298 6440 .L1340: 6441 011a 616C ldr r1, [r4, #68] 6442 011c 2046 mov r0, r4 6443 011e FFF7FEFF bl I2C_ITError 6444 0122 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6445 0126 282B cmp r3, #40 6446 0128 C7D1 bne .L1296 6447 012a 2023 movs r3, #32 6448 012c 194A ldr r2, .L1343+4 6449 012e E262 str r2, [r4, #44] 6450 0130 2763 str r7, [r4, #48] 6451 0132 84F84130 strb r3, [r4, #65] 6452 0136 6B07 lsls r3, r5, #29 6453 0138 6763 str r7, [r4, #52] 6454 013a 84F84270 strb r7, [r4, #66] 6455 013e 12D5 bpl .L1310 6456 0140 2268 ldr r2, [r4] 6457 0142 636A ldr r3, [r4, #36] 6458 0144 526A ldr r2, [r2, #36] 6459 0146 1A70 strb r2, [r3] 6460 0148 636A ldr r3, [r4, #36] 6461 014a 228D ldrh r2, [r4, #40] 6462 014c 0133 adds r3, r3, #1 6463 014e 6362 str r3, [r4, #36] 6464 0150 4AB1 cbz r2, .L1310 6465 0152 638D ldrh r3, [r4, #42] 6466 0154 013B subs r3, r3, #1 6467 0156 9BB2 uxth r3, r3 6468 0158 6385 strh r3, [r4, #42] @ movhi 6469 015a 636C ldr r3, [r4, #68] 6470 015c 013A subs r2, r2, #1 6471 015e 43F00403 orr r3, r3, #4 6472 0162 2285 strh r2, [r4, #40] @ movhi 6473 0164 6364 str r3, [r4, #68] 6474 .L1310: 6475 0166 2368 ldr r3, [r4] 6476 0168 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6477 016c 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6478 0170 1A68 ldr r2, [r3] 6479 0172 1020 movs r0, #16 6480 0174 22F0FE02 bic r2, r2, #254 6481 0178 0021 movs r1, #0 6482 017a 1A60 str r2, [r3] 6483 017c D861 str r0, [r3, #28] 6484 017e 2046 mov r0, r4 6485 0180 84F84010 strb r1, [r4, #64] 6486 0184 FFF7FEFF bl HAL_I2C_ListenCpltCallback 6487 0188 F8BD pop {r3, r4, r5, r6, r7, pc} 6488 .L1342: 6489 018a FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 6490 018e F8BD pop {r3, r4, r5, r6, r7, pc} 6491 .L1344: 6492 .align 2 6493 .L1343: ARM GAS /tmp/ccpzG7eY.s page 113 6494 0190 00E800FE .word -33495040 6495 0194 0000FFFF .word -65536 6497 .section .text.I2C_Slave_ISR_IT,"ax",%progbits 6498 .align 1 6499 .p2align 2,,3 6500 .syntax unified 6501 .thumb 6502 .thumb_func 6503 .fpu fpv4-sp-d16 6505 I2C_Slave_ISR_IT: 6506 @ args = 0, pretend = 0, frame = 0 6507 @ frame_needed = 0, uses_anonymous_args = 0 6508 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 6509 0002 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 6510 0006 C66A ldr r6, [r0, #44] 6511 0008 012B cmp r3, #1 6512 000a 78D0 beq .L1365 6513 000c 1746 mov r7, r2 6514 000e 0123 movs r3, #1 6515 0010 8A06 lsls r2, r1, #26 6516 0012 0446 mov r4, r0 6517 0014 0D46 mov r5, r1 6518 0016 80F84030 strb r3, [r0, #64] 6519 001a 01D5 bpl .L1347 6520 001c BB06 lsls r3, r7, #26 6521 001e 5AD4 bmi .L1412 6522 .L1347: 6523 0020 EA06 lsls r2, r5, #27 6524 0022 15D5 bpl .L1348 6525 .L1417: 6526 0024 FB06 lsls r3, r7, #27 6527 0026 13D5 bpl .L1348 6528 0028 638D ldrh r3, [r4, #42] 6529 002a 9BB2 uxth r3, r3 6530 002c 002B cmp r3, #0 6531 002e 57D1 bne .L1349 6532 0030 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6533 0034 282A cmp r2, #40 6534 0036 7CD0 beq .L1413 6535 .L1350: 6536 0038 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6537 003c 292B cmp r3, #41 6538 003e 2368 ldr r3, [r4] 6539 0040 4FF01002 mov r2, #16 6540 0044 DA61 str r2, [r3, #28] 6541 0046 60D0 beq .L1414 6542 .L1354: 6543 0048 0020 movs r0, #0 6544 004a 84F84000 strb r0, [r4, #64] 6545 004e F8BD pop {r3, r4, r5, r6, r7, pc} 6546 .L1348: 6547 0050 6A07 lsls r2, r5, #29 6548 0052 0DD4 bmi .L1415 6549 .L1359: 6550 0054 2807 lsls r0, r5, #28 6551 0056 29D5 bpl .L1362 6552 0058 3907 lsls r1, r7, #28 ARM GAS /tmp/ccpzG7eY.s page 114 6553 005a 27D5 bpl .L1362 6554 005c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6555 0060 03F02803 and r3, r3, #40 6556 0064 282B cmp r3, #40 6557 0066 60D0 beq .L1416 6558 0068 2368 ldr r3, [r4] 6559 006a 0822 movs r2, #8 6560 006c DA61 str r2, [r3, #28] 6561 006e EBE7 b .L1354 6562 .L1415: 6563 0070 7B07 lsls r3, r7, #29 6564 0072 EFD5 bpl .L1359 6565 0074 638D ldrh r3, [r4, #42] 6566 0076 9BB2 uxth r3, r3 6567 0078 6BB1 cbz r3, .L1360 6568 007a 2268 ldr r2, [r4] 6569 007c 636A ldr r3, [r4, #36] 6570 007e 526A ldr r2, [r2, #36] 6571 0080 1A70 strb r2, [r3] 6572 0082 638D ldrh r3, [r4, #42] 6573 0084 616A ldr r1, [r4, #36] 6574 0086 228D ldrh r2, [r4, #40] 6575 0088 013B subs r3, r3, #1 6576 008a 0131 adds r1, r1, #1 6577 008c 013A subs r2, r2, #1 6578 008e 9BB2 uxth r3, r3 6579 0090 6162 str r1, [r4, #36] 6580 0092 2285 strh r2, [r4, #40] @ movhi 6581 0094 6385 strh r3, [r4, #42] @ movhi 6582 .L1360: 6583 0096 638D ldrh r3, [r4, #42] 6584 0098 9BB2 uxth r3, r3 6585 009a 002B cmp r3, #0 6586 009c D4D1 bne .L1354 6587 009e 16F5803F cmn r6, #65536 6588 00a2 D1D0 beq .L1354 6589 .L1357: 6590 00a4 2046 mov r0, r4 6591 00a6 FFF7FEFF bl I2C_ITSlaveSeqCplt 6592 00aa CDE7 b .L1354 6593 .L1362: 6594 00ac AA07 lsls r2, r5, #30 6595 00ae CBD5 bpl .L1354 6596 00b0 BB07 lsls r3, r7, #30 6597 00b2 C9D5 bpl .L1354 6598 00b4 638D ldrh r3, [r4, #42] 6599 00b6 9BB2 uxth r3, r3 6600 00b8 1BB3 cbz r3, .L1364 6601 00ba 616A ldr r1, [r4, #36] 6602 00bc 2368 ldr r3, [r4] 6603 00be 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2 6604 00c2 9A62 str r2, [r3, #40] 6605 00c4 638D ldrh r3, [r4, #42] 6606 00c6 228D ldrh r2, [r4, #40] 6607 00c8 6162 str r1, [r4, #36] 6608 00ca 013B subs r3, r3, #1 6609 00cc 9BB2 uxth r3, r3 ARM GAS /tmp/ccpzG7eY.s page 115 6610 00ce 013A subs r2, r2, #1 6611 00d0 6385 strh r3, [r4, #42] @ movhi 6612 00d2 2285 strh r2, [r4, #40] @ movhi 6613 00d4 B8E7 b .L1354 6614 .L1412: 6615 00d6 FFF7FEFF bl I2C_ITSlaveCplt 6616 00da EA06 lsls r2, r5, #27 6617 00dc B8D5 bpl .L1348 6618 00de A1E7 b .L1417 6619 .L1349: 6620 00e0 2368 ldr r3, [r4] 6621 00e2 1022 movs r2, #16 6622 00e4 DA61 str r2, [r3, #28] 6623 00e6 636C ldr r3, [r4, #68] 6624 00e8 43F00403 orr r3, r3, #4 6625 00ec 6364 str r3, [r4, #68] 6626 00ee 36F08073 bics r3, r6, #16777216 6627 00f2 A9D1 bne .L1354 6628 00f4 616C ldr r1, [r4, #68] 6629 00f6 2046 mov r0, r4 6630 00f8 FFF7FEFF bl I2C_ITError 6631 00fc A4E7 b .L1354 6632 .L1365: 6633 00fe 0220 movs r0, #2 6634 0100 F8BD pop {r3, r4, r5, r6, r7, pc} 6635 .L1364: 6636 0102 36F08073 bics r3, r6, #16777216 6637 0106 CDD0 beq .L1357 6638 0108 9EE7 b .L1354 6639 .L1414: 6640 010a 16F5803F cmn r6, #65536 6641 010e 9BD0 beq .L1354 6642 0110 9A69 ldr r2, [r3, #24] 6643 0112 9007 lsls r0, r2, #30 6644 0114 44BF itt mi 6645 0116 0022 movmi r2, #0 6646 0118 9A62 strmi r2, [r3, #40] 6647 011a 9A69 ldr r2, [r3, #24] 6648 011c D107 lsls r1, r2, #31 6649 011e C1D4 bmi .L1357 6650 0120 9A69 ldr r2, [r3, #24] 6651 0122 42F00102 orr r2, r2, #1 6652 0126 9A61 str r2, [r3, #24] 6653 0128 BCE7 b .L1357 6654 .L1416: 6655 012a 2046 mov r0, r4 6656 012c FFF7FEFF bl I2C_ITAddrCplt.part.0 6657 0130 8AE7 b .L1354 6658 .L1413: 6659 0132 B6F1007F cmp r6, #33554432 6660 0136 7FF47FAF bne .L1350 6661 013a 1849 ldr r1, .L1418 6662 013c E162 str r1, [r4, #44] 6663 013e 2022 movs r2, #32 6664 0140 6D07 lsls r5, r5, #29 6665 0142 2363 str r3, [r4, #48] 6666 0144 6363 str r3, [r4, #52] ARM GAS /tmp/ccpzG7eY.s page 116 6667 0146 84F84120 strb r2, [r4, #65] 6668 014a 84F84230 strb r3, [r4, #66] 6669 014e 12D5 bpl .L1352 6670 0150 2268 ldr r2, [r4] 6671 0152 636A ldr r3, [r4, #36] 6672 0154 526A ldr r2, [r2, #36] 6673 0156 1A70 strb r2, [r3] 6674 0158 636A ldr r3, [r4, #36] 6675 015a 228D ldrh r2, [r4, #40] 6676 015c 0133 adds r3, r3, #1 6677 015e 6362 str r3, [r4, #36] 6678 0160 4AB1 cbz r2, .L1352 6679 0162 638D ldrh r3, [r4, #42] 6680 0164 013B subs r3, r3, #1 6681 0166 9BB2 uxth r3, r3 6682 0168 6385 strh r3, [r4, #42] @ movhi 6683 016a 636C ldr r3, [r4, #68] 6684 016c 013A subs r2, r2, #1 6685 016e 43F00403 orr r3, r3, #4 6686 0172 2285 strh r2, [r4, #40] @ movhi 6687 0174 6364 str r3, [r4, #68] 6688 .L1352: 6689 0176 2368 ldr r3, [r4] 6690 0178 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6691 017c 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6692 0180 1A68 ldr r2, [r3] 6693 0182 1020 movs r0, #16 6694 0184 22F0FE02 bic r2, r2, #254 6695 0188 0021 movs r1, #0 6696 018a 1A60 str r2, [r3] 6697 018c D861 str r0, [r3, #28] 6698 018e 2046 mov r0, r4 6699 0190 84F84010 strb r1, [r4, #64] 6700 0194 FFF7FEFF bl HAL_I2C_ListenCpltCallback 6701 0198 56E7 b .L1354 6702 .L1419: 6703 019a 00BF .align 2 6704 .L1418: 6705 019c 0000FFFF .word -65536 6707 .section .text.I2C_ITMasterCplt,"ax",%progbits 6708 .align 1 6709 .p2align 2,,3 6710 .syntax unified 6711 .thumb 6712 .thumb_func 6713 .fpu fpv4-sp-d16 6715 I2C_ITMasterCplt: 6716 @ args = 0, pretend = 0, frame = 8 6717 @ frame_needed = 0, uses_anonymous_args = 0 6718 0000 0368 ldr r3, [r0] 6719 0002 30B5 push {r4, r5, lr} 6720 0004 2022 movs r2, #32 6721 0006 DA61 str r2, [r3, #28] 6722 0008 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6723 000c 212A cmp r2, #33 6724 000e 83B0 sub sp, sp, #12 6725 0010 50D0 beq .L1450 ARM GAS /tmp/ccpzG7eY.s page 117 6726 0012 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6727 0016 222A cmp r2, #34 6728 0018 35D0 beq .L1451 6729 .L1423: 6730 001a 5A68 ldr r2, [r3, #4] 6731 001c 3F4C ldr r4, .L1457 6732 001e 0025 movs r5, #0 6733 0020 2240 ands r2, r2, r4 6734 0022 5A60 str r2, [r3, #4] 6735 0024 3E4C ldr r4, .L1457+4 6736 0026 4563 str r5, [r0, #52] 6737 0028 CD06 lsls r5, r1, #27 6738 002a C462 str r4, [r0, #44] 6739 002c 05D5 bpl .L1425 6740 002e 1022 movs r2, #16 6741 0030 DA61 str r2, [r3, #28] 6742 0032 426C ldr r2, [r0, #68] 6743 0034 42F00402 orr r2, r2, #4 6744 0038 4264 str r2, [r0, #68] 6745 .L1425: 6746 003a 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6747 003e 602A cmp r2, #96 6748 0040 31D0 beq .L1452 6749 .L1426: 6750 0042 9A69 ldr r2, [r3, #24] 6751 0044 9107 lsls r1, r2, #30 6752 0046 44BF itt mi 6753 0048 0022 movmi r2, #0 6754 004a 9A62 strmi r2, [r3, #40] 6755 004c 9A69 ldr r2, [r3, #24] 6756 004e D207 lsls r2, r2, #31 6757 0050 03D4 bmi .L1428 6758 0052 9A69 ldr r2, [r3, #24] 6759 0054 42F00102 orr r2, r2, #1 6760 0058 9A61 str r2, [r3, #24] 6761 .L1428: 6762 005a 436C ldr r3, [r0, #68] 6763 005c 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6764 0060 602A cmp r2, #96 6765 0062 0AD0 beq .L1429 6766 0064 4BB9 cbnz r3, .L1429 6767 0066 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6768 006a 212A cmp r2, #33 6769 006c 41D0 beq .L1453 6770 006e 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6771 0072 222A cmp r2, #34 6772 0074 2ED0 beq .L1454 6773 .L1420: 6774 0076 03B0 add sp, sp, #12 6775 @ sp needed 6776 0078 30BD pop {r4, r5, pc} 6777 .L1429: 6778 007a 416C ldr r1, [r0, #68] 6779 007c 03B0 add sp, sp, #12 6780 @ sp needed 6781 007e BDE83040 pop {r4, r5, lr} 6782 0082 FFF7FEBF b I2C_ITError ARM GAS /tmp/ccpzG7eY.s page 118 6783 .L1451: 6784 0086 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2 6785 008a 1A68 ldr r2, [r3] 6786 008c 04F02804 and r4, r4, #40 6787 0090 282C cmp r4, #40 6788 0092 0CBF ite eq 6789 0094 6FF04404 mvneq r4, #68 6790 0098 6FF0F404 mvnne r4, #244 6791 009c 2240 ands r2, r2, r4 6792 009e 1224 movs r4, #18 6793 00a0 1A60 str r2, [r3] 6794 00a2 0463 str r4, [r0, #48] 6795 00a4 B9E7 b .L1423 6796 .L1452: 6797 00a6 4C07 lsls r4, r1, #29 6798 00a8 CBD5 bpl .L1426 6799 00aa 5A6A ldr r2, [r3, #36] 6800 00ac D2B2 uxtb r2, r2 6801 00ae 0192 str r2, [sp, #4] 6802 00b0 019A ldr r2, [sp, #4] 6803 00b2 C6E7 b .L1426 6804 .L1450: 6805 00b4 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2 6806 00b8 1A68 ldr r2, [r3] 6807 00ba 04F02804 and r4, r4, #40 6808 00be 282C cmp r4, #40 6809 00c0 0CBF ite eq 6810 00c2 6FF04204 mvneq r4, #66 6811 00c6 6FF0F204 mvnne r4, #242 6812 00ca 2240 ands r2, r2, r4 6813 00cc 1124 movs r4, #17 6814 00ce 1A60 str r2, [r3] 6815 00d0 0463 str r4, [r0, #48] 6816 00d2 A2E7 b .L1423 6817 .L1454: 6818 00d4 2022 movs r2, #32 6819 00d6 80F84120 strb r2, [r0, #65] 6820 00da 0363 str r3, [r0, #48] 6821 00dc 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 6822 00e0 80F84030 strb r3, [r0, #64] 6823 00e4 402A cmp r2, #64 6824 00e6 80F84230 strb r3, [r0, #66] 6825 00ea 14D0 beq .L1455 6826 00ec FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 6827 00f0 C1E7 b .L1420 6828 .L1453: 6829 00f2 2022 movs r2, #32 6830 00f4 80F84120 strb r2, [r0, #65] 6831 00f8 0363 str r3, [r0, #48] 6832 00fa 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 6833 00fe 80F84030 strb r3, [r0, #64] 6834 0102 402A cmp r2, #64 6835 0104 80F84230 strb r3, [r0, #66] 6836 0108 02D0 beq .L1456 6837 010a FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 6838 010e B2E7 b .L1420 6839 .L1456: ARM GAS /tmp/ccpzG7eY.s page 119 6840 0110 FFF7FEFF bl HAL_I2C_MemTxCpltCallback 6841 0114 AFE7 b .L1420 6842 .L1455: 6843 0116 FFF7FEFF bl HAL_I2C_MemRxCpltCallback 6844 011a ACE7 b .L1420 6845 .L1458: 6846 .align 2 6847 .L1457: 6848 011c 00E800FE .word -33495040 6849 0120 0000FFFF .word -65536 6851 .section .text.I2C_Master_ISR_IT,"ax",%progbits 6852 .align 1 6853 .p2align 2,,3 6854 .syntax unified 6855 .thumb 6856 .thumb_func 6857 .fpu fpv4-sp-d16 6859 I2C_Master_ISR_IT: 6860 @ args = 0, pretend = 0, frame = 8 6861 @ frame_needed = 0, uses_anonymous_args = 0 6862 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 6863 0004 012B cmp r3, #1 6864 0006 00F0BB80 beq .L1480 6865 000a F0B5 push {r4, r5, r6, r7, lr} 6866 000c 0123 movs r3, #1 6867 000e 80F84030 strb r3, [r0, #64] 6868 0012 CB06 lsls r3, r1, #27 6869 0014 83B0 sub sp, sp, #12 6870 0016 0446 mov r4, r0 6871 0018 0D46 mov r5, r1 6872 001a 1AD5 bpl .L1461 6873 001c D706 lsls r7, r2, #27 6874 001e 18D5 bpl .L1461 6875 0020 0368 ldr r3, [r0] 6876 0022 1021 movs r1, #16 6877 0024 D961 str r1, [r3, #28] 6878 0026 416C ldr r1, [r0, #68] 6879 0028 41F00401 orr r1, r1, #4 6880 002c 4164 str r1, [r0, #68] 6881 002e 9969 ldr r1, [r3, #24] 6882 0030 8807 lsls r0, r1, #30 6883 0032 44BF itt mi 6884 0034 0021 movmi r1, #0 6885 0036 9962 strmi r1, [r3, #40] 6886 0038 9969 ldr r1, [r3, #24] 6887 003a C907 lsls r1, r1, #31 6888 003c 64D5 bpl .L1529 6889 .L1464: 6890 003e A906 lsls r1, r5, #26 6891 0040 02D5 bpl .L1479 6892 0042 9306 lsls r3, r2, #26 6893 0044 00F19380 bmi .L1530 6894 .L1479: 6895 0048 0020 movs r0, #0 6896 004a 84F84000 strb r0, [r4, #64] 6897 004e 03B0 add sp, sp, #12 6898 @ sp needed ARM GAS /tmp/ccpzG7eY.s page 120 6899 0050 F0BD pop {r4, r5, r6, r7, pc} 6900 .L1461: 6901 0052 6B07 lsls r3, r5, #29 6902 0054 11D4 bmi .L1531 6903 .L1465: 6904 0056 A807 lsls r0, r5, #30 6905 0058 22D5 bpl .L1466 6906 005a 9107 lsls r1, r2, #30 6907 005c 20D5 bpl .L1466 6908 005e 616A ldr r1, [r4, #36] 6909 0060 2368 ldr r3, [r4] 6910 0062 11F8010B ldrb r0, [r1], #1 @ zero_extendqisi2 6911 0066 9862 str r0, [r3, #40] 6912 0068 638D ldrh r3, [r4, #42] 6913 006a 208D ldrh r0, [r4, #40] 6914 006c 6162 str r1, [r4, #36] 6915 006e 013B subs r3, r3, #1 6916 0070 0138 subs r0, r0, #1 6917 0072 9BB2 uxth r3, r3 6918 0074 2085 strh r0, [r4, #40] @ movhi 6919 0076 6385 strh r3, [r4, #42] @ movhi 6920 0078 E1E7 b .L1464 6921 .L1531: 6922 007a 5707 lsls r7, r2, #29 6923 007c EBD5 bpl .L1465 6924 007e 2168 ldr r1, [r4] 6925 0080 636A ldr r3, [r4, #36] 6926 0082 496A ldr r1, [r1, #36] 6927 0084 1970 strb r1, [r3] 6928 0086 616A ldr r1, [r4, #36] 6929 0088 638D ldrh r3, [r4, #42] 6930 008a 0131 adds r1, r1, #1 6931 008c 013B subs r3, r3, #1 6932 008e 6162 str r1, [r4, #36] 6933 0090 218D ldrh r1, [r4, #40] 6934 0092 9BB2 uxth r3, r3 6935 0094 6385 strh r3, [r4, #42] @ movhi 6936 0096 4B1E subs r3, r1, #1 6937 0098 25F00405 bic r5, r5, #4 6938 009c 2385 strh r3, [r4, #40] @ movhi 6939 009e CEE7 b .L1464 6940 .L1466: 6941 00a0 2B06 lsls r3, r5, #24 6942 00a2 16D4 bmi .L1532 6943 00a4 6E06 lsls r6, r5, #25 6944 00a6 CAD5 bpl .L1464 6945 00a8 5006 lsls r0, r2, #25 6946 00aa C8D5 bpl .L1464 6947 00ac 638D ldrh r3, [r4, #42] 6948 00ae 9BB2 uxth r3, r3 6949 00b0 002B cmp r3, #0 6950 00b2 55D1 bne .L1471 6951 00b4 2168 ldr r1, [r4] 6952 00b6 4B68 ldr r3, [r1, #4] 6953 00b8 13F00073 ands r3, r3, #33554432 6954 00bc BFD1 bne .L1464 6955 00be E06A ldr r0, [r4, #44] ARM GAS /tmp/ccpzG7eY.s page 121 6956 00c0 10F5803F cmn r0, #65536 6957 00c4 40F08880 bne .L1475 6958 00c8 4B68 ldr r3, [r1, #4] 6959 00ca 43F48043 orr r3, r3, #16384 6960 00ce 4B60 str r3, [r1, #4] 6961 00d0 B5E7 b .L1464 6962 .L1532: 6963 00d2 5706 lsls r7, r2, #25 6964 00d4 B3D5 bpl .L1464 6965 00d6 638D ldrh r3, [r4, #42] 6966 00d8 9BB2 uxth r3, r3 6967 00da D3B1 cbz r3, .L1468 6968 00dc 238D ldrh r3, [r4, #40] 6969 00de C3B9 cbnz r3, .L1468 6970 00e0 2068 ldr r0, [r4] 6971 00e2 4168 ldr r1, [r0, #4] 6972 00e4 638D ldrh r3, [r4, #42] 6973 00e6 9BB2 uxth r3, r3 6974 00e8 FF2B cmp r3, #255 6975 00ea C1F30901 ubfx r1, r1, #0, #10 6976 00ee 5FD9 bls .L1469 6977 00f0 4368 ldr r3, [r0, #4] 6978 00f2 4B4E ldr r6, .L1534 6979 00f4 3340 ands r3, r3, r6 6980 00f6 0B43 orrs r3, r3, r1 6981 00f8 43F0FF73 orr r3, r3, #33423360 6982 00fc 43F48033 orr r3, r3, #65536 6983 0100 FF21 movs r1, #255 6984 0102 2185 strh r1, [r4, #40] @ movhi 6985 0104 4360 str r3, [r0, #4] 6986 0106 9AE7 b .L1464 6987 .L1529: 6988 0108 9969 ldr r1, [r3, #24] 6989 010a 41F00101 orr r1, r1, #1 6990 010e 9961 str r1, [r3, #24] 6991 0110 95E7 b .L1464 6992 .L1468: 6993 0112 2168 ldr r1, [r4] 6994 0114 4B68 ldr r3, [r1, #4] 6995 0116 13F00073 ands r3, r3, #33554432 6996 011a 21D1 bne .L1471 6997 011c 84F84230 strb r3, [r4, #66] 6998 0120 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 6999 0124 0192 str r2, [sp, #4] 7000 0126 2128 cmp r0, #33 7001 0128 4FF02000 mov r0, #32 7002 012c 6363 str r3, [r4, #52] 7003 012e 84F84100 strb r0, [r4, #65] 7004 0132 27D0 beq .L1533 7005 .L1476: 7006 0134 1220 movs r0, #18 7007 0136 2063 str r0, [r4, #48] 7008 0138 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7009 013c 0E68 ldr r6, [r1] 7010 013e 00F02800 and r0, r0, #40 7011 0142 2828 cmp r0, #40 7012 0144 0CBF ite eq ARM GAS /tmp/ccpzG7eY.s page 122 7013 0146 6FF04400 mvneq r0, #68 7014 014a 6FF0F400 mvnne r0, #244 7015 014e 3040 ands r0, r0, r6 7016 0150 0860 str r0, [r1] 7017 0152 2046 mov r0, r4 7018 0154 84F84030 strb r3, [r4, #64] 7019 0158 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 7020 015c 019A ldr r2, [sp, #4] 7021 015e 6EE7 b .L1464 7022 .L1471: 7023 0160 4021 movs r1, #64 7024 0162 2046 mov r0, r4 7025 0164 0192 str r2, [sp, #4] 7026 0166 FFF7FEFF bl I2C_ITError 7027 016a 019A ldr r2, [sp, #4] 7028 016c 67E7 b .L1464 7029 .L1530: 7030 016e 2046 mov r0, r4 7031 0170 2946 mov r1, r5 7032 0172 FFF7FEFF bl I2C_ITMasterCplt 7033 0176 0020 movs r0, #0 7034 0178 84F84000 strb r0, [r4, #64] 7035 017c 03B0 add sp, sp, #12 7036 @ sp needed 7037 017e F0BD pop {r4, r5, r6, r7, pc} 7038 .L1480: 7039 0180 0220 movs r0, #2 7040 0182 7047 bx lr 7041 .L1533: 7042 0184 1120 movs r0, #17 7043 0186 2063 str r0, [r4, #48] 7044 0188 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7045 018c 00F02800 and r0, r0, #40 7046 0190 2828 cmp r0, #40 7047 0192 0868 ldr r0, [r1] 7048 0194 0CBF ite eq 7049 0196 6FF04206 mvneq r6, #66 7050 019a 6FF0F206 mvnne r6, #242 7051 .L1528: 7052 019e 3040 ands r0, r0, r6 7053 01a0 0860 str r0, [r1] 7054 01a2 2046 mov r0, r4 7055 01a4 84F84030 strb r3, [r4, #64] 7056 01a8 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 7057 01ac 019A ldr r2, [sp, #4] 7058 01ae 46E7 b .L1464 7059 .L1469: 7060 01b0 638D ldrh r3, [r4, #42] 7061 01b2 E66A ldr r6, [r4, #44] 7062 01b4 9BB2 uxth r3, r3 7063 01b6 16F5803F cmn r6, #65536 7064 01ba 2385 strh r3, [r4, #40] @ movhi 7065 01bc DBB2 uxtb r3, r3 7066 01be 25D0 beq .L1470 7067 01c0 E66A ldr r6, [r4, #44] 7068 01c2 46EA0343 orr r3, r6, r3, lsl #16 7069 01c6 0B43 orrs r3, r3, r1 ARM GAS /tmp/ccpzG7eY.s page 123 7070 01c8 154E ldr r6, .L1534 7071 01ca 4168 ldr r1, [r0, #4] 7072 01cc 23F00043 bic r3, r3, #-2147483648 7073 01d0 3140 ands r1, r1, r6 7074 01d2 0B43 orrs r3, r3, r1 7075 01d4 4360 str r3, [r0, #4] 7076 01d6 32E7 b .L1464 7077 .L1475: 7078 01d8 84F84230 strb r3, [r4, #66] 7079 01dc 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7080 01e0 0192 str r2, [sp, #4] 7081 01e2 2128 cmp r0, #33 7082 01e4 4FF02000 mov r0, #32 7083 01e8 6363 str r3, [r4, #52] 7084 01ea 84F84100 strb r0, [r4, #65] 7085 01ee A1D1 bne .L1476 7086 01f0 1120 movs r0, #17 7087 01f2 2063 str r0, [r4, #48] 7088 01f4 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7089 01f8 0E68 ldr r6, [r1] 7090 01fa 00F02800 and r0, r0, #40 7091 01fe 2828 cmp r0, #40 7092 0200 0CBF ite eq 7093 0202 6FF04200 mvneq r0, #66 7094 0206 6FF0F200 mvnne r0, #242 7095 020a C8E7 b .L1528 7096 .L1470: 7097 020c 4668 ldr r6, [r0, #4] 7098 020e 044F ldr r7, .L1534 7099 0210 3E40 ands r6, r6, r7 7100 0212 3143 orrs r1, r1, r6 7101 0214 41EA0343 orr r3, r1, r3, lsl #16 7102 0218 43F00073 orr r3, r3, #33554432 7103 021c 4360 str r3, [r0, #4] 7104 021e 0EE7 b .L1464 7105 .L1535: 7106 .align 2 7107 .L1534: 7108 0220 009C00FC .word -67068928 7110 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits 7111 .align 1 7112 .p2align 2,,3 7113 .syntax unified 7114 .thumb 7115 .thumb_func 7116 .fpu fpv4-sp-d16 7118 I2C_Slave_ISR_DMA: 7119 @ args = 0, pretend = 0, frame = 0 7120 @ frame_needed = 0, uses_anonymous_args = 0 7121 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 7122 0002 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 7123 0006 C66A ldr r6, [r0, #44] 7124 0008 012B cmp r3, #1 7125 000a 78D0 beq .L1561 7126 000c 1746 mov r7, r2 7127 000e 0123 movs r3, #1 7128 0010 8A06 lsls r2, r1, #26 ARM GAS /tmp/ccpzG7eY.s page 124 7129 0012 0446 mov r4, r0 7130 0014 0D46 mov r5, r1 7131 0016 80F84030 strb r3, [r0, #64] 7132 001a 01D5 bpl .L1538 7133 001c BB06 lsls r3, r7, #26 7134 001e 28D4 bmi .L1604 7135 .L1538: 7136 0020 E806 lsls r0, r5, #27 7137 0022 15D5 bpl .L1539 7138 .L1606: 7139 0024 F906 lsls r1, r7, #27 7140 0026 13D5 bpl .L1539 7141 0028 FB0B lsrs r3, r7, #15 7142 002a 43EA9732 orr r2, r3, r7, lsr #14 7143 002e D207 lsls r2, r2, #31 7144 0030 C7F38031 ubfx r1, r7, #14, #1 7145 0034 22D5 bpl .L1540 7146 0036 E26B ldr r2, [r4, #60] 7147 0038 22B3 cbz r2, .L1541 7148 003a DF07 lsls r7, r3, #31 7149 003c 22D5 bpl .L1541 7150 003e 1368 ldr r3, [r2] 7151 0040 5B68 ldr r3, [r3, #4] 7152 0042 FBB9 cbnz r3, .L1541 7153 0044 A36B ldr r3, [r4, #56] 7154 0046 1BB3 cbz r3, .L1543 7155 0048 11B3 cbz r1, .L1543 7156 004a 1B68 ldr r3, [r3] 7157 004c 5B68 ldr r3, [r3, #4] 7158 004e 1FE0 b .L1543 7159 .L1539: 7160 0050 2A07 lsls r2, r5, #28 7161 0052 0AD5 bpl .L1549 7162 0054 3B07 lsls r3, r7, #28 7163 0056 08D5 bpl .L1549 7164 0058 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 7165 005c 03F02803 and r3, r3, #40 7166 0060 282B cmp r3, #40 7167 0062 4ED0 beq .L1605 7168 0064 2368 ldr r3, [r4] 7169 0066 0822 movs r2, #8 7170 0068 DA61 str r2, [r3, #28] 7171 .L1549: 7172 006a 0020 movs r0, #0 7173 006c 84F84000 strb r0, [r4, #64] 7174 0070 F8BD pop {r3, r4, r5, r6, r7, pc} 7175 .L1604: 7176 0072 FFF7FEFF bl I2C_ITSlaveCplt 7177 0076 E806 lsls r0, r5, #27 7178 0078 EAD5 bpl .L1539 7179 007a D3E7 b .L1606 7180 .L1540: 7181 007c 2368 ldr r3, [r4] 7182 007e 1022 movs r2, #16 7183 0080 DA61 str r2, [r3, #28] 7184 0082 F2E7 b .L1549 7185 .L1541: ARM GAS /tmp/ccpzG7eY.s page 125 7186 0084 A36B ldr r3, [r4, #56] 7187 0086 13B3 cbz r3, .L1544 7188 0088 09B3 cbz r1, .L1544 7189 008a 1B68 ldr r3, [r3] 7190 008c 5B68 ldr r3, [r3, #4] 7191 008e F3B9 cbnz r3, .L1544 7192 .L1543: 7193 0090 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 7194 0094 282B cmp r3, #40 7195 0096 3AD0 beq .L1607 7196 .L1545: 7197 0098 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 7198 009c 292B cmp r3, #41 7199 009e 2368 ldr r3, [r4] 7200 00a0 4FF01002 mov r2, #16 7201 00a4 DA61 str r2, [r3, #28] 7202 00a6 E0D1 bne .L1549 7203 00a8 16F5803F cmn r6, #65536 7204 00ac DDD0 beq .L1549 7205 00ae 9A69 ldr r2, [r3, #24] 7206 00b0 9007 lsls r0, r2, #30 7207 00b2 44BF itt mi 7208 00b4 0022 movmi r2, #0 7209 00b6 9A62 strmi r2, [r3, #40] 7210 00b8 9A69 ldr r2, [r3, #24] 7211 00ba D107 lsls r1, r2, #31 7212 00bc 03D4 bmi .L1552 7213 00be 9A69 ldr r2, [r3, #24] 7214 00c0 42F00102 orr r2, r2, #1 7215 00c4 9A61 str r2, [r3, #24] 7216 .L1552: 7217 00c6 2046 mov r0, r4 7218 00c8 FFF7FEFF bl I2C_ITSlaveSeqCplt 7219 00cc CDE7 b .L1549 7220 .L1544: 7221 00ce 2368 ldr r3, [r4] 7222 00d0 1022 movs r2, #16 7223 00d2 DA61 str r2, [r3, #28] 7224 00d4 636C ldr r3, [r4, #68] 7225 00d6 43F00403 orr r3, r3, #4 7226 00da 6364 str r3, [r4, #68] 7227 00dc 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 7228 00e0 36F08072 bics r2, r6, #16777216 7229 00e4 DBB2 uxtb r3, r3 7230 00e6 C0D1 bne .L1549 7231 00e8 03F0F703 and r3, r3, #247 7232 00ec 212B cmp r3, #33 7233 00ee 0CD0 beq .L1603 7234 00f0 222B cmp r3, #34 7235 00f2 0AD0 beq .L1603 7236 .L1555: 7237 00f4 616C ldr r1, [r4, #68] 7238 00f6 2046 mov r0, r4 7239 00f8 FFF7FEFF bl I2C_ITError 7240 00fc B5E7 b .L1549 7241 .L1561: 7242 00fe 0220 movs r0, #2 ARM GAS /tmp/ccpzG7eY.s page 126 7243 0100 F8BD pop {r3, r4, r5, r6, r7, pc} 7244 .L1605: 7245 0102 2046 mov r0, r4 7246 0104 FFF7FEFF bl I2C_ITAddrCplt.part.0 7247 0108 AFE7 b .L1549 7248 .L1603: 7249 010a 2363 str r3, [r4, #48] 7250 010c F2E7 b .L1555 7251 .L1607: 7252 010e B6F1007F cmp r6, #33554432 7253 0112 C1D1 bne .L1545 7254 0114 0023 movs r3, #0 7255 0116 1849 ldr r1, .L1608 7256 0118 E162 str r1, [r4, #44] 7257 011a 2022 movs r2, #32 7258 011c 6D07 lsls r5, r5, #29 7259 011e 2363 str r3, [r4, #48] 7260 0120 6363 str r3, [r4, #52] 7261 0122 84F84120 strb r2, [r4, #65] 7262 0126 84F84230 strb r3, [r4, #66] 7263 012a 12D5 bpl .L1547 7264 012c 2268 ldr r2, [r4] 7265 012e 636A ldr r3, [r4, #36] 7266 0130 526A ldr r2, [r2, #36] 7267 0132 1A70 strb r2, [r3] 7268 0134 636A ldr r3, [r4, #36] 7269 0136 228D ldrh r2, [r4, #40] 7270 0138 0133 adds r3, r3, #1 7271 013a 6362 str r3, [r4, #36] 7272 013c 4AB1 cbz r2, .L1547 7273 013e 638D ldrh r3, [r4, #42] 7274 0140 013B subs r3, r3, #1 7275 0142 9BB2 uxth r3, r3 7276 0144 6385 strh r3, [r4, #42] @ movhi 7277 0146 636C ldr r3, [r4, #68] 7278 0148 013A subs r2, r2, #1 7279 014a 43F00403 orr r3, r3, #4 7280 014e 2285 strh r2, [r4, #40] @ movhi 7281 0150 6364 str r3, [r4, #68] 7282 .L1547: 7283 0152 2368 ldr r3, [r4] 7284 0154 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7285 0158 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7286 015c 1A68 ldr r2, [r3] 7287 015e 1020 movs r0, #16 7288 0160 22F0FE02 bic r2, r2, #254 7289 0164 0021 movs r1, #0 7290 0166 1A60 str r2, [r3] 7291 0168 D861 str r0, [r3, #28] 7292 016a 2046 mov r0, r4 7293 016c 84F84010 strb r1, [r4, #64] 7294 0170 FFF7FEFF bl HAL_I2C_ListenCpltCallback 7295 0174 79E7 b .L1549 7296 .L1609: 7297 0176 00BF .align 2 7298 .L1608: 7299 0178 0000FFFF .word -65536 ARM GAS /tmp/ccpzG7eY.s page 127 7301 .section .text.I2C_Master_ISR_DMA,"ax",%progbits 7302 .align 1 7303 .p2align 2,,3 7304 .syntax unified 7305 .thumb 7306 .thumb_func 7307 .fpu fpv4-sp-d16 7309 I2C_Master_ISR_DMA: 7310 @ args = 0, pretend = 0, frame = 0 7311 @ frame_needed = 0, uses_anonymous_args = 0 7312 0000 38B5 push {r3, r4, r5, lr} 7313 0002 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 7314 0006 012B cmp r3, #1 7315 0008 00F08580 beq .L1634 7316 000c 0123 movs r3, #1 7317 000e CD06 lsls r5, r1, #27 7318 0010 0446 mov r4, r0 7319 0012 80F84030 strb r3, [r0, #64] 7320 0016 24D5 bpl .L1612 7321 0018 D006 lsls r0, r2, #27 7322 001a 22D5 bpl .L1612 7323 001c 2368 ldr r3, [r4] 7324 001e 8248 ldr r0, .L1668 7325 0020 1022 movs r2, #16 7326 0022 DA61 str r2, [r3, #28] 7327 0024 616C ldr r1, [r4, #68] 7328 0026 626B ldr r2, [r4, #52] 7329 0028 41F00401 orr r1, r1, #4 7330 002c 8242 cmp r2, r0 7331 002e 6164 str r1, [r4, #68] 7332 0030 6FD0 beq .L1635 7333 0032 7E49 ldr r1, .L1668+4 7334 0034 8A42 cmp r2, r1 7335 0036 0CBF ite eq 7336 0038 6022 moveq r2, #96 7337 003a 2022 movne r2, #32 7338 .L1613: 7339 003c 1968 ldr r1, [r3] 7340 003e 0A43 orrs r2, r2, r1 7341 0040 1A60 str r2, [r3] 7342 0042 9A69 ldr r2, [r3, #24] 7343 0044 9207 lsls r2, r2, #30 7344 0046 44BF itt mi 7345 0048 0022 movmi r2, #0 7346 004a 9A62 strmi r2, [r3, #40] 7347 004c 9A69 ldr r2, [r3, #24] 7348 004e D507 lsls r5, r2, #31 7349 0050 03D4 bmi .L1616 7350 0052 9A69 ldr r2, [r3, #24] 7351 0054 42F00102 orr r2, r2, #1 7352 0058 9A61 str r2, [r3, #24] 7353 .L1616: 7354 005a 0020 movs r0, #0 7355 005c 84F84000 strb r0, [r4, #64] 7356 0060 38BD pop {r3, r4, r5, pc} 7357 .L1612: 7358 0062 0806 lsls r0, r1, #24 ARM GAS /tmp/ccpzG7eY.s page 128 7359 0064 37D5 bpl .L1617 7360 0066 5306 lsls r3, r2, #25 7361 0068 4BD5 bpl .L1618 7362 006a 2368 ldr r3, [r4] 7363 006c 1A68 ldr r2, [r3] 7364 006e 22F04002 bic r2, r2, #64 7365 0072 1A60 str r2, [r3] 7366 0074 628D ldrh r2, [r4, #42] 7367 0076 92B2 uxth r2, r2 7368 0078 002A cmp r2, #0 7369 007a 4ED0 beq .L1619 7370 007c 5868 ldr r0, [r3, #4] 7371 007e 618D ldrh r1, [r4, #42] 7372 0080 8AB2 uxth r2, r1 7373 0082 FF2A cmp r2, #255 7374 0084 C0F30900 ubfx r0, r0, #0, #10 7375 0088 70D8 bhi .L1664 7376 008a 628D ldrh r2, [r4, #42] 7377 008c E56A ldr r5, [r4, #44] 7378 008e 91B2 uxth r1, r2 7379 0090 15F5803F cmn r5, #65536 7380 0094 2185 strh r1, [r4, #40] @ movhi 7381 0096 00F09180 beq .L1665 7382 009a 5FFA81FC uxtb ip, r1 7383 009e E26A ldr r2, [r4, #44] 7384 00a0 4FEA0C4C lsl ip, ip, #16 7385 .L1621: 7386 00a4 42EA0C02 orr r2, r2, ip 7387 00a8 0243 orrs r2, r2, r0 7388 00aa 614D ldr r5, .L1668+8 7389 00ac 5868 ldr r0, [r3, #4] 7390 00ae 22F00042 bic r2, r2, #-2147483648 7391 00b2 2840 ands r0, r0, r5 7392 00b4 0243 orrs r2, r2, r0 7393 00b6 5A60 str r2, [r3, #4] 7394 00b8 628D ldrh r2, [r4, #42] 7395 00ba 521A subs r2, r2, r1 7396 00bc 92B2 uxth r2, r2 7397 00be 6285 strh r2, [r4, #42] @ movhi 7398 00c0 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7399 00c4 222A cmp r2, #34 7400 00c6 1A68 ldr r2, [r3] 7401 00c8 0CBF ite eq 7402 00ca 42F40042 orreq r2, r2, #32768 7403 00ce 42F48042 orrne r2, r2, #16384 7404 00d2 1A60 str r2, [r3] 7405 00d4 C1E7 b .L1616 7406 .L1617: 7407 00d6 4D06 lsls r5, r1, #25 7408 00d8 13D5 bpl .L1618 7409 00da 5006 lsls r0, r2, #25 7410 00dc 11D5 bpl .L1618 7411 00de 638D ldrh r3, [r4, #42] 7412 00e0 9BB2 uxth r3, r3 7413 00e2 002B cmp r3, #0 7414 00e4 3DD1 bne .L1624 7415 00e6 2268 ldr r2, [r4] ARM GAS /tmp/ccpzG7eY.s page 129 7416 00e8 5368 ldr r3, [r2, #4] 7417 00ea 13F00073 ands r3, r3, #33554432 7418 00ee B4D1 bne .L1616 7419 00f0 E16A ldr r1, [r4, #44] 7420 00f2 11F5803F cmn r1, #65536 7421 00f6 41D1 bne .L1629 7422 00f8 5368 ldr r3, [r2, #4] 7423 00fa 43F48043 orr r3, r3, #16384 7424 00fe 5360 str r3, [r2, #4] 7425 0100 ABE7 b .L1616 7426 .L1618: 7427 0102 8B06 lsls r3, r1, #26 7428 0104 A9D5 bpl .L1616 7429 0106 9206 lsls r2, r2, #26 7430 0108 A7D5 bpl .L1616 7431 010a 2046 mov r0, r4 7432 010c FFF7FEFF bl I2C_ITMasterCplt 7433 0110 A3E7 b .L1616 7434 .L1635: 7435 0112 6022 movs r2, #96 7436 0114 92E7 b .L1613 7437 .L1634: 7438 0116 0220 movs r0, #2 7439 0118 38BD pop {r3, r4, r5, pc} 7440 .L1619: 7441 011a 5A68 ldr r2, [r3, #4] 7442 011c 12F00072 ands r2, r2, #33554432 7443 0120 1FD1 bne .L1624 7444 0122 84F84220 strb r2, [r4, #66] 7445 0126 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 7446 012a 2129 cmp r1, #33 7447 012c 4FF02000 mov r0, #32 7448 0130 4AD0 beq .L1666 7449 0132 1221 movs r1, #18 7450 0134 84F84100 strb r0, [r4, #65] 7451 0138 2163 str r1, [r4, #48] 7452 013a 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7453 013e 1968 ldr r1, [r3] 7454 0140 6263 str r2, [r4, #52] 7455 0142 00F02800 and r0, r0, #40 7456 0146 2828 cmp r0, #40 7457 0148 0CBF ite eq 7458 014a 6FF04400 mvneq r0, #68 7459 014e 6FF0F400 mvnne r0, #244 7460 0152 0140 ands r1, r1, r0 7461 0154 1960 str r1, [r3] 7462 0156 2046 mov r0, r4 7463 0158 84F84020 strb r2, [r4, #64] 7464 015c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 7465 0160 7BE7 b .L1616 7466 .L1624: 7467 0162 4021 movs r1, #64 7468 0164 2046 mov r0, r4 7469 0166 FFF7FEFF bl I2C_ITError 7470 016a 76E7 b .L1616 7471 .L1664: 7472 016c FF22 movs r2, #255 ARM GAS /tmp/ccpzG7eY.s page 130 7473 016e 2285 strh r2, [r4, #40] @ movhi 7474 0170 1146 mov r1, r2 7475 0172 4FF47F0C mov ip, #16711680 7476 0176 4FF08072 mov r2, #16777216 7477 017a 93E7 b .L1621 7478 .L1629: 7479 017c 84F84230 strb r3, [r4, #66] 7480 0180 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 7481 0184 2129 cmp r1, #33 7482 0186 4FF02000 mov r0, #32 7483 018a 35D0 beq .L1667 7484 018c 1221 movs r1, #18 7485 018e 84F84100 strb r0, [r4, #65] 7486 0192 2163 str r1, [r4, #48] 7487 0194 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7488 0198 1168 ldr r1, [r2] 7489 019a 6363 str r3, [r4, #52] 7490 019c 00F02800 and r0, r0, #40 7491 01a0 2828 cmp r0, #40 7492 01a2 0CBF ite eq 7493 01a4 6FF04400 mvneq r0, #68 7494 01a8 6FF0F400 mvnne r0, #244 7495 01ac 0140 ands r1, r1, r0 7496 01ae 1160 str r1, [r2] 7497 01b0 2046 mov r0, r4 7498 01b2 84F84030 strb r3, [r4, #64] 7499 01b6 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 7500 01ba 4EE7 b .L1616 7501 .L1665: 7502 01bc CAB2 uxtb r2, r1 7503 01be 4FEA024C lsl ip, r2, #16 7504 01c2 4FF00072 mov r2, #33554432 7505 01c6 6DE7 b .L1621 7506 .L1666: 7507 01c8 1121 movs r1, #17 7508 01ca 84F84100 strb r0, [r4, #65] 7509 01ce 2163 str r1, [r4, #48] 7510 01d0 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7511 01d4 1968 ldr r1, [r3] 7512 01d6 6263 str r2, [r4, #52] 7513 01d8 00F02800 and r0, r0, #40 7514 01dc 2828 cmp r0, #40 7515 01de 0CBF ite eq 7516 01e0 6FF04200 mvneq r0, #66 7517 01e4 6FF0F200 mvnne r0, #242 7518 01e8 0140 ands r1, r1, r0 7519 01ea 1960 str r1, [r3] 7520 01ec 2046 mov r0, r4 7521 01ee 84F84020 strb r2, [r4, #64] 7522 01f2 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 7523 01f6 30E7 b .L1616 7524 .L1667: 7525 01f8 1121 movs r1, #17 7526 01fa 84F84100 strb r0, [r4, #65] 7527 01fe 2163 str r1, [r4, #48] 7528 0200 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7529 0204 1168 ldr r1, [r2] ARM GAS /tmp/ccpzG7eY.s page 131 7530 0206 6363 str r3, [r4, #52] 7531 0208 00F02800 and r0, r0, #40 7532 020c 2828 cmp r0, #40 7533 020e 0CBF ite eq 7534 0210 6FF04200 mvneq r0, #66 7535 0214 6FF0F200 mvnne r0, #242 7536 0218 0140 ands r1, r1, r0 7537 021a 1160 str r1, [r2] 7538 021c 2046 mov r0, r4 7539 021e 84F84030 strb r3, [r4, #64] 7540 0222 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 7541 0226 18E7 b .L1616 7542 .L1669: 7543 .align 2 7544 .L1668: 7545 0228 00000000 .word I2C_Master_ISR_DMA 7546 022c 00000000 .word I2C_Slave_ISR_DMA 7547 0230 009C00FC .word -67068928 7549 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits 7550 .align 1 7551 .p2align 2,,3 7552 .syntax unified 7553 .thumb 7554 .thumb_func 7555 .fpu fpv4-sp-d16 7557 I2C_DMAMasterTransmitCplt: 7558 @ args = 0, pretend = 0, frame = 0 7559 @ frame_needed = 0, uses_anonymous_args = 0 7560 0000 10B5 push {r4, lr} 7561 0002 846A ldr r4, [r0, #40] 7562 0004 2268 ldr r2, [r4] 7563 0006 1368 ldr r3, [r2] 7564 0008 23F48043 bic r3, r3, #16384 7565 000c 1360 str r3, [r2] 7566 000e 638D ldrh r3, [r4, #42] 7567 0010 9BB2 uxth r3, r3 7568 0012 63B9 cbnz r3, .L1671 7569 0014 636B ldr r3, [r4, #52] 7570 0016 1C49 ldr r1, .L1684 7571 0018 8B42 cmp r3, r1 7572 001a 2AD0 beq .L1677 7573 001c 1B49 ldr r1, .L1684+4 7574 001e 8B42 cmp r3, r1 7575 0020 0CBF ite eq 7576 0022 6023 moveq r3, #96 7577 0024 2023 movne r3, #32 7578 .L1672: 7579 0026 1168 ldr r1, [r2] 7580 0028 0B43 orrs r3, r3, r1 7581 002a 1360 str r3, [r2] 7582 002c 10BD pop {r4, pc} 7583 .L1671: 7584 002e 638D ldrh r3, [r4, #42] 7585 0030 616A ldr r1, [r4, #36] 7586 0032 208D ldrh r0, [r4, #40] 7587 0034 9BB2 uxth r3, r3 7588 0036 0144 add r1, r1, r0 ARM GAS /tmp/ccpzG7eY.s page 132 7589 0038 FF2B cmp r3, #255 7590 003a 6162 str r1, [r4, #36] 7591 003c 16D8 bhi .L1679 7592 003e 608D ldrh r0, [r4, #42] 7593 0040 80B2 uxth r0, r0 7594 0042 0346 mov r3, r0 7595 .L1674: 7596 0044 2085 strh r0, [r4, #40] @ movhi 7597 0046 2832 adds r2, r2, #40 7598 0048 A06B ldr r0, [r4, #56] 7599 004a FFF7FEFF bl HAL_DMA_Start_IT 7600 004e 90B9 cbnz r0, .L1683 7601 0050 636B ldr r3, [r4, #52] 7602 0052 0D4A ldr r2, .L1684 7603 0054 9342 cmp r3, r2 7604 0056 14D0 beq .L1680 7605 0058 0C4A ldr r2, .L1684+4 7606 005a 9342 cmp r3, r2 7607 005c 0CBF ite eq 7608 005e 4023 moveq r3, #64 7609 0060 0023 movne r3, #0 7610 .L1676: 7611 0062 2168 ldr r1, [r4] 7612 0064 0A68 ldr r2, [r1] 7613 0066 1343 orrs r3, r3, r2 7614 0068 0B60 str r3, [r1] 7615 006a 10BD pop {r4, pc} 7616 .L1679: 7617 006c FF23 movs r3, #255 7618 006e 1846 mov r0, r3 7619 0070 E8E7 b .L1674 7620 .L1677: 7621 0072 6023 movs r3, #96 7622 0074 D7E7 b .L1672 7623 .L1683: 7624 0076 2046 mov r0, r4 7625 0078 1021 movs r1, #16 7626 007a BDE81040 pop {r4, lr} 7627 007e FFF7FEBF b I2C_ITError 7628 .L1680: 7629 0082 4023 movs r3, #64 7630 0084 EDE7 b .L1676 7631 .L1685: 7632 0086 00BF .align 2 7633 .L1684: 7634 0088 00000000 .word I2C_Master_ISR_DMA 7635 008c 00000000 .word I2C_Slave_ISR_DMA 7637 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits 7638 .align 1 7639 .p2align 2,,3 7640 .syntax unified 7641 .thumb 7642 .thumb_func 7643 .fpu fpv4-sp-d16 7645 I2C_DMAMasterReceiveCplt: 7646 @ args = 0, pretend = 0, frame = 0 7647 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccpzG7eY.s page 133 7648 0000 10B5 push {r4, lr} 7649 0002 846A ldr r4, [r0, #40] 7650 0004 2168 ldr r1, [r4] 7651 0006 0B68 ldr r3, [r1] 7652 0008 23F40043 bic r3, r3, #32768 7653 000c 0B60 str r3, [r1] 7654 000e 638D ldrh r3, [r4, #42] 7655 0010 9BB2 uxth r3, r3 7656 0012 63B9 cbnz r3, .L1687 7657 0014 636B ldr r3, [r4, #52] 7658 0016 1D4A ldr r2, .L1701 7659 0018 9342 cmp r3, r2 7660 001a 2AD0 beq .L1693 7661 001c 1C4A ldr r2, .L1701+4 7662 001e 9342 cmp r3, r2 7663 0020 0CBF ite eq 7664 0022 6023 moveq r3, #96 7665 0024 2023 movne r3, #32 7666 0026 0A68 ldr r2, [r1] 7667 0028 1343 orrs r3, r3, r2 7668 002a 0B60 str r3, [r1] 7669 002c 10BD pop {r4, pc} 7670 .L1687: 7671 002e 638D ldrh r3, [r4, #42] 7672 0030 626A ldr r2, [r4, #36] 7673 0032 208D ldrh r0, [r4, #40] 7674 0034 9BB2 uxth r3, r3 7675 0036 0244 add r2, r2, r0 7676 0038 FF2B cmp r3, #255 7677 003a 6262 str r2, [r4, #36] 7678 003c 16D8 bhi .L1695 7679 003e 608D ldrh r0, [r4, #42] 7680 0040 80B2 uxth r0, r0 7681 0042 0346 mov r3, r0 7682 .L1690: 7683 0044 2085 strh r0, [r4, #40] @ movhi 7684 0046 2431 adds r1, r1, #36 7685 0048 E06B ldr r0, [r4, #60] 7686 004a FFF7FEFF bl HAL_DMA_Start_IT 7687 004e A8B9 cbnz r0, .L1700 7688 0050 636B ldr r3, [r4, #52] 7689 0052 0E4A ldr r2, .L1701 7690 0054 9342 cmp r3, r2 7691 0056 17D0 beq .L1696 7692 0058 0D4A ldr r2, .L1701+4 7693 005a 9342 cmp r3, r2 7694 005c 0CBF ite eq 7695 005e 4023 moveq r3, #64 7696 0060 0023 movne r3, #0 7697 .L1692: 7698 0062 2168 ldr r1, [r4] 7699 0064 0A68 ldr r2, [r1] 7700 0066 1343 orrs r3, r3, r2 7701 0068 0B60 str r3, [r1] 7702 006a 10BD pop {r4, pc} 7703 .L1695: 7704 006c FF23 movs r3, #255 ARM GAS /tmp/ccpzG7eY.s page 134 7705 006e 1846 mov r0, r3 7706 0070 E8E7 b .L1690 7707 .L1693: 7708 0072 0A68 ldr r2, [r1] 7709 0074 6023 movs r3, #96 7710 0076 1343 orrs r3, r3, r2 7711 0078 0B60 str r3, [r1] 7712 007a 10BD pop {r4, pc} 7713 .L1700: 7714 007c 2046 mov r0, r4 7715 007e 1021 movs r1, #16 7716 0080 BDE81040 pop {r4, lr} 7717 0084 FFF7FEBF b I2C_ITError 7718 .L1696: 7719 0088 4023 movs r3, #64 7720 008a EAE7 b .L1692 7721 .L1702: 7722 .align 2 7723 .L1701: 7724 008c 00000000 .word I2C_Master_ISR_DMA 7725 0090 00000000 .word I2C_Slave_ISR_DMA 7727 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits 7728 .align 1 7729 .p2align 2,,3 7730 .global HAL_I2C_ER_IRQHandler 7731 .syntax unified 7732 .thumb 7733 .thumb_func 7734 .fpu fpv4-sp-d16 7736 HAL_I2C_ER_IRQHandler: 7737 @ args = 0, pretend = 0, frame = 0 7738 @ frame_needed = 0, uses_anonymous_args = 0 7739 @ link register save eliminated. 7740 0000 0368 ldr r3, [r0] 7741 0002 9A69 ldr r2, [r3, #24] 7742 0004 1968 ldr r1, [r3] 7743 0006 10B4 push {r4} 7744 0008 D405 lsls r4, r2, #23 7745 000a 2FD5 bpl .L1704 7746 000c 0C06 lsls r4, r1, #24 7747 000e 1FD5 bpl .L1705 7748 0010 416C ldr r1, [r0, #68] 7749 0012 41F00101 orr r1, r1, #1 7750 0016 4164 str r1, [r0, #68] 7751 0018 4FF48074 mov r4, #256 7752 001c 5105 lsls r1, r2, #21 7753 001e DC61 str r4, [r3, #28] 7754 0020 29D5 bpl .L1706 7755 .L1710: 7756 0022 416C ldr r1, [r0, #68] 7757 0024 4FF48064 mov r4, #1024 7758 0028 41F00801 orr r1, r1, #8 7759 002c 9205 lsls r2, r2, #22 7760 002e 4164 str r1, [r0, #68] 7761 0030 DC61 str r4, [r3, #28] 7762 0032 06D5 bpl .L1711 7763 .L1707: ARM GAS /tmp/ccpzG7eY.s page 135 7764 0034 426C ldr r2, [r0, #68] 7765 0036 4FF40071 mov r1, #512 7766 003a 42F00202 orr r2, r2, #2 7767 003e 4264 str r2, [r0, #68] 7768 0040 D961 str r1, [r3, #28] 7769 .L1711: 7770 0042 416C ldr r1, [r0, #68] 7771 0044 11F00B0F tst r1, #11 7772 0048 0CD1 bne .L1720 7773 .L1703: 7774 004a 5DF8044B ldr r4, [sp], #4 7775 004e 7047 bx lr 7776 .L1705: 7777 0050 5405 lsls r4, r2, #21 7778 0052 F6D4 bmi .L1711 7779 .L1709: 7780 0054 9405 lsls r4, r2, #22 7781 0056 F4D5 bpl .L1711 7782 0058 0906 lsls r1, r1, #24 7783 005a EBD4 bmi .L1707 7784 005c 416C ldr r1, [r0, #68] 7785 005e 11F00B0F tst r1, #11 7786 0062 F2D0 beq .L1703 7787 .L1720: 7788 0064 5DF8044B ldr r4, [sp], #4 7789 0068 FFF7FEBF b I2C_ITError 7790 .L1704: 7791 006c 5405 lsls r4, r2, #21 7792 006e F1D5 bpl .L1709 7793 0070 0906 lsls r1, r1, #24 7794 0072 D6D4 bmi .L1710 7795 0074 E5E7 b .L1711 7796 .L1706: 7797 0076 9205 lsls r2, r2, #22 7798 0078 DCD4 bmi .L1707 7799 007a E2E7 b .L1711 7801 .section .text.I2C_DMAError,"ax",%progbits 7802 .align 1 7803 .p2align 2,,3 7804 .syntax unified 7805 .thumb 7806 .thumb_func 7807 .fpu fpv4-sp-d16 7809 I2C_DMAError: 7810 @ args = 0, pretend = 0, frame = 0 7811 @ frame_needed = 0, uses_anonymous_args = 0 7812 0000 10B5 push {r4, lr} 7813 0002 846A ldr r4, [r0, #40] 7814 0004 4B48 ldr r0, .L1774 7815 0006 2368 ldr r3, [r4] 7816 0008 5A68 ldr r2, [r3, #4] 7817 000a 42F40042 orr r2, r2, #32768 7818 000e 5A60 str r2, [r3, #4] 7819 0010 0021 movs r1, #0 7820 0012 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7821 0016 84F84210 strb r1, [r4, #66] 7822 001a E062 str r0, [r4, #44] ARM GAS /tmp/ccpzG7eY.s page 136 7823 001c 6185 strh r1, [r4, #42] @ movhi 7824 001e 616C ldr r1, [r4, #68] 7825 0020 283A subs r2, r2, #40 7826 0022 41F01001 orr r1, r1, #16 7827 0026 6164 str r1, [r4, #68] 7828 0028 022A cmp r2, #2 7829 002a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7830 002e 61D8 bhi .L1722 7831 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7832 0034 02F02802 and r2, r2, #40 7833 0038 282A cmp r2, #40 7834 003a 00F02800 and r0, r0, #40 7835 003e 1A68 ldr r2, [r3] 7836 0040 14BF ite ne 7837 0042 6FF0F601 mvnne r1, #246 7838 0046 6FF04601 mvneq r1, #70 7839 004a 2828 cmp r0, #40 7840 004c 18BF it ne 7841 004e 6FF0F601 mvnne r1, #246 7842 0052 0A40 ands r2, r2, r1 7843 0054 3848 ldr r0, .L1774+4 7844 0056 1A60 str r2, [r3] 7845 0058 2821 movs r1, #40 7846 005a 84F84110 strb r1, [r4, #65] 7847 005e 6063 str r0, [r4, #52] 7848 .L1725: 7849 0060 A06B ldr r0, [r4, #56] 7850 0062 226B ldr r2, [r4, #48] 7851 0064 18B1 cbz r0, .L1727 7852 0066 112A cmp r2, #17 7853 0068 14D0 beq .L1728 7854 006a 212A cmp r2, #33 7855 006c 12D0 beq .L1728 7856 .L1727: 7857 006e E06B ldr r0, [r4, #60] 7858 0070 18B1 cbz r0, .L1734 7859 0072 122A cmp r2, #18 7860 0074 24D0 beq .L1735 7861 0076 222A cmp r2, #34 7862 0078 22D0 beq .L1735 7863 .L1734: 7864 007a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 7865 007e 602B cmp r3, #96 7866 0080 4FF00003 mov r3, #0 7867 0084 4BD0 beq .L1772 7868 0086 2363 str r3, [r4, #48] 7869 0088 84F84030 strb r3, [r4, #64] 7870 008c 2046 mov r0, r4 7871 008e FFF7FEFF bl HAL_I2C_ErrorCallback 7872 .L1721: 7873 0092 10BD pop {r4, pc} 7874 .L1728: 7875 0094 1A68 ldr r2, [r3] 7876 0096 5104 lsls r1, r2, #17 7877 0098 3CD4 bmi .L1773 7878 .L1729: 7879 009a FFF7FEFF bl HAL_DMA_GetState ARM GAS /tmp/ccpzG7eY.s page 137 7880 009e 0128 cmp r0, #1 7881 00a0 EBD0 beq .L1734 7882 00a2 A06B ldr r0, [r4, #56] 7883 00a4 254A ldr r2, .L1774+8 7884 00a6 8263 str r2, [r0, #56] 7885 00a8 0023 movs r3, #0 7886 00aa 84F84030 strb r3, [r4, #64] 7887 00ae FFF7FEFF bl HAL_DMA_Abort_IT 7888 00b2 0028 cmp r0, #0 7889 00b4 EDD0 beq .L1721 7890 00b6 A06B ldr r0, [r4, #56] 7891 00b8 BDE81040 pop {r4, lr} 7892 00bc 836B ldr r3, [r0, #56] 7893 00be 1847 bx r3 @ indirect register sibling call 7894 .L1735: 7895 00c0 1A68 ldr r2, [r3] 7896 00c2 1204 lsls r2, r2, #16 7897 00c4 03D5 bpl .L1736 7898 00c6 1A68 ldr r2, [r3] 7899 00c8 22F40042 bic r2, r2, #32768 7900 00cc 1A60 str r2, [r3] 7901 .L1736: 7902 00ce FFF7FEFF bl HAL_DMA_GetState 7903 00d2 0128 cmp r0, #1 7904 00d4 D1D0 beq .L1734 7905 00d6 E06B ldr r0, [r4, #60] 7906 00d8 184A ldr r2, .L1774+8 7907 00da 8263 str r2, [r0, #56] 7908 00dc 0023 movs r3, #0 7909 00de 84F84030 strb r3, [r4, #64] 7910 00e2 FFF7FEFF bl HAL_DMA_Abort_IT 7911 00e6 0028 cmp r0, #0 7912 00e8 D3D0 beq .L1721 7913 00ea E06B ldr r0, [r4, #60] 7914 00ec BDE81040 pop {r4, lr} 7915 00f0 836B ldr r3, [r0, #56] 7916 00f2 1847 bx r3 @ indirect register sibling call 7917 .L1722: 7918 00f4 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7919 00f8 1A68 ldr r2, [r3] 7920 00fa 22F0FE02 bic r2, r2, #254 7921 00fe 1A60 str r2, [r3] 7922 0100 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7923 0104 602A cmp r2, #96 7924 0106 1CBF itt ne 7925 0108 2022 movne r2, #32 7926 010a 84F84120 strbne r2, [r4, #65] 7927 010e 0022 movs r2, #0 7928 0110 6263 str r2, [r4, #52] 7929 0112 A5E7 b .L1725 7930 .L1773: 7931 0114 1A68 ldr r2, [r3] 7932 0116 22F48042 bic r2, r2, #16384 7933 011a 1A60 str r2, [r3] 7934 011c BDE7 b .L1729 7935 .L1772: 7936 011e 2022 movs r2, #32 ARM GAS /tmp/ccpzG7eY.s page 138 7937 0120 84F84120 strb r2, [r4, #65] 7938 0124 84F84030 strb r3, [r4, #64] 7939 0128 2363 str r3, [r4, #48] 7940 012a 2046 mov r0, r4 7941 012c FFF7FEFF bl HAL_I2C_AbortCpltCallback 7942 0130 10BD pop {r4, pc} 7943 .L1775: 7944 0132 00BF .align 2 7945 .L1774: 7946 0134 0000FFFF .word -65536 7947 0138 00000000 .word I2C_Slave_ISR_IT 7948 013c 00000000 .word I2C_DMAAbort 7950 .section .text.HAL_I2C_GetState,"ax",%progbits 7951 .align 1 7952 .p2align 2,,3 7953 .global HAL_I2C_GetState 7954 .syntax unified 7955 .thumb 7956 .thumb_func 7957 .fpu fpv4-sp-d16 7959 HAL_I2C_GetState: 7960 @ args = 0, pretend = 0, frame = 0 7961 @ frame_needed = 0, uses_anonymous_args = 0 7962 @ link register save eliminated. 7963 0000 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 7964 0004 7047 bx lr 7966 0006 00BF .section .text.HAL_I2C_GetMode,"ax",%progbits 7967 .align 1 7968 .p2align 2,,3 7969 .global HAL_I2C_GetMode 7970 .syntax unified 7971 .thumb 7972 .thumb_func 7973 .fpu fpv4-sp-d16 7975 HAL_I2C_GetMode: 7976 @ args = 0, pretend = 0, frame = 0 7977 @ frame_needed = 0, uses_anonymous_args = 0 7978 @ link register save eliminated. 7979 0000 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2 7980 0004 7047 bx lr 7982 0006 00BF .section .text.HAL_I2C_GetError,"ax",%progbits 7983 .align 1 7984 .p2align 2,,3 7985 .global HAL_I2C_GetError 7986 .syntax unified 7987 .thumb 7988 .thumb_func 7989 .fpu fpv4-sp-d16 7991 HAL_I2C_GetError: 7992 @ args = 0, pretend = 0, frame = 0 7993 @ frame_needed = 0, uses_anonymous_args = 0 7994 @ link register save eliminated. 7995 0000 406C ldr r0, [r0, #68] 7996 0002 7047 bx lr 7998 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/ccpzG7eY.s page 139 DEFINED SYMBOLS *ABS*:0000000000000000 stm32g4xx_hal_i2c.c /tmp/ccpzG7eY.s:16 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t /tmp/ccpzG7eY.s:24 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout /tmp/ccpzG7eY.s:245 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000000001f8 $d /tmp/ccpzG7eY.s:248 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 $t /tmp/ccpzG7eY.s:255 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 I2C_WaitOnTXISFlagUntilTimeout /tmp/ccpzG7eY.s:449 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000000001b4 $d /tmp/ccpzG7eY.s:452 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t /tmp/ccpzG7eY.s:459 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout /tmp/ccpzG7eY.s:649 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000000001b0 $d /tmp/ccpzG7eY.s:652 .text.HAL_I2C_MspInit:0000000000000000 $t /tmp/ccpzG7eY.s:660 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit /tmp/ccpzG7eY.s:667 .text.HAL_I2C_Init:0000000000000000 $t /tmp/ccpzG7eY.s:675 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init /tmp/ccpzG7eY.s:751 .text.HAL_I2C_MspDeInit:0000000000000000 $t /tmp/ccpzG7eY.s:759 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit /tmp/ccpzG7eY.s:766 .text.HAL_I2C_DeInit:0000000000000000 $t /tmp/ccpzG7eY.s:774 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit /tmp/ccpzG7eY.s:800 .text.HAL_I2C_Master_Transmit:0000000000000000 $t /tmp/ccpzG7eY.s:808 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit /tmp/ccpzG7eY.s:1150 .text.HAL_I2C_Master_Transmit:0000000000000304 $d /tmp/ccpzG7eY.s:1154 .text.HAL_I2C_Master_Transmit:0000000000000310 $t /tmp/ccpzG7eY.s:1168 .text.HAL_I2C_Master_Transmit:000000000000032c $d /tmp/ccpzG7eY.s:1171 .text.HAL_I2C_Master_Receive:0000000000000000 $t /tmp/ccpzG7eY.s:1179 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive /tmp/ccpzG7eY.s:1371 .text.HAL_I2C_Master_Receive:00000000000001a8 $d /tmp/ccpzG7eY.s:1377 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t /tmp/ccpzG7eY.s:1385 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit /tmp/ccpzG7eY.s:1627 .text.HAL_I2C_Slave_Receive:0000000000000000 $t /tmp/ccpzG7eY.s:1635 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive /tmp/ccpzG7eY.s:1843 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t /tmp/ccpzG7eY.s:1851 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT /tmp/ccpzG7eY.s:1917 .text.HAL_I2C_Master_Transmit_IT:0000000000000094 $d /tmp/ccpzG7eY.s:6859 .text.I2C_Master_ISR_IT:0000000000000000 I2C_Master_ISR_IT /tmp/ccpzG7eY.s:1922 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t /tmp/ccpzG7eY.s:1930 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT /tmp/ccpzG7eY.s:1996 .text.HAL_I2C_Master_Receive_IT:0000000000000094 $d /tmp/ccpzG7eY.s:2001 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t /tmp/ccpzG7eY.s:2009 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT /tmp/ccpzG7eY.s:2055 .text.HAL_I2C_Slave_Transmit_IT:0000000000000058 $d /tmp/ccpzG7eY.s:6505 .text.I2C_Slave_ISR_IT:0000000000000000 I2C_Slave_ISR_IT /tmp/ccpzG7eY.s:2059 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t /tmp/ccpzG7eY.s:2067 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT /tmp/ccpzG7eY.s:2113 .text.HAL_I2C_Slave_Receive_IT:0000000000000058 $d /tmp/ccpzG7eY.s:2117 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:2125 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA /tmp/ccpzG7eY.s:2264 .text.HAL_I2C_Master_Transmit_DMA:0000000000000150 $d /tmp/ccpzG7eY.s:7118 .text.I2C_Slave_ISR_DMA:0000000000000000 I2C_Slave_ISR_DMA /tmp/ccpzG7eY.s:7309 .text.I2C_Master_ISR_DMA:0000000000000000 I2C_Master_ISR_DMA /tmp/ccpzG7eY.s:7557 .text.I2C_DMAMasterTransmitCplt:0000000000000000 I2C_DMAMasterTransmitCplt /tmp/ccpzG7eY.s:7809 .text.I2C_DMAError:0000000000000000 I2C_DMAError /tmp/ccpzG7eY.s:2273 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:2281 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA /tmp/ccpzG7eY.s:2419 .text.HAL_I2C_Master_Receive_DMA:000000000000014c $d /tmp/ccpzG7eY.s:7645 .text.I2C_DMAMasterReceiveCplt:0000000000000000 I2C_DMAMasterReceiveCplt /tmp/ccpzG7eY.s:2428 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t ARM GAS /tmp/ccpzG7eY.s page 140 /tmp/ccpzG7eY.s:2436 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA /tmp/ccpzG7eY.s:2523 .text.HAL_I2C_Slave_Transmit_DMA:00000000000000c4 $d /tmp/ccpzG7eY.s:5809 .text.I2C_DMASlaveTransmitCplt:0000000000000000 I2C_DMASlaveTransmitCplt /tmp/ccpzG7eY.s:2529 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:2537 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA /tmp/ccpzG7eY.s:2626 .text.HAL_I2C_Slave_Receive_DMA:00000000000000c4 $d /tmp/ccpzG7eY.s:5893 .text.I2C_DMASlaveReceiveCplt:0000000000000000 I2C_DMASlaveReceiveCplt /tmp/ccpzG7eY.s:2632 .text.HAL_I2C_Mem_Write:0000000000000000 $t /tmp/ccpzG7eY.s:2640 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write /tmp/ccpzG7eY.s:2900 .text.HAL_I2C_Mem_Write:0000000000000250 $d /tmp/ccpzG7eY.s:2906 .text.HAL_I2C_Mem_Read:0000000000000000 $t /tmp/ccpzG7eY.s:2914 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read /tmp/ccpzG7eY.s:3185 .text.HAL_I2C_Mem_Read:0000000000000254 $d /tmp/ccpzG7eY.s:3191 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t /tmp/ccpzG7eY.s:3199 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT /tmp/ccpzG7eY.s:3346 .text.HAL_I2C_Mem_Write_IT:000000000000015c $d /tmp/ccpzG7eY.s:3354 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t /tmp/ccpzG7eY.s:3362 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT /tmp/ccpzG7eY.s:3509 .text.HAL_I2C_Mem_Read_IT:000000000000015c $d /tmp/ccpzG7eY.s:3516 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:3524 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA /tmp/ccpzG7eY.s:3713 .text.HAL_I2C_Mem_Write_DMA:00000000000001bc $d /tmp/ccpzG7eY.s:3722 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:3730 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA /tmp/ccpzG7eY.s:3919 .text.HAL_I2C_Mem_Read_DMA:00000000000001bc $d /tmp/ccpzG7eY.s:3927 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t /tmp/ccpzG7eY.s:3935 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady /tmp/ccpzG7eY.s:4128 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t /tmp/ccpzG7eY.s:4136 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT /tmp/ccpzG7eY.s:4240 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000f8 $d /tmp/ccpzG7eY.s:4246 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:4254 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA /tmp/ccpzG7eY.s:4433 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000000001a8 $d /tmp/ccpzG7eY.s:4443 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t /tmp/ccpzG7eY.s:4451 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT /tmp/ccpzG7eY.s:4555 .text.HAL_I2C_Master_Seq_Receive_IT:00000000000000f8 $d /tmp/ccpzG7eY.s:4561 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:4569 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA /tmp/ccpzG7eY.s:4747 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000000001a4 $d /tmp/ccpzG7eY.s:4757 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t /tmp/ccpzG7eY.s:4765 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT /tmp/ccpzG7eY.s:4881 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000000000fc $d /tmp/ccpzG7eY.s:6120 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort /tmp/ccpzG7eY.s:4885 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:4893 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA /tmp/ccpzG7eY.s:5101 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000000001d4 $d /tmp/ccpzG7eY.s:5107 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t /tmp/ccpzG7eY.s:5115 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT /tmp/ccpzG7eY.s:5231 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000000000fc $d /tmp/ccpzG7eY.s:5235 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:5243 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA /tmp/ccpzG7eY.s:5466 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000000001ec $d /tmp/ccpzG7eY.s:5473 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t /tmp/ccpzG7eY.s:5481 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT /tmp/ccpzG7eY.s:5504 .text.HAL_I2C_EnableListen_IT:0000000000000024 $d /tmp/ccpzG7eY.s:5507 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t /tmp/ccpzG7eY.s:5515 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT ARM GAS /tmp/ccpzG7eY.s page 141 /tmp/ccpzG7eY.s:5545 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t /tmp/ccpzG7eY.s:5553 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT /tmp/ccpzG7eY.s:5639 .text.HAL_I2C_Master_Abort_IT:00000000000000b8 $d /tmp/ccpzG7eY.s:5644 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t /tmp/ccpzG7eY.s:5652 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler /tmp/ccpzG7eY.s:5666 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:5674 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback /tmp/ccpzG7eY.s:5681 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:5689 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback /tmp/ccpzG7eY.s:5696 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:5704 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback /tmp/ccpzG7eY.s:5711 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:5719 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback /tmp/ccpzG7eY.s:5726 .text.I2C_ITSlaveSeqCplt:0000000000000000 $t /tmp/ccpzG7eY.s:5733 .text.I2C_ITSlaveSeqCplt:0000000000000000 I2C_ITSlaveSeqCplt /tmp/ccpzG7eY.s:5802 .text.I2C_DMASlaveTransmitCplt:0000000000000000 $t /tmp/ccpzG7eY.s:5886 .text.I2C_DMASlaveReceiveCplt:0000000000000000 $t /tmp/ccpzG7eY.s:5970 .text.HAL_I2C_AddrCallback:0000000000000000 $t /tmp/ccpzG7eY.s:5978 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback /tmp/ccpzG7eY.s:5985 .text.I2C_ITAddrCplt.part.0:0000000000000000 $t /tmp/ccpzG7eY.s:5992 .text.I2C_ITAddrCplt.part.0:0000000000000000 I2C_ITAddrCplt.part.0 /tmp/ccpzG7eY.s:6038 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:6046 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback /tmp/ccpzG7eY.s:6053 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:6061 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback /tmp/ccpzG7eY.s:6068 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:6076 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback /tmp/ccpzG7eY.s:6083 .text.HAL_I2C_ErrorCallback:0000000000000000 $t /tmp/ccpzG7eY.s:6091 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback /tmp/ccpzG7eY.s:6098 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t /tmp/ccpzG7eY.s:6106 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback /tmp/ccpzG7eY.s:6113 .text.I2C_DMAAbort:0000000000000000 $t /tmp/ccpzG7eY.s:6152 .text.I2C_ITError:0000000000000000 $t /tmp/ccpzG7eY.s:6159 .text.I2C_ITError:0000000000000000 I2C_ITError /tmp/ccpzG7eY.s:6295 .text.I2C_ITError:0000000000000130 $d /tmp/ccpzG7eY.s:6300 .text.I2C_ITSlaveCplt:0000000000000000 $t /tmp/ccpzG7eY.s:6307 .text.I2C_ITSlaveCplt:0000000000000000 I2C_ITSlaveCplt /tmp/ccpzG7eY.s:6494 .text.I2C_ITSlaveCplt:0000000000000190 $d /tmp/ccpzG7eY.s:6498 .text.I2C_Slave_ISR_IT:0000000000000000 $t /tmp/ccpzG7eY.s:6705 .text.I2C_Slave_ISR_IT:000000000000019c $d /tmp/ccpzG7eY.s:6708 .text.I2C_ITMasterCplt:0000000000000000 $t /tmp/ccpzG7eY.s:6715 .text.I2C_ITMasterCplt:0000000000000000 I2C_ITMasterCplt /tmp/ccpzG7eY.s:6848 .text.I2C_ITMasterCplt:000000000000011c $d /tmp/ccpzG7eY.s:6852 .text.I2C_Master_ISR_IT:0000000000000000 $t /tmp/ccpzG7eY.s:7108 .text.I2C_Master_ISR_IT:0000000000000220 $d /tmp/ccpzG7eY.s:7111 .text.I2C_Slave_ISR_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:7299 .text.I2C_Slave_ISR_DMA:0000000000000178 $d /tmp/ccpzG7eY.s:7302 .text.I2C_Master_ISR_DMA:0000000000000000 $t /tmp/ccpzG7eY.s:7545 .text.I2C_Master_ISR_DMA:0000000000000228 $d /tmp/ccpzG7eY.s:7550 .text.I2C_DMAMasterTransmitCplt:0000000000000000 $t /tmp/ccpzG7eY.s:7634 .text.I2C_DMAMasterTransmitCplt:0000000000000088 $d /tmp/ccpzG7eY.s:7638 .text.I2C_DMAMasterReceiveCplt:0000000000000000 $t /tmp/ccpzG7eY.s:7724 .text.I2C_DMAMasterReceiveCplt:000000000000008c $d /tmp/ccpzG7eY.s:7728 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t /tmp/ccpzG7eY.s:7736 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler /tmp/ccpzG7eY.s:7802 .text.I2C_DMAError:0000000000000000 $t /tmp/ccpzG7eY.s:7946 .text.I2C_DMAError:0000000000000134 $d ARM GAS /tmp/ccpzG7eY.s page 142 /tmp/ccpzG7eY.s:7951 .text.HAL_I2C_GetState:0000000000000000 $t /tmp/ccpzG7eY.s:7959 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState /tmp/ccpzG7eY.s:7967 .text.HAL_I2C_GetMode:0000000000000000 $t /tmp/ccpzG7eY.s:7975 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode /tmp/ccpzG7eY.s:7983 .text.HAL_I2C_GetError:0000000000000000 $t /tmp/ccpzG7eY.s:7991 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError UNDEFINED SYMBOLS HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort_IT HAL_DMA_GetState