ARM GAS /tmp/ccMJUeZm.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_flash_ex.c" 14 .text 15 .section .text.HAL_FLASHEx_Erase,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .global HAL_FLASHEx_Erase 19 .arch armv7e-m 20 .syntax unified 21 .thumb 22 .thumb_func 23 .fpu fpv4-sp-d16 25 HAL_FLASHEx_Erase: 26 @ args = 0, pretend = 0, frame = 0 27 @ frame_needed = 0, uses_anonymous_args = 0 28 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 29 0004 534F ldr r7, .L26 30 0006 3B78 ldrb r3, [r7] @ zero_extendqisi2 31 0008 012B cmp r3, #1 32 000a 7AD0 beq .L16 33 000c 8146 mov r9, r0 34 000e 0124 movs r4, #1 35 0010 4FF47A70 mov r0, #1000 36 0014 8846 mov r8, r1 37 0016 3C70 strb r4, [r7] 38 0018 FFF7FEFF bl FLASH_WaitForLastOperation 39 001c 0646 mov r6, r0 40 001e 20B1 cbz r0, .L23 41 .L3: 42 0020 0023 movs r3, #0 43 0022 3B70 strb r3, [r7] 44 0024 3046 mov r0, r6 45 0026 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 46 .L23: 47 002a 4B4B ldr r3, .L26+4 48 002c 7860 str r0, [r7, #4] 49 002e 1A68 ldr r2, [r3] 50 0030 12F4007F tst r2, #512 51 0034 1A68 ldr r2, [r3] 52 0036 68D1 bne .L24 53 0038 5205 lsls r2, r2, #21 54 003a 40F18980 bpl .L7 55 003e 1A68 ldr r2, [r3] 56 0040 22F48062 bic r2, r2, #1024 57 0044 1A60 str r2, [r3] 58 0046 0223 movs r3, #2 ARM GAS /tmp/ccMJUeZm.s page 2 59 0048 3B77 strb r3, [r7, #28] 60 .L6: 61 004a D9F80030 ldr r3, [r9] 62 004e 012B cmp r3, #1 63 0050 64D0 beq .L25 64 0052 4FF0FF33 mov r3, #-1 65 0056 C8F80030 str r3, [r8] 66 005a D9E90253 ldrd r5, r3, [r9, #8] 67 005e 2B44 add r3, r3, r5 68 0060 9D42 cmp r5, r3 69 0062 24D2 bcs .L10 70 0064 3C4C ldr r4, .L26+4 71 0066 05E0 b .L13 72 .L12: 73 0068 D9E90232 ldrd r3, r2, [r9, #8] 74 006c 0135 adds r5, r5, #1 75 006e 1344 add r3, r3, r2 76 0070 AB42 cmp r3, r5 77 0072 1CD9 bls .L10 78 .L13: 79 0074 6269 ldr r2, [r4, #20] 80 0076 EB00 lsls r3, r5, #3 81 0078 22F4FC72 bic r2, r2, #504 82 007c 03F4FF63 and r3, r3, #2040 83 0080 1343 orrs r3, r3, r2 84 0082 6361 str r3, [r4, #20] 85 0084 6369 ldr r3, [r4, #20] 86 0086 43F00203 orr r3, r3, #2 87 008a 6361 str r3, [r4, #20] 88 008c 6369 ldr r3, [r4, #20] 89 008e 43F48033 orr r3, r3, #65536 90 0092 6361 str r3, [r4, #20] 91 0094 4FF47A70 mov r0, #1000 92 0098 FFF7FEFF bl FLASH_WaitForLastOperation 93 009c 6369 ldr r3, [r4, #20] 94 009e 23F4FD73 bic r3, r3, #506 95 00a2 6361 str r3, [r4, #20] 96 00a4 0028 cmp r0, #0 97 00a6 DFD0 beq .L12 98 00a8 C8F80050 str r5, [r8] 99 00ac 0646 mov r6, r0 100 .L10: 101 00ae 3B7F ldrb r3, [r7, #28] @ zero_extendqisi2 102 00b0 03F0FD02 and r2, r3, #253 103 00b4 012A cmp r2, #1 104 00b6 DBB2 uxtb r3, r3 105 00b8 10D1 bne .L14 106 00ba 274A ldr r2, .L26+4 107 00bc 1168 ldr r1, [r2] 108 00be 21F40071 bic r1, r1, #512 109 00c2 1160 str r1, [r2] 110 00c4 1168 ldr r1, [r2] 111 00c6 41F40061 orr r1, r1, #2048 112 00ca 1160 str r1, [r2] 113 00cc 1168 ldr r1, [r2] 114 00ce 21F40061 bic r1, r1, #2048 115 00d2 1160 str r1, [r2] ARM GAS /tmp/ccMJUeZm.s page 3 116 00d4 1168 ldr r1, [r2] 117 00d6 41F40071 orr r1, r1, #512 118 00da 1160 str r1, [r2] 119 .L14: 120 00dc 023B subs r3, r3, #2 121 00de 012B cmp r3, #1 122 00e0 0CD8 bhi .L15 123 00e2 1D4B ldr r3, .L26+4 124 00e4 1A68 ldr r2, [r3] 125 00e6 42F48052 orr r2, r2, #4096 126 00ea 1A60 str r2, [r3] 127 00ec 1A68 ldr r2, [r3] 128 00ee 22F48052 bic r2, r2, #4096 129 00f2 1A60 str r2, [r3] 130 00f4 1A68 ldr r2, [r3] 131 00f6 42F48062 orr r2, r2, #1024 132 00fa 1A60 str r2, [r3] 133 .L15: 134 00fc 0023 movs r3, #0 135 00fe 3B77 strb r3, [r7, #28] 136 0100 8EE7 b .L3 137 .L16: 138 0102 0226 movs r6, #2 139 0104 3046 mov r0, r6 140 0106 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 141 .L24: 142 010a 5105 lsls r1, r2, #21 143 010c 1ED5 bpl .L5 144 010e 1A68 ldr r2, [r3] 145 0110 22F48062 bic r2, r2, #1024 146 0114 1A60 str r2, [r3] 147 0116 0323 movs r3, #3 148 0118 3B77 strb r3, [r7, #28] 149 011a 96E7 b .L6 150 .L25: 151 011c D9F80430 ldr r3, [r9, #4] 152 0120 DB07 lsls r3, r3, #31 153 0122 04D5 bpl .L9 154 0124 0C4A ldr r2, .L26+4 155 0126 5369 ldr r3, [r2, #20] 156 0128 43F00403 orr r3, r3, #4 157 012c 5361 str r3, [r2, #20] 158 .L9: 159 012e 0A4C ldr r4, .L26+4 160 0130 6369 ldr r3, [r4, #20] 161 0132 43F48033 orr r3, r3, #65536 162 0136 6361 str r3, [r4, #20] 163 0138 4FF47A70 mov r0, #1000 164 013c FFF7FEFF bl FLASH_WaitForLastOperation 165 0140 6369 ldr r3, [r4, #20] 166 0142 23F00403 bic r3, r3, #4 167 0146 0646 mov r6, r0 168 0148 6361 str r3, [r4, #20] 169 014a B0E7 b .L10 170 .L5: 171 014c 3C77 strb r4, [r7, #28] 172 014e 7CE7 b .L6 ARM GAS /tmp/ccMJUeZm.s page 4 173 .L7: 174 0150 3877 strb r0, [r7, #28] 175 0152 7AE7 b .L6 176 .L27: 177 .align 2 178 .L26: 179 0154 00000000 .word pFlash 180 0158 00200240 .word 1073881088 182 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits 183 .align 1 184 .p2align 2,,3 185 .global HAL_FLASHEx_Erase_IT 186 .syntax unified 187 .thumb 188 .thumb_func 189 .fpu fpv4-sp-d16 191 HAL_FLASHEx_Erase_IT: 192 @ args = 0, pretend = 0, frame = 0 193 @ frame_needed = 0, uses_anonymous_args = 0 194 @ link register save eliminated. 195 0000 2C4B ldr r3, .L46 196 0002 1A78 ldrb r2, [r3] @ zero_extendqisi2 197 0004 012A cmp r2, #1 198 0006 53D0 beq .L36 199 0008 10B4 push {r4} 200 000a 2B4A ldr r2, .L46+4 201 000c 0024 movs r4, #0 202 000e 0121 movs r1, #1 203 0010 1970 strb r1, [r3] 204 0012 5C60 str r4, [r3, #4] 205 0014 1468 ldr r4, [r2] 206 0016 A405 lsls r4, r4, #22 207 0018 2DD4 bmi .L44 208 001a 1168 ldr r1, [r2] 209 001c 11F48061 ands r1, r1, #1024 210 0020 33D0 beq .L33 211 0022 1168 ldr r1, [r2] 212 0024 0224 movs r4, #2 213 0026 21F48061 bic r1, r1, #1024 214 002a 1160 str r1, [r2] 215 002c 1C77 strb r4, [r3, #28] 216 .L32: 217 002e 224A ldr r2, .L46+4 218 0030 5169 ldr r1, [r2, #20] 219 0032 41F04071 orr r1, r1, #50331648 220 0036 5161 str r1, [r2, #20] 221 0038 D0E90041 ldrd r4, r1, [r0] 222 003c 012C cmp r4, #1 223 003e 1961 str r1, [r3, #16] 224 0040 25D0 beq .L45 225 0042 0121 movs r1, #1 226 0044 1972 strb r1, [r3, #8] 227 0046 D0E90214 ldrd r1, r4, [r0, #8] 228 004a 9C61 str r4, [r3, #24] 229 004c 5961 str r1, [r3, #20] 230 004e 5369 ldr r3, [r2, #20] 231 0050 5DF8044B ldr r4, [sp], #4 ARM GAS /tmp/ccMJUeZm.s page 5 232 0054 C900 lsls r1, r1, #3 233 0056 23F4FC73 bic r3, r3, #504 234 005a 01F4FF61 and r1, r1, #2040 235 005e 1943 orrs r1, r1, r3 236 0060 5161 str r1, [r2, #20] 237 0062 5369 ldr r3, [r2, #20] 238 0064 43F00203 orr r3, r3, #2 239 0068 5361 str r3, [r2, #20] 240 006a 5369 ldr r3, [r2, #20] 241 006c 43F48033 orr r3, r3, #65536 242 0070 0020 movs r0, #0 243 0072 5361 str r3, [r2, #20] 244 0074 7047 bx lr 245 .L44: 246 0076 1468 ldr r4, [r2] 247 0078 6405 lsls r4, r4, #21 248 007a 06D5 bpl .L33 249 007c 1168 ldr r1, [r2] 250 007e 0324 movs r4, #3 251 0080 21F48061 bic r1, r1, #1024 252 0084 1160 str r1, [r2] 253 0086 1C77 strb r4, [r3, #28] 254 0088 D1E7 b .L32 255 .L33: 256 008a 1977 strb r1, [r3, #28] 257 008c CFE7 b .L32 258 .L45: 259 008e 0220 movs r0, #2 260 0090 1872 strb r0, [r3, #8] 261 0092 CB07 lsls r3, r1, #31 262 0094 03D5 bpl .L35 263 0096 5369 ldr r3, [r2, #20] 264 0098 43F00403 orr r3, r3, #4 265 009c 5361 str r3, [r2, #20] 266 .L35: 267 009e 064A ldr r2, .L46+4 268 00a0 5DF8044B ldr r4, [sp], #4 269 00a4 5369 ldr r3, [r2, #20] 270 00a6 43F48033 orr r3, r3, #65536 271 00aa 0020 movs r0, #0 272 00ac 5361 str r3, [r2, #20] 273 00ae 7047 bx lr 274 .L36: 275 00b0 0220 movs r0, #2 276 00b2 7047 bx lr 277 .L47: 278 .align 2 279 .L46: 280 00b4 00000000 .word pFlash 281 00b8 00200240 .word 1073881088 283 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits 284 .align 1 285 .p2align 2,,3 286 .global HAL_FLASHEx_OBProgram 287 .syntax unified 288 .thumb 289 .thumb_func ARM GAS /tmp/ccMJUeZm.s page 6 290 .fpu fpv4-sp-d16 292 HAL_FLASHEx_OBProgram: 293 @ args = 0, pretend = 0, frame = 0 294 @ frame_needed = 0, uses_anonymous_args = 0 295 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 296 0004 B34E ldr r6, .L160 297 0006 3378 ldrb r3, [r6] @ zero_extendqisi2 298 0008 012B cmp r3, #1 299 000a 00F05E81 beq .L86 300 000e 0125 movs r5, #1 301 0010 3570 strb r5, [r6] 302 0012 0368 ldr r3, [r0] 303 0014 0022 movs r2, #0 304 0016 13EA0507 ands r7, r3, r5 305 001a 0446 mov r4, r0 306 001c 7260 str r2, [r6, #4] 307 001e 40F0DB80 bne .L150 308 .L50: 309 0022 9A07 lsls r2, r3, #30 310 0024 00F1CE80 bmi .L151 311 .L54: 312 0028 5D07 lsls r5, r3, #29 313 002a 42D4 bmi .L152 314 .L57: 315 002c 1907 lsls r1, r3, #28 316 002e 0AD4 bmi .L153 317 .L75: 318 0030 9A06 lsls r2, r3, #26 319 0032 00F1F980 bmi .L154 320 .L79: 321 0036 DB06 lsls r3, r3, #27 322 0038 00F1ED80 bmi .L155 323 .L83: 324 003c 0023 movs r3, #0 325 003e 3370 strb r3, [r6] 326 0040 3846 mov r0, r7 327 0042 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 328 .L153: 329 0046 D4E90885 ldrd r8, r5, [r4, #32] 330 004a A845 cmp r8, r5 331 004c F0D0 beq .L75 332 004e 4FF47A70 mov r0, #1000 333 0052 D4F81C90 ldr r9, [r4, #28] 334 0056 FFF7FEFF bl FLASH_WaitForLastOperation 335 005a 0028 cmp r0, #0 336 005c 40F00C81 bne .L156 337 0060 19F0010F tst r9, #1 338 0064 0FD0 beq .L77 339 0066 9C49 ldr r1, .L160+4 340 0068 9C48 ldr r0, .L160+8 341 006a 4A6A ldr r2, [r1, #36] 342 006c 08F17848 add r8, r8, #-134217728 343 0070 0240 ands r2, r2, r0 344 0072 42EAD802 orr r2, r2, r8, lsr #3 345 0076 4A62 str r2, [r1, #36] 346 0078 8B6A ldr r3, [r1, #40] 347 007a 05F17845 add r5, r5, #-134217728 ARM GAS /tmp/ccMJUeZm.s page 7 348 007e 0340 ands r3, r3, r0 349 0080 43EAD505 orr r5, r3, r5, lsr #3 350 0084 8D62 str r5, [r1, #40] 351 .L77: 352 0086 944A ldr r2, .L160+4 353 0088 936A ldr r3, [r2, #40] 354 008a 09F00049 and r9, r9, #-2147483648 355 008e 23F00043 bic r3, r3, #-2147483648 356 0092 43EA0903 orr r3, r3, r9 357 0096 9362 str r3, [r2, #40] 358 0098 5369 ldr r3, [r2, #20] 359 009a 43F40033 orr r3, r3, #131072 360 009e 5361 str r3, [r2, #20] 361 00a0 4FF47A70 mov r0, #1000 362 00a4 FFF7FEFF bl FLASH_WaitForLastOperation 363 00a8 2368 ldr r3, [r4] 364 00aa 0028 cmp r0, #0 365 00ac C0D0 beq .L75 366 00ae 0127 movs r7, #1 367 00b0 BEE7 b .L75 368 .L152: 369 00b2 4FF47A70 mov r0, #1000 370 00b6 D4E90558 ldrd r5, r8, [r4, #20] 371 00ba FFF7FEFF bl FLASH_WaitForLastOperation 372 00be 0028 cmp r0, #0 373 00c0 40F0D480 bne .L157 374 00c4 15F00103 ands r3, r5, #1 375 00c8 00F00A81 beq .L88 376 00cc 08F4E063 and r3, r8, #1792 377 00d0 4FF4B851 mov r1, #5888 378 00d4 4FF4E062 mov r2, #1792 379 .L59: 380 00d8 A807 lsls r0, r5, #30 381 00da 03D5 bpl .L60 382 00dc 0A46 mov r2, r1 383 00de 08F48051 and r1, r8, #4096 384 00e2 0B43 orrs r3, r3, r1 385 .L60: 386 00e4 6807 lsls r0, r5, #29 387 00e6 04D5 bpl .L61 388 00e8 08F40051 and r1, r8, #8192 389 00ec 42F40052 orr r2, r2, #8192 390 00f0 0B43 orrs r3, r3, r1 391 .L61: 392 00f2 E904 lsls r1, r5, #19 393 00f4 04D5 bpl .L62 394 00f6 08F48041 and r1, r8, #16384 395 00fa 42F48042 orr r2, r2, #16384 396 00fe 0B43 orrs r3, r3, r1 397 .L62: 398 0100 2807 lsls r0, r5, #28 399 0102 04D5 bpl .L63 400 0104 08F48031 and r1, r8, #65536 401 0108 42F48032 orr r2, r2, #65536 402 010c 0B43 orrs r3, r3, r1 403 .L63: 404 010e E906 lsls r1, r5, #27 ARM GAS /tmp/ccMJUeZm.s page 8 405 0110 04D5 bpl .L64 406 0112 08F40031 and r1, r8, #131072 407 0116 42F40032 orr r2, r2, #131072 408 011a 0B43 orrs r3, r3, r1 409 .L64: 410 011c A806 lsls r0, r5, #26 411 011e 04D5 bpl .L65 412 0120 08F48021 and r1, r8, #262144 413 0124 42F48022 orr r2, r2, #262144 414 0128 0B43 orrs r3, r3, r1 415 .L65: 416 012a 6906 lsls r1, r5, #25 417 012c 04D5 bpl .L66 418 012e 08F40021 and r1, r8, #524288 419 0132 42F40022 orr r2, r2, #524288 420 0136 0B43 orrs r3, r3, r1 421 .L66: 422 0138 A805 lsls r0, r5, #22 423 013a 04D5 bpl .L67 424 013c 08F40001 and r1, r8, #8388608 425 0140 42F40002 orr r2, r2, #8388608 426 0144 0B43 orrs r3, r3, r1 427 .L67: 428 0146 6905 lsls r1, r5, #21 429 0148 04D5 bpl .L68 430 014a 08F08071 and r1, r8, #16777216 431 014e 42F08072 orr r2, r2, #16777216 432 0152 0B43 orrs r3, r3, r1 433 .L68: 434 0154 2805 lsls r0, r5, #20 435 0156 04D5 bpl .L69 436 0158 08F00071 and r1, r8, #33554432 437 015c 42F00072 orr r2, r2, #33554432 438 0160 0B43 orrs r3, r3, r1 439 .L69: 440 0162 A904 lsls r1, r5, #18 441 0164 04D5 bpl .L70 442 0166 08F08061 and r1, r8, #67108864 443 016a 42F08062 orr r2, r2, #67108864 444 016e 0B43 orrs r3, r3, r1 445 .L70: 446 0170 6804 lsls r0, r5, #17 447 0172 04D5 bpl .L71 448 0174 08F00061 and r1, r8, #134217728 449 0178 42F00062 orr r2, r2, #134217728 450 017c 0B43 orrs r3, r3, r1 451 .L71: 452 017e 2904 lsls r1, r5, #16 453 0180 04D5 bpl .L72 454 0182 08F04051 and r1, r8, #805306368 455 0186 42F04052 orr r2, r2, #805306368 456 018a 0B43 orrs r3, r3, r1 457 .L72: 458 018c E803 lsls r0, r5, #15 459 018e 05D5 bpl .L73 460 0190 08F08048 and r8, r8, #1073741824 461 0194 43EA0803 orr r3, r3, r8 ARM GAS /tmp/ccMJUeZm.s page 9 462 0198 42F08042 orr r2, r2, #1073741824 463 .L73: 464 019c 4E4D ldr r5, .L160+4 465 019e 296A ldr r1, [r5, #32] 466 01a0 21EA0202 bic r2, r1, r2 467 01a4 1343 orrs r3, r3, r2 468 01a6 2B62 str r3, [r5, #32] 469 01a8 6B69 ldr r3, [r5, #20] 470 01aa 43F40033 orr r3, r3, #131072 471 01ae 6B61 str r3, [r5, #20] 472 01b0 4FF47A70 mov r0, #1000 473 01b4 FFF7FEFF bl FLASH_WaitForLastOperation 474 01b8 2368 ldr r3, [r4] 475 01ba 0028 cmp r0, #0 476 01bc 3FF436AF beq .L57 477 01c0 0127 movs r7, #1 478 01c2 33E7 b .L57 479 .L151: 480 01c4 4FF47A70 mov r0, #1000 481 01c8 2569 ldr r5, [r4, #16] 482 01ca FFF7FEFF bl FLASH_WaitForLastOperation 483 01ce 0028 cmp r0, #0 484 01d0 55D0 beq .L55 485 01d2 2368 ldr r3, [r4] 486 01d4 0127 movs r7, #1 487 01d6 27E7 b .L54 488 .L150: 489 01d8 D0E90187 ldrd r8, r7, [r0, #4] 490 01dc 4FF47A70 mov r0, #1000 491 01e0 D4F80C90 ldr r9, [r4, #12] 492 01e4 FFF7FEFF bl FLASH_WaitForLastOperation 493 01e8 0028 cmp r0, #0 494 01ea 3CD1 bne .L158 495 01ec B8F1000F cmp r8, #0 496 01f0 7AD1 bne .L52 497 01f2 394B ldr r3, .L160+4 498 01f4 47EA0947 orr r7, r7, r9, lsl #16 499 01f8 DF62 str r7, [r3, #44] 500 .L53: 501 01fa 374A ldr r2, .L160+4 502 01fc 5369 ldr r3, [r2, #20] 503 01fe 43F40033 orr r3, r3, #131072 504 0202 5361 str r3, [r2, #20] 505 0204 4FF47A70 mov r0, #1000 506 0208 FFF7FEFF bl FLASH_WaitForLastOperation 507 020c 071E subs r7, r0, #0 508 020e 2368 ldr r3, [r4] 509 0210 18BF it ne 510 0212 0127 movne r7, #1 511 0214 05E7 b .L50 512 .L155: 513 0216 4FF47A70 mov r0, #1000 514 021a A46A ldr r4, [r4, #40] 515 021c FFF7FEFF bl FLASH_WaitForLastOperation 516 0220 0028 cmp r0, #0 517 0222 40D0 beq .L84 518 .L85: ARM GAS /tmp/ccMJUeZm.s page 10 519 0224 0127 movs r7, #1 520 0226 09E7 b .L83 521 .L154: 522 0228 4FF47A70 mov r0, #1000 523 022c D4E90B58 ldrd r5, r8, [r4, #44] 524 0230 FFF7FEFF bl FLASH_WaitForLastOperation 525 0234 E8B9 cbnz r0, .L159 526 0236 012D cmp r5, #1 527 0238 06D1 bne .L81 528 023a 274A ldr r2, .L160+4 529 023c 136F ldr r3, [r2, #112] 530 023e 23F07F03 bic r3, r3, #127 531 0242 43EA0803 orr r3, r3, r8 532 0246 1367 str r3, [r2, #112] 533 .L81: 534 0248 234A ldr r2, .L160+4 535 024a 5369 ldr r3, [r2, #20] 536 024c 43F40033 orr r3, r3, #131072 537 0250 5361 str r3, [r2, #20] 538 0252 4FF47A70 mov r0, #1000 539 0256 FFF7FEFF bl FLASH_WaitForLastOperation 540 025a 2368 ldr r3, [r4] 541 025c 0028 cmp r0, #0 542 025e 3FF4EAAE beq .L79 543 0262 0127 movs r7, #1 544 0264 E7E6 b .L79 545 .L158: 546 0266 2368 ldr r3, [r4] 547 0268 2F46 mov r7, r5 548 026a DAE6 b .L50 549 .L157: 550 026c 2368 ldr r3, [r4] 551 026e 0127 movs r7, #1 552 0270 DCE6 b .L57 553 .L159: 554 0272 2368 ldr r3, [r4] 555 0274 0127 movs r7, #1 556 0276 DEE6 b .L79 557 .L156: 558 0278 2368 ldr r3, [r4] 559 027a 0127 movs r7, #1 560 027c D8E6 b .L75 561 .L55: 562 027e 164A ldr r2, .L160+4 563 0280 136A ldr r3, [r2, #32] 564 0282 23F0FF03 bic r3, r3, #255 565 0286 2B43 orrs r3, r3, r5 566 0288 1362 str r3, [r2, #32] 567 028a 5369 ldr r3, [r2, #20] 568 028c 43F40033 orr r3, r3, #131072 569 0290 5361 str r3, [r2, #20] 570 0292 4FF47A70 mov r0, #1000 571 0296 FFF7FEFF bl FLASH_WaitForLastOperation 572 029a 2368 ldr r3, [r4] 573 029c 0028 cmp r0, #0 574 029e 3FF4C3AE beq .L54 575 02a2 0127 movs r7, #1 ARM GAS /tmp/ccMJUeZm.s page 11 576 02a4 C0E6 b .L54 577 .L84: 578 02a6 0C4A ldr r2, .L160+4 579 02a8 136F ldr r3, [r2, #112] 580 02aa 23F48033 bic r3, r3, #65536 581 02ae 2343 orrs r3, r3, r4 582 02b0 1367 str r3, [r2, #112] 583 02b2 5369 ldr r3, [r2, #20] 584 02b4 43F40033 orr r3, r3, #131072 585 02b8 4FF47A70 mov r0, #1000 586 02bc 5361 str r3, [r2, #20] 587 02be FFF7FEFF bl FLASH_WaitForLastOperation 588 02c2 0028 cmp r0, #0 589 02c4 3FF4BAAE beq .L83 590 02c8 ACE7 b .L85 591 .L86: 592 02ca 0227 movs r7, #2 593 02cc 3846 mov r0, r7 594 02ce BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 595 .L161: 596 02d2 00BF .align 2 597 .L160: 598 02d4 00000000 .word pFlash 599 02d8 00200240 .word 1073881088 600 02dc 00C0FFFF .word -16384 601 .L88: 602 02e0 1A46 mov r2, r3 603 02e2 4FF48051 mov r1, #4096 604 02e6 F7E6 b .L59 605 .L52: 606 02e8 B8F1010F cmp r8, #1 607 02ec 85D1 bne .L53 608 02ee 024B ldr r3, .L162 609 02f0 47EA0947 orr r7, r7, r9, lsl #16 610 02f4 1F63 str r7, [r3, #48] 611 02f6 80E7 b .L53 612 .L163: 613 .align 2 614 .L162: 615 02f8 00200240 .word 1073881088 617 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits 618 .align 1 619 .p2align 2,,3 620 .global HAL_FLASHEx_OBGetConfig 621 .syntax unified 622 .thumb 623 .thumb_func 624 .fpu fpv4-sp-d16 626 HAL_FLASHEx_OBGetConfig: 627 @ args = 0, pretend = 0, frame = 0 628 @ frame_needed = 0, uses_anonymous_args = 0 629 @ link register save eliminated. 630 0000 4368 ldr r3, [r0, #4] 631 0002 012B cmp r3, #1 632 0004 10B4 push {r4} 633 0006 3BD9 bls .L176 634 0008 0622 movs r2, #6 ARM GAS /tmp/ccMJUeZm.s page 12 635 .L165: 636 000a 284B ldr r3, .L177 637 000c 1B6A ldr r3, [r3, #32] 638 000e DBB2 uxtb r3, r3 639 0010 AA2B cmp r3, #170 640 0012 02D0 beq .L167 641 0014 CC2B cmp r3, #204 642 0016 18BF it ne 643 0018 BB23 movne r3, #187 644 .L167: 645 001a 2449 ldr r1, .L177 646 001c 0361 str r3, [r0, #16] 647 001e 0B6A ldr r3, [r1, #32] 648 0020 C469 ldr r4, [r0, #28] 649 0022 23F0FF03 bic r3, r3, #255 650 0026 012C cmp r4, #1 651 0028 8361 str r3, [r0, #24] 652 002a 14D1 bne .L168 653 002c 4C6A ldr r4, [r1, #36] 654 002e 204B ldr r3, .L177+4 655 0030 03EAC404 and r4, r3, r4, lsl #3 656 0034 04F10064 add r4, r4, #134217728 657 0038 0462 str r4, [r0, #32] 658 003a 8C6A ldr r4, [r1, #40] 659 003c 03EAC403 and r3, r3, r4, lsl #3 660 0040 03F10063 add r3, r3, #134217728 661 0044 4362 str r3, [r0, #36] 662 0046 8B6A ldr r3, [r1, #40] 663 0048 03F00043 and r3, r3, #-2147483648 664 004c 43F00103 orr r3, r3, #1 665 0050 42F00802 orr r2, r2, #8 666 0054 C361 str r3, [r0, #28] 667 .L168: 668 0056 42F01003 orr r3, r2, #16 669 005a 1449 ldr r1, .L177 670 005c 0360 str r3, [r0] 671 005e 0B6F ldr r3, [r1, #112] 672 0060 C46A ldr r4, [r0, #44] 673 0062 03F48033 and r3, r3, #65536 674 0066 012C cmp r4, #1 675 0068 8362 str r3, [r0, #40] 676 006a 06D1 bne .L164 677 006c 42F03002 orr r2, r2, #48 678 0070 0260 str r2, [r0] 679 0072 0B6F ldr r3, [r1, #112] 680 0074 03F07F03 and r3, r3, #127 681 0078 0363 str r3, [r0, #48] 682 .L164: 683 007a 5DF8044B ldr r4, [sp], #4 684 007e 7047 bx lr 685 .L176: 686 0080 0722 movs r2, #7 687 0082 0A49 ldr r1, .L177 688 0084 0260 str r2, [r0] 689 0086 43B9 cbnz r3, .L166 690 0088 CB6A ldr r3, [r1, #44] 691 008a 03F03F03 and r3, r3, #63 ARM GAS /tmp/ccMJUeZm.s page 13 692 008e 8360 str r3, [r0, #8] 693 0090 CB6A ldr r3, [r1, #44] 694 0092 C3F30543 ubfx r3, r3, #16, #6 695 0096 C360 str r3, [r0, #12] 696 0098 B7E7 b .L165 697 .L166: 698 009a 0B6B ldr r3, [r1, #48] 699 009c 03F03F03 and r3, r3, #63 700 00a0 8360 str r3, [r0, #8] 701 00a2 0B6B ldr r3, [r1, #48] 702 00a4 C3F30543 ubfx r3, r3, #16, #6 703 00a8 C360 str r3, [r0, #12] 704 00aa AEE7 b .L165 705 .L178: 706 .align 2 707 .L177: 708 00ac 00200240 .word 1073881088 709 00b0 F8FF0100 .word 131064 711 .section .text.HAL_FLASHEx_EnableSecMemProtection,"ax",%progbits 712 .align 1 713 .p2align 2,,3 714 .global HAL_FLASHEx_EnableSecMemProtection 715 .syntax unified 716 .thumb 717 .thumb_func 718 .fpu fpv4-sp-d16 720 HAL_FLASHEx_EnableSecMemProtection: 721 @ args = 0, pretend = 0, frame = 0 722 @ frame_needed = 0, uses_anonymous_args = 0 723 @ link register save eliminated. 724 0000 034A ldr r2, .L180 725 0002 5369 ldr r3, [r2, #20] 726 0004 43F08053 orr r3, r3, #268435456 727 0008 0020 movs r0, #0 728 000a 5361 str r3, [r2, #20] 729 000c 7047 bx lr 730 .L181: 731 000e 00BF .align 2 732 .L180: 733 0010 00200240 .word 1073881088 735 .section .text.HAL_FLASHEx_EnableDebugger,"ax",%progbits 736 .align 1 737 .p2align 2,,3 738 .global HAL_FLASHEx_EnableDebugger 739 .syntax unified 740 .thumb 741 .thumb_func 742 .fpu fpv4-sp-d16 744 HAL_FLASHEx_EnableDebugger: 745 @ args = 0, pretend = 0, frame = 0 746 @ frame_needed = 0, uses_anonymous_args = 0 747 @ link register save eliminated. 748 0000 024A ldr r2, .L183 749 0002 1368 ldr r3, [r2] 750 0004 43F48023 orr r3, r3, #262144 751 0008 1360 str r3, [r2] 752 000a 7047 bx lr ARM GAS /tmp/ccMJUeZm.s page 14 753 .L184: 754 .align 2 755 .L183: 756 000c 00200240 .word 1073881088 758 .section .text.HAL_FLASHEx_DisableDebugger,"ax",%progbits 759 .align 1 760 .p2align 2,,3 761 .global HAL_FLASHEx_DisableDebugger 762 .syntax unified 763 .thumb 764 .thumb_func 765 .fpu fpv4-sp-d16 767 HAL_FLASHEx_DisableDebugger: 768 @ args = 0, pretend = 0, frame = 0 769 @ frame_needed = 0, uses_anonymous_args = 0 770 @ link register save eliminated. 771 0000 024A ldr r2, .L186 772 0002 1368 ldr r3, [r2] 773 0004 23F48023 bic r3, r3, #262144 774 0008 1360 str r3, [r2] 775 000a 7047 bx lr 776 .L187: 777 .align 2 778 .L186: 779 000c 00200240 .word 1073881088 781 .section .text.FLASH_PageErase,"ax",%progbits 782 .align 1 783 .p2align 2,,3 784 .global FLASH_PageErase 785 .syntax unified 786 .thumb 787 .thumb_func 788 .fpu fpv4-sp-d16 790 FLASH_PageErase: 791 @ args = 0, pretend = 0, frame = 0 792 @ frame_needed = 0, uses_anonymous_args = 0 793 @ link register save eliminated. 794 0000 084B ldr r3, .L189 795 0002 5A69 ldr r2, [r3, #20] 796 0004 C000 lsls r0, r0, #3 797 0006 22F4FC72 bic r2, r2, #504 798 000a 00F4FF60 and r0, r0, #2040 799 000e 1043 orrs r0, r0, r2 800 0010 5861 str r0, [r3, #20] 801 0012 5A69 ldr r2, [r3, #20] 802 0014 42F00202 orr r2, r2, #2 803 0018 5A61 str r2, [r3, #20] 804 001a 5A69 ldr r2, [r3, #20] 805 001c 42F48032 orr r2, r2, #65536 806 0020 5A61 str r2, [r3, #20] 807 0022 7047 bx lr 808 .L190: 809 .align 2 810 .L189: 811 0024 00200240 .word 1073881088 813 .section .text.FLASH_FlushCaches,"ax",%progbits 814 .align 1 ARM GAS /tmp/ccMJUeZm.s page 15 815 .p2align 2,,3 816 .global FLASH_FlushCaches 817 .syntax unified 818 .thumb 819 .thumb_func 820 .fpu fpv4-sp-d16 822 FLASH_FlushCaches: 823 @ args = 0, pretend = 0, frame = 0 824 @ frame_needed = 0, uses_anonymous_args = 0 825 @ link register save eliminated. 826 0000 1549 ldr r1, .L194 827 0002 0B7F ldrb r3, [r1, #28] @ zero_extendqisi2 828 0004 03F0FD02 and r2, r3, #253 829 0008 012A cmp r2, #1 830 000a DBB2 uxtb r3, r3 831 000c 10D1 bne .L192 832 000e 134A ldr r2, .L194+4 833 0010 1068 ldr r0, [r2] 834 0012 20F40070 bic r0, r0, #512 835 0016 1060 str r0, [r2] 836 0018 1068 ldr r0, [r2] 837 001a 40F40060 orr r0, r0, #2048 838 001e 1060 str r0, [r2] 839 0020 1068 ldr r0, [r2] 840 0022 20F40060 bic r0, r0, #2048 841 0026 1060 str r0, [r2] 842 0028 1068 ldr r0, [r2] 843 002a 40F40070 orr r0, r0, #512 844 002e 1060 str r0, [r2] 845 .L192: 846 0030 023B subs r3, r3, #2 847 0032 012B cmp r3, #1 848 0034 0CD8 bhi .L193 849 0036 094B ldr r3, .L194+4 850 0038 1A68 ldr r2, [r3] 851 003a 42F48052 orr r2, r2, #4096 852 003e 1A60 str r2, [r3] 853 0040 1A68 ldr r2, [r3] 854 0042 22F48052 bic r2, r2, #4096 855 0046 1A60 str r2, [r3] 856 0048 1A68 ldr r2, [r3] 857 004a 42F48062 orr r2, r2, #1024 858 004e 1A60 str r2, [r3] 859 .L193: 860 0050 0023 movs r3, #0 861 0052 0B77 strb r3, [r1, #28] 862 0054 7047 bx lr 863 .L195: 864 0056 00BF .align 2 865 .L194: 866 0058 00000000 .word pFlash 867 005c 00200240 .word 1073881088 869 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)" ARM GAS /tmp/ccMJUeZm.s page 16 DEFINED SYMBOLS *ABS*:0000000000000000 stm32g4xx_hal_flash_ex.c /tmp/ccMJUeZm.s:16 .text.HAL_FLASHEx_Erase:0000000000000000 $t /tmp/ccMJUeZm.s:25 .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase /tmp/ccMJUeZm.s:179 .text.HAL_FLASHEx_Erase:0000000000000154 $d /tmp/ccMJUeZm.s:183 .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t /tmp/ccMJUeZm.s:191 .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT /tmp/ccMJUeZm.s:280 .text.HAL_FLASHEx_Erase_IT:00000000000000b4 $d /tmp/ccMJUeZm.s:284 .text.HAL_FLASHEx_OBProgram:0000000000000000 $t /tmp/ccMJUeZm.s:292 .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram /tmp/ccMJUeZm.s:598 .text.HAL_FLASHEx_OBProgram:00000000000002d4 $d /tmp/ccMJUeZm.s:602 .text.HAL_FLASHEx_OBProgram:00000000000002e0 $t /tmp/ccMJUeZm.s:615 .text.HAL_FLASHEx_OBProgram:00000000000002f8 $d /tmp/ccMJUeZm.s:618 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t /tmp/ccMJUeZm.s:626 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig /tmp/ccMJUeZm.s:708 .text.HAL_FLASHEx_OBGetConfig:00000000000000ac $d /tmp/ccMJUeZm.s:712 .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000000 $t /tmp/ccMJUeZm.s:720 .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000000 HAL_FLASHEx_EnableSecMemProtection /tmp/ccMJUeZm.s:733 .text.HAL_FLASHEx_EnableSecMemProtection:0000000000000010 $d /tmp/ccMJUeZm.s:736 .text.HAL_FLASHEx_EnableDebugger:0000000000000000 $t /tmp/ccMJUeZm.s:744 .text.HAL_FLASHEx_EnableDebugger:0000000000000000 HAL_FLASHEx_EnableDebugger /tmp/ccMJUeZm.s:756 .text.HAL_FLASHEx_EnableDebugger:000000000000000c $d /tmp/ccMJUeZm.s:759 .text.HAL_FLASHEx_DisableDebugger:0000000000000000 $t /tmp/ccMJUeZm.s:767 .text.HAL_FLASHEx_DisableDebugger:0000000000000000 HAL_FLASHEx_DisableDebugger /tmp/ccMJUeZm.s:779 .text.HAL_FLASHEx_DisableDebugger:000000000000000c $d /tmp/ccMJUeZm.s:782 .text.FLASH_PageErase:0000000000000000 $t /tmp/ccMJUeZm.s:790 .text.FLASH_PageErase:0000000000000000 FLASH_PageErase /tmp/ccMJUeZm.s:811 .text.FLASH_PageErase:0000000000000024 $d /tmp/ccMJUeZm.s:814 .text.FLASH_FlushCaches:0000000000000000 $t /tmp/ccMJUeZm.s:822 .text.FLASH_FlushCaches:0000000000000000 FLASH_FlushCaches /tmp/ccMJUeZm.s:866 .text.FLASH_FlushCaches:0000000000000058 $d UNDEFINED SYMBOLS FLASH_WaitForLastOperation pFlash