📄 debug.cod
字号:
0000c e3530080 cmp r3, #0x80
00010 1afffffb bne |$L15427|
; 424 : /* - do nothing until fifo is empty; ie character is gone */
; 425 : ;
; 426 :
; 427 : *UART3_DR = (int)ch;
00014 e3a0320b mov r3, #0xB, 4
00018 e383388e orr r3, r3, #0x8E, 16
0001c e5830000 str r0, [r3]
; 428 : }
00020 e12fff1e bx lr
00024 |$L15617|
00024 b08e0018 DCD 0xb08e0018
00028 |$M15613|
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
|$T15628| DCD |$L15627|
DCD 0x40001000
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART1_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_Read| PROC
; 439 : {
00000 |$L15627|
00000 |$M15625|
; 440 : int nReadChar;
; 441 : ULONG ulFlagRegister;
; 442 : ULONG ulStatusRegister;
; 443 :
; 444 : ulFlagRegister = *UART1_FR;
00000 e59f3034 ldr r3, [pc, #0x34]
; 445 : ulStatusRegister = *UART1_SR;
00004 e59f202c ldr r2, [pc, #0x2C]
00008 e5931000 ldr r1, [r3]
0000c e5923000 ldr r3, [r2]
; 446 :
; 447 : if(ulStatusRegister & SR_OE)
00010 e3130008 tst r3, #8
; 448 : {
; 449 : nReadChar = OEM_DEBUG_COM_ERROR;
00014 13e00001 mvnne r0, #1
; 458 : }
; 459 :
; 460 : return nReadChar;
; 461 : }
00018 112fff1e bxne lr
; 450 : }
; 451 : else if(!(ulFlagRegister & FR_RXFE))
0001c e3110010 tst r1, #0x10
; 452 : {
; 453 : nReadChar = (*UART1_DR & 0xFF);
00020 03a0320b moveq r3, #0xB, 4
00024 03833723 orreq r3, r3, #0x23, 14
00028 05933000 ldreq r3, [r3]
0002c 020300ff andeq r0, r3, #0xFF
; 454 : }
; 455 : else
; 456 : {
; 457 : nReadChar = OEM_DEBUG_READ_NODATA;
00030 13e00000 mvnne r0, #0
; 458 : }
; 459 :
; 460 : return nReadChar;
; 461 : }
00034 e12fff1e bx lr
00038 |$L15630|
00038 b08c0004 DCD 0xb08c0004
0003c b08c0018 DCD 0xb08c0018
00040 |$M15626|
ENDP ; |UART1_Read|
EXPORT |UART2_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
|$T15641| DCD |$L15640|
DCD 0x40001000
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART2_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_Read| PROC
; 470 : {
00000 |$L15640|
00000 |$M15638|
; 471 : int nReadChar;
; 472 : ULONG ulFlagRegister;
; 473 : ULONG ulStatusRegister;
; 474 :
; 475 : ulFlagRegister = *UART2_FR;
00000 e59f3034 ldr r3, [pc, #0x34]
; 476 : ulStatusRegister = *UART2_SR;
00004 e59f202c ldr r2, [pc, #0x2C]
00008 e5931000 ldr r1, [r3]
0000c e5923000 ldr r3, [r2]
; 477 :
; 478 : if(ulStatusRegister & SR_OE)
00010 e3130008 tst r3, #8
; 479 : {
; 480 : nReadChar = OEM_DEBUG_COM_ERROR;
00014 13e00001 mvnne r0, #1
; 489 : }
; 490 :
; 491 : return nReadChar;
; 492 : }
00018 112fff1e bxne lr
; 481 : }
; 482 : else if(!(ulFlagRegister & FR_RXFE))
0001c e3110010 tst r1, #0x10
; 483 : {
; 484 : nReadChar = (*UART2_DR & 0xFF);
00020 03a0320b moveq r3, #0xB, 4
00024 0383388d orreq r3, r3, #0x8D, 16
00028 05933000 ldreq r3, [r3]
0002c 020300ff andeq r0, r3, #0xFF
; 485 : }
; 486 : else
; 487 : {
; 488 : nReadChar = OEM_DEBUG_READ_NODATA;
00030 13e00000 mvnne r0, #0
; 489 : }
; 490 :
; 491 : return nReadChar;
; 492 : }
00034 e12fff1e bx lr
00038 |$L15643|
00038 b08d0004 DCD 0xb08d0004
0003c b08d0018 DCD 0xb08d0018
00040 |$M15639|
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
|$T15654| DCD |$L15653|
DCD 0x40001000
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_Read| PROC
; 501 : {
00000 |$L15653|
00000 |$M15651|
; 502 : int nReadChar;
; 503 : ULONG ulFlagRegister;
; 504 : ULONG ulStatusRegister;
; 505 :
; 506 : ulFlagRegister = *UART1_FR;
00000 e59f3034 ldr r3, [pc, #0x34]
; 507 : ulStatusRegister = *UART1_SR;
00004 e59f202c ldr r2, [pc, #0x2C]
00008 e5931000 ldr r1, [r3]
0000c e5923000 ldr r3, [r2]
; 508 :
; 509 : if(ulStatusRegister & SR_OE)
00010 e3130008 tst r3, #8
; 510 : {
; 511 : nReadChar = OEM_DEBUG_COM_ERROR;
00014 13e00001 mvnne r0, #1
; 520 : }
; 521 :
; 522 : return nReadChar;
; 523 : }
00018 112fff1e bxne lr
; 512 : }
; 513 : else if(!(ulFlagRegister & FR_RXFE))
0001c e3110010 tst r1, #0x10
; 514 : {
; 515 : nReadChar = (*UART3_DR & 0xFF);
00020 03a0320b moveq r3, #0xB, 4
00024 0383388e orreq r3, r3, #0x8E, 16
00028 05933000 ldreq r3, [r3]
0002c 020300ff andeq r0, r3, #0xFF
; 516 : }
; 517 : else
; 518 : {
; 519 : nReadChar = OEM_DEBUG_READ_NODATA;
00030 13e00000 mvnne r0, #0
; 520 : }
; 521 :
; 522 : return nReadChar;
; 523 : }
00034 e12fff1e bx lr
00038 |$L15656|
00038 b08c0004 DCD 0xb08c0004
0003c b08c0018 DCD 0xb08c0018
00040 |$M15652|
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
|$T15662| DCD |$L15661|
DCD 0x40000d00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART1_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_ClearError| PROC
; 533 : {
00000 |$L15661|
00000 |$M15659|
; 534 : //
; 535 : // Partial stop and disable this uart
; 536 : //
; 537 : *UART1_CR = 0;
; 538 :
; 539 : //
; 540 : // Clear status bits.
; 541 : //
; 542 : *UART1_SR = 0;
; 543 :
; 544 : //
; 545 : // partial startup,clr interrupts
; 546 : //
; 547 : *UART1_IIR = 0;
00000 e59f1028 ldr r1, [pc, #0x28]
00004 e59f3020 ldr r3, [pc, #0x20]
00008 e59f2018 ldr r2, [pc, #0x18]
0000c e3a00000 mov r0, #0
00010 e5810000 str r0, [r1]
00014 e5830000 str r0, [r3]
; 548 :
; 549 : //
; 550 : // enable this uart
; 551 : //
; 552 : *UART1_CR = CR_UARTE;
00018 e3a03001 mov r3, #1
0001c e5820000 str r0, [r2]
00020 e5813000 str r3, [r1]
; 553 : }
00024 e12fff1e bx lr
00028 |$L15664|
00028 b08c001c DCD 0xb08c001c
0002c b08c0004 DCD 0xb08c0004
00030 b08c0014 DCD 0xb08c0014
00034 |$M15660|
ENDP ; |UART1_ClearError|
EXPORT |UART2_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
|$T15670| DCD |$L15669|
DCD 0x40000d00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART2_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_ClearError| PROC
; 562 : {
00000 |$L15669|
00000 |$M15667|
; 563 : //
; 564 : // Partial stop and disable this uart
; 565 : //
; 566 : *UART2_CR = 0;
; 567 :
; 568 : //
; 569 : // Clear status bits.
; 570 : //
; 571 : *UART2_SR = 0;
; 572 :
; 573 : //
; 574 : // partial startup,clr interrupts
; 575 : //
; 576 : *UART2_IIR = 0;
00000 e59f1028 ldr r1, [pc, #0x28]
00004 e59f3020 ldr r3, [pc, #0x20]
00008 e59f2018 ldr r2, [pc, #0x18]
0000c e3a00000 mov r0, #0
00010 e5810000 str r0, [r1]
00014 e5830000 str r0, [r3]
; 577 :
; 578 : //
; 579 : // enable this uart
; 580 : //
; 581 : *UART2_CR = CR_UARTE;
00018 e3a03001 mov r3, #1
0001c e5820000 str r0, [r2]
00020 e5813000 str r3, [r1]
; 582 : }
00024 e12fff1e bx lr
00028 |$L15672|
00028 b08d001c DCD 0xb08d001c
0002c b08d0004 DCD 0xb08d0004
00030 b08d0014 DCD 0xb08d0014
00034 |$M15668|
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
|$T15678| DCD |$L15677|
DCD 0x40000d00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_ClearError| PROC
; 592 : {
00000 |$L15677|
00000 |$M15675|
; 593 : //
; 594 : // Partial stop and disable this uart
; 595 : //
; 596 : *UART3_CR = 0;
; 597 :
; 598 : //
; 599 : // Clear status bits.
; 600 : //
; 601 : *UART3_SR = 0;
; 602 :
; 603 : //
; 604 : // partial startup,clr interrupts
; 605 : //
; 606 : *UART3_IIR = 0;
00000 e59f1028 ldr r1, [pc, #0x28]
00004 e59f3020 ldr r3, [pc, #0x20]
00008 e59f2018 ldr r2, [pc, #0x18]
0000c e3a00000 mov r0, #0
00010 e5810000 str r0, [r1]
00014 e5830000 str r0, [r3]
; 607 :
; 608 : //
; 609 : // enable this uart
; 610 : //
; 611 : *UART3_CR = CR_UARTE;
00018 e3a03001 mov r3, #1
0001c e5820000 str r0, [r2]
00020 e5813000 str r3, [r1]
; 612 : }
00024 e12fff1e bx lr
00028 |$L15680|
00028 b08e001c DCD 0xb08e001c
0002c b08e0004 DCD 0xb08e0004
00030 b08e0014 DCD 0xb08e0014
00034 |$M15676|
ENDP ; |UART3_ClearError|
EXPORT |OEMWriteDebugByte|
00000 AREA |.text| { |OEMWriteDebugByte| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$OEMWriteDebugByte|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMWriteDebugByte| } ; comdat associative
|$T15693| DCD |$L15692|
DCD 0x40000a00
; Function compile flags: /Ogsy
00000 AREA |.text| { |OEMWriteDebugByte| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |OEMWriteDebugByte| PROC
; 152 : {
00000 |$L15692|
00000 |$M15690|
00000 e59f201c ldr r2, [pc, #0x1C]
; 153 : UartWrite(ch);
00004 |$L15685|
00004 e5923000 ldr r3, [r2]
00008 e2033080 and r3, r3, #0x80
0000c e3530080 cmp r3, #0x80
00010 1afffffb bne |$L15685|
00014 e3a0320b mov r3, #0xB, 4
00018 e383388d orr r3, r3, #0x8D, 16
0001c e5830000 str r0, [r3]
; 154 : }
00020 e12fff1e bx lr
00024 |$L15695|
00024 b08d0018 DCD 0xb08d0018
00028 |$M15691|
ENDP ; |OEMWriteDebugByte|
EXPORT |OEMReadDebugByte|
00000 AREA |.text| { |OEMReadDebugByte| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$OEMReadDebugByte|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMReadDebugByte| } ; comdat associative
|$T15703| DCD |$L15702|
DCD 0x40000401
; Function compile flags: /Ogsy
00000 AREA |.text| { |OEMReadDebugByte| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |OEMReadDebugByte| PROC
; 167 : {
00000 |$L15702|
00000 e52de004 str lr, [sp, #-4]!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -