📄 debug.cod
字号:
0000c |$M38559|
0000c |$L38315|
; 420 : //
; 421 : // txfe see if the tx fifo is empty
; 422 : //
; 423 : while ((*UART3_FR & FR_TXFE) != FR_TXFE)
0000c e59f3028 ldr r3, [pc, #0x28]
00010 e5933000 ldr r3, [r3]
00014 e2033080 and r3, r3, #0x80
00018 e3530080 cmp r3, #0x80
0001c 0a000000 beq |$L38316|
; 424 : /* - do nothing until fifo is empty; ie character is gone */
; 425 : ;
00020 eafffff9 b |$L38315|
00024 |$L38316|
; 426 :
; 427 : *UART3_DR = (int)ch;
00024 e5dd2008 ldrb r2, [sp, #8]
00028 e3a03102 mov r3, #2, 2
0002c e383388e orr r3, r3, #0x8E, 16
00030 e5832000 str r2, [r3]
; 428 : }
00034 e89d6000 ldmia sp, {sp, lr}
00038 e12fff1e bx lr
0003c |$L38564|
0003c 808e0018 DCD 0x808e0018
00040 |$M38560|
ENDP ; |UART3_Write|
EXPORT |UART1_Read|
00000 AREA |.text| { |UART1_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART1_Read|, PDATA, SELECTION=5, ASSOC=|.text| { |UART1_Read| } ; comdat associative
|$T38571| DCD |$L38570|
DCD 0x40001f01
; Function compile flags: /Ods
00000 AREA |.text| { |UART1_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_Read| PROC
; 439 : {
00000 |$L38570|
00000 e24dd010 sub sp, sp, #0x10
00004 |$M38568|
; 440 : int nReadChar;
; 441 : ULONG ulFlagRegister;
; 442 : ULONG ulStatusRegister;
; 443 :
; 444 : ulFlagRegister = *UART1_FR;
00004 e59f306c ldr r3, [pc, #0x6C]
00008 e5933000 ldr r3, [r3]
0000c e58d3004 str r3, [sp, #4]
; 445 : ulStatusRegister = *UART1_SR;
00010 e59f305c ldr r3, [pc, #0x5C]
00014 e5933000 ldr r3, [r3]
00018 e58d3000 str r3, [sp]
; 446 :
; 447 : if(ulStatusRegister & SR_OE)
0001c e59d3000 ldr r3, [sp]
00020 e3130008 tst r3, #8
00024 0a000002 beq |$L38326|
; 448 : {
; 449 : nReadChar = OEM_DEBUG_COM_ERROR;
00028 e3e03001 mvn r3, #1
0002c e58d3008 str r3, [sp, #8]
; 450 : }
; 451 : else if(!(ulFlagRegister & FR_RXFE))
00030 ea00000a b |$L38327|
00034 |$L38326|
00034 e59d3004 ldr r3, [sp, #4]
00038 e3130010 tst r3, #0x10
0003c 1a000005 bne |$L38328|
; 452 : {
; 453 : nReadChar = (*UART1_DR & 0xFF);
00040 e3a03102 mov r3, #2, 2
00044 e3833723 orr r3, r3, #0x23, 14
00048 e5933000 ldr r3, [r3]
0004c e20330ff and r3, r3, #0xFF
00050 e58d3008 str r3, [sp, #8]
; 454 : }
; 455 : else
00054 ea000001 b |$L38330|
00058 |$L38328|
; 456 : {
; 457 : nReadChar = OEM_DEBUG_READ_NODATA;
00058 e3e03000 mvn r3, #0
0005c e58d3008 str r3, [sp, #8]
00060 |$L38330|
00060 |$L38327|
; 458 : }
; 459 :
; 460 : return nReadChar;
00060 e59d3008 ldr r3, [sp, #8]
00064 e58d300c str r3, [sp, #0xC]
00068 e59d000c ldr r0, [sp, #0xC]
; 461 : }
0006c e28dd010 add sp, sp, #0x10
00070 e12fff1e bx lr
00074 |$L38573|
00074 808c0004 DCD 0x808c0004
00078 808c0018 DCD 0x808c0018
0007c |$M38569|
ENDP ; |UART1_Read|
00000 AREA |.text| { |UART2_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART2_Read|, PDATA, SELECTION=5, ASSOC=|.text| { |UART2_Read| } ; comdat associative
|$T38580| DCD |$L38579|
DCD 0x40001f01
; Function compile flags: /Ods
00000 AREA |.text| { |UART2_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_Read| PROC
; 470 : {
00000 |$L38579|
00000 e24dd010 sub sp, sp, #0x10
00004 |$M38577|
; 471 : int nReadChar;
; 472 : ULONG ulFlagRegister;
; 473 : ULONG ulStatusRegister;
; 474 :
; 475 : ulFlagRegister = *UART2_FR;
00004 e59f306c ldr r3, [pc, #0x6C]
00008 e5933000 ldr r3, [r3]
0000c e58d3004 str r3, [sp, #4]
; 476 : ulStatusRegister = *UART2_SR;
00010 e59f305c ldr r3, [pc, #0x5C]
00014 e5933000 ldr r3, [r3]
00018 e58d3000 str r3, [sp]
; 477 :
; 478 : if(ulStatusRegister & SR_OE)
0001c e59d3000 ldr r3, [sp]
00020 e3130008 tst r3, #8
00024 0a000002 beq |$L38338|
; 479 : {
; 480 : nReadChar = OEM_DEBUG_COM_ERROR;
00028 e3e03001 mvn r3, #1
0002c e58d3008 str r3, [sp, #8]
; 481 : }
; 482 : else if(!(ulFlagRegister & FR_RXFE))
00030 ea00000a b |$L38339|
00034 |$L38338|
00034 e59d3004 ldr r3, [sp, #4]
00038 e3130010 tst r3, #0x10
0003c 1a000005 bne |$L38340|
; 483 : {
; 484 : nReadChar = (*UART2_DR & 0xFF);
00040 e3a03102 mov r3, #2, 2
00044 e383388d orr r3, r3, #0x8D, 16
00048 e5933000 ldr r3, [r3]
0004c e20330ff and r3, r3, #0xFF
00050 e58d3008 str r3, [sp, #8]
; 485 : }
; 486 : else
00054 ea000001 b |$L38342|
00058 |$L38340|
; 487 : {
; 488 : nReadChar = OEM_DEBUG_READ_NODATA;
00058 e3e03000 mvn r3, #0
0005c e58d3008 str r3, [sp, #8]
00060 |$L38342|
00060 |$L38339|
; 489 : }
; 490 :
; 491 : return nReadChar;
00060 e59d3008 ldr r3, [sp, #8]
00064 e58d300c str r3, [sp, #0xC]
00068 e59d000c ldr r0, [sp, #0xC]
; 492 : }
0006c e28dd010 add sp, sp, #0x10
00070 e12fff1e bx lr
00074 |$L38582|
00074 808d0004 DCD 0x808d0004
00078 808d0018 DCD 0x808d0018
0007c |$M38578|
ENDP ; |UART2_Read|
EXPORT |UART3_Read|
00000 AREA |.text| { |UART3_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART3_Read|, PDATA, SELECTION=5, ASSOC=|.text| { |UART3_Read| } ; comdat associative
|$T38589| DCD |$L38588|
DCD 0x40001f01
; Function compile flags: /Ods
00000 AREA |.text| { |UART3_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_Read| PROC
; 501 : {
00000 |$L38588|
00000 e24dd010 sub sp, sp, #0x10
00004 |$M38586|
; 502 : int nReadChar;
; 503 : ULONG ulFlagRegister;
; 504 : ULONG ulStatusRegister;
; 505 :
; 506 : ulFlagRegister = *UART1_FR;
00004 e59f306c ldr r3, [pc, #0x6C]
00008 e5933000 ldr r3, [r3]
0000c e58d3004 str r3, [sp, #4]
; 507 : ulStatusRegister = *UART1_SR;
00010 e59f305c ldr r3, [pc, #0x5C]
00014 e5933000 ldr r3, [r3]
00018 e58d3000 str r3, [sp]
; 508 :
; 509 : if(ulStatusRegister & SR_OE)
0001c e59d3000 ldr r3, [sp]
00020 e3130008 tst r3, #8
00024 0a000002 beq |$L38350|
; 510 : {
; 511 : nReadChar = OEM_DEBUG_COM_ERROR;
00028 e3e03001 mvn r3, #1
0002c e58d3008 str r3, [sp, #8]
; 512 : }
; 513 : else if(!(ulFlagRegister & FR_RXFE))
00030 ea00000a b |$L38351|
00034 |$L38350|
00034 e59d3004 ldr r3, [sp, #4]
00038 e3130010 tst r3, #0x10
0003c 1a000005 bne |$L38352|
; 514 : {
; 515 : nReadChar = (*UART3_DR & 0xFF);
00040 e3a03102 mov r3, #2, 2
00044 e383388e orr r3, r3, #0x8E, 16
00048 e5933000 ldr r3, [r3]
0004c e20330ff and r3, r3, #0xFF
00050 e58d3008 str r3, [sp, #8]
; 516 : }
; 517 : else
00054 ea000001 b |$L38354|
00058 |$L38352|
; 518 : {
; 519 : nReadChar = OEM_DEBUG_READ_NODATA;
00058 e3e03000 mvn r3, #0
0005c e58d3008 str r3, [sp, #8]
00060 |$L38354|
00060 |$L38351|
; 520 : }
; 521 :
; 522 : return nReadChar;
00060 e59d3008 ldr r3, [sp, #8]
00064 e58d300c str r3, [sp, #0xC]
00068 e59d000c ldr r0, [sp, #0xC]
; 523 : }
0006c e28dd010 add sp, sp, #0x10
00070 e12fff1e bx lr
00074 |$L38591|
00074 808c0004 DCD 0x808c0004
00078 808c0018 DCD 0x808c0018
0007c |$M38587|
ENDP ; |UART3_Read|
EXPORT |UART1_ClearError|
00000 AREA |.text| { |UART1_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART1_ClearError|, PDATA, SELECTION=5, ASSOC=|.text| { |UART1_ClearError| } ; comdat associative
|$T38597| DCD |$L38596|
DCD 0x40001000
; Function compile flags: /Ods
00000 AREA |.text| { |UART1_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_ClearError| PROC
; 533 : {
00000 |$L38596|
00000 |$M38594|
; 534 : //
; 535 : // Partial stop and disable this uart
; 536 : //
; 537 : *UART1_CR = 0;
00000 e59f202c ldr r2, [pc, #0x2C]
00004 e3a03000 mov r3, #0
00008 e5823000 str r3, [r2]
; 538 :
; 539 : //
; 540 : // Clear status bits.
; 541 : //
; 542 : *UART1_SR = 0;
0000c e59f2028 ldr r2, [pc, #0x28]
00010 e3a03000 mov r3, #0
00014 e5823000 str r3, [r2]
; 543 :
; 544 : //
; 545 : // partial startup,clr interrupts
; 546 : //
; 547 : *UART1_IIR = 0;
00018 e59f2018 ldr r2, [pc, #0x18]
0001c e3a03000 mov r3, #0
00020 e5823000 str r3, [r2]
; 548 :
; 549 : //
; 550 : // enable this uart
; 551 : //
; 552 : *UART1_CR = CR_UARTE;
00024 e59f2008 ldr r2, [pc, #8]
00028 e3a03001 mov r3, #1
0002c e5823000 str r3, [r2]
; 553 : }
00030 e12fff1e bx lr
00034 |$L38599|
00034 808c0014 DCD 0x808c0014
00038 808c001c DCD 0x808c001c
0003c 808c0004 DCD 0x808c0004
00040 |$M38595|
ENDP ; |UART1_ClearError|
00000 AREA |.text| { |UART2_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART2_ClearError|, PDATA, SELECTION=5, ASSOC=|.text| { |UART2_ClearError| } ; comdat associative
|$T38605| DCD |$L38604|
DCD 0x40001000
; Function compile flags: /Ods
00000 AREA |.text| { |UART2_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_ClearError| PROC
; 562 : {
00000 |$L38604|
00000 |$M38602|
; 563 : //
; 564 : // Partial stop and disable this uart
; 565 : //
; 566 : *UART2_CR = 0;
00000 e59f202c ldr r2, [pc, #0x2C]
00004 e3a03000 mov r3, #0
00008 e5823000 str r3, [r2]
; 567 :
; 568 : //
; 569 : // Clear status bits.
; 570 : //
; 571 : *UART2_SR = 0;
0000c e59f2028 ldr r2, [pc, #0x28]
00010 e3a03000 mov r3, #0
00014 e5823000 str r3, [r2]
; 572 :
; 573 : //
; 574 : // partial startup,clr interrupts
; 575 : //
; 576 : *UART2_IIR = 0;
00018 e59f2018 ldr r2, [pc, #0x18]
0001c e3a03000 mov r3, #0
00020 e5823000 str r3, [r2]
; 577 :
; 578 : //
; 579 : // enable this uart
; 580 : //
; 581 : *UART2_CR = CR_UARTE;
00024 e59f2008 ldr r2, [pc, #8]
00028 e3a03001 mov r3, #1
0002c e5823000 str r3, [r2]
; 582 : }
00030 e12fff1e bx lr
00034 |$L38607|
00034 808d0014 DCD 0x808d0014
00038 808d001c DCD 0x808d001c
0003c 808d0004 DCD 0x808d0004
00040 |$M38603|
ENDP ; |UART2_ClearError|
EXPORT |UART3_ClearError|
00000 AREA |.text| { |UART3_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$UART3_ClearError|, PDATA, SELECTION=5, ASSOC=|.text| { |UART3_ClearError| } ; comdat associative
|$T38613| DCD |$L38612|
DCD 0x40001000
; Function compile flags: /Ods
00000 AREA |.text| { |UART3_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_ClearError| PROC
; 592 : {
00000 |$L38612|
00000 |$M38610|
; 593 : //
; 594 : // Partial stop and disable this uart
; 595 : //
; 596 : *UART3_CR = 0;
00000 e59f202c ldr r2, [pc, #0x2C]
00004 e3a03000 mov r3, #0
00008 e5823000 str r3, [r2]
; 597 :
; 598 : //
; 599 : // Clear status bits.
; 600 : //
; 601 : *UART3_SR = 0;
0000c e59f2028 ldr r2, [pc, #0x28]
00010 e3a03000 mov r3, #0
00014 e5823000 str r3, [r2]
; 602 :
; 603 : //
; 604 : // partial startup,clr interrupts
; 605 : //
; 606 : *UART3_IIR = 0;
00018 e59f2018 ldr r2, [pc, #0x18]
0001c e3a03000 mov r3, #0
00020 e5823000 str r3, [r2]
; 607 :
; 608 : //
; 609 : // enable this uart
; 610 : //
; 611 : *UART3_CR = CR_UARTE;
00024 e59f2008 ldr r2, [pc, #8]
00028 e3a03001 mov r3, #1
0002c e5823000 str r3, [r2]
; 612 : }
00030 e12fff1e bx lr
00034 |$L38615|
00034 808e0014 DCD 0x808e0014
00038 808e001c DCD 0x808e001c
0003c 808e0004 DCD 0x808e0004
00040 |$M38611|
ENDP ; |UART3_ClearError|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -