📄 debug.cod
字号:
00004 |$L14011|
; 420 : //
; 421 : // txfe see if the tx fifo is empty
; 422 : //
; 423 : while ((*UART3_FR & FR_TXFE) != FR_TXFE)
00004 e59f0020 ldr r0, [pc, #0x20]
00008 e5900000 ldr r0, [r0]
0000c e2001080 and r1, r0, #0x80
00010 e3510080 cmp r1, #0x80
00014 1afffffa bne |$L14011|
; 424 : /* - do nothing until fifo is empty; ie character is gone */
; 425 : ;
; 426 :
; 427 : *UART3_DR = (int)ch;
00018 e3a0120b mov r1, #0xB, 4
0001c e20200ff and r0, r2, #0xFF
00020 e381188e orr r1, r1, #0x8E, 16
00024 e5810000 str r0, [r1]
; 428 : }
00028 e12fff1e bx lr
0002c |$L14260|
0002c b08e0018 DCD 0xb08e0018
00030 |$M14257|
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
|$T14269| DCD |UART1_Read|
DCD 0x40001000
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART1_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_Read| PROC
; 439 : {
00000 |$M14267|
; 440 : int nReadChar;
; 441 : ULONG ulFlagRegister;
; 442 : ULONG ulStatusRegister;
; 443 :
; 444 : ulFlagRegister = *UART1_FR;
00000 e59f0034 ldr r0, [pc, #0x34]
; 445 : ulStatusRegister = *UART1_SR;
00004 e59f202c ldr r2, [pc, #0x2C]
00008 e5901000 ldr r1, [r0]
0000c e5920000 ldr r0, [r2]
; 446 :
; 447 : if(ulStatusRegister & SR_OE)
00010 e3100008 tst r0, #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 03a0020b moveq r0, #0xB, 4
00024 03800723 orreq r0, r0, #0x23, 14
00028 05900000 ldreq r0, [r0]
0002c 020000ff andeq r0, r0, #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 |$L14271|
00038 b08c0004 DCD 0xb08c0004
0003c b08c0018 DCD 0xb08c0018
00040 |$M14268|
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
|$T14280| DCD |UART2_Read|
DCD 0x40001000
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART2_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_Read| PROC
; 470 : {
00000 |$M14278|
; 471 : int nReadChar;
; 472 : ULONG ulFlagRegister;
; 473 : ULONG ulStatusRegister;
; 474 :
; 475 : ulFlagRegister = *UART2_FR;
00000 e59f0034 ldr r0, [pc, #0x34]
; 476 : ulStatusRegister = *UART2_SR;
00004 e59f202c ldr r2, [pc, #0x2C]
00008 e5901000 ldr r1, [r0]
0000c e5920000 ldr r0, [r2]
; 477 :
; 478 : if(ulStatusRegister & SR_OE)
00010 e3100008 tst r0, #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 03a0020b moveq r0, #0xB, 4
00024 0380088d orreq r0, r0, #0x8D, 16
00028 05900000 ldreq r0, [r0]
0002c 020000ff andeq r0, r0, #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 |$L14282|
00038 b08d0004 DCD 0xb08d0004
0003c b08d0018 DCD 0xb08d0018
00040 |$M14279|
ENDP ; |UART2_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
|$T14291| DCD |UART3_Read|
DCD 0x40001000
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_Read| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_Read| PROC
; 501 : {
00000 |$M14289|
; 502 : int nReadChar;
; 503 : ULONG ulFlagRegister;
; 504 : ULONG ulStatusRegister;
; 505 :
; 506 : ulFlagRegister = *UART1_FR;
00000 e59f0034 ldr r0, [pc, #0x34]
; 507 : ulStatusRegister = *UART1_SR;
00004 e59f202c ldr r2, [pc, #0x2C]
00008 e5901000 ldr r1, [r0]
0000c e5920000 ldr r0, [r2]
; 508 :
; 509 : if(ulStatusRegister & SR_OE)
00010 e3100008 tst r0, #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 03a0020b moveq r0, #0xB, 4
00024 0380088e orreq r0, r0, #0x8E, 16
00028 05900000 ldreq r0, [r0]
0002c 020000ff andeq r0, r0, #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 |$L14293|
00038 b08c0004 DCD 0xb08c0004
0003c b08c0018 DCD 0xb08c0018
00040 |$M14290|
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
|$T14298| DCD |UART1_ClearError|
DCD 0x40000d00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART1_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART1_ClearError| PROC
; 533 : {
00000 |$M14296|
; 534 : //
; 535 : // Partial stop and disable this uart
; 536 : //
; 537 : *UART1_CR = 0;
00000 e59f3028 ldr r3, [pc, #0x28]
00004 e3a02000 mov r2, #0
; 538 :
; 539 : //
; 540 : // Clear status bits.
; 541 : //
; 542 : *UART1_SR = 0;
00008 e59f001c ldr r0, [pc, #0x1C]
0000c e5832000 str r2, [r3]
; 543 :
; 544 : //
; 545 : // partial startup,clr interrupts
; 546 : //
; 547 : *UART1_IIR = 0;
00010 e59f1010 ldr r1, [pc, #0x10]
00014 e5802000 str r2, [r0]
; 548 :
; 549 : //
; 550 : // enable this uart
; 551 : //
; 552 : *UART1_CR = CR_UARTE;
00018 e3a00001 mov r0, #1
0001c e5812000 str r2, [r1]
00020 e5830000 str r0, [r3]
; 553 : }
00024 e12fff1e bx lr
00028 |$L14300|
00028 b08c001c DCD 0xb08c001c
0002c b08c0004 DCD 0xb08c0004
00030 b08c0014 DCD 0xb08c0014
00034 |$M14297|
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
|$T14305| DCD |UART2_ClearError|
DCD 0x40000d00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART2_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART2_ClearError| PROC
; 562 : {
00000 |$M14303|
; 563 : //
; 564 : // Partial stop and disable this uart
; 565 : //
; 566 : *UART2_CR = 0;
00000 e59f3028 ldr r3, [pc, #0x28]
00004 e3a02000 mov r2, #0
; 567 :
; 568 : //
; 569 : // Clear status bits.
; 570 : //
; 571 : *UART2_SR = 0;
00008 e59f001c ldr r0, [pc, #0x1C]
0000c e5832000 str r2, [r3]
; 572 :
; 573 : //
; 574 : // partial startup,clr interrupts
; 575 : //
; 576 : *UART2_IIR = 0;
00010 e59f1010 ldr r1, [pc, #0x10]
00014 e5802000 str r2, [r0]
; 577 :
; 578 : //
; 579 : // enable this uart
; 580 : //
; 581 : *UART2_CR = CR_UARTE;
00018 e3a00001 mov r0, #1
0001c e5812000 str r2, [r1]
00020 e5830000 str r0, [r3]
; 582 : }
00024 e12fff1e bx lr
00028 |$L14307|
00028 b08d001c DCD 0xb08d001c
0002c b08d0004 DCD 0xb08d0004
00030 b08d0014 DCD 0xb08d0014
00034 |$M14304|
ENDP ; |UART2_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
|$T14312| DCD |UART3_ClearError|
DCD 0x40000d00
; Function compile flags: /Ogsy
00000 AREA |.text| { |UART3_ClearError| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |UART3_ClearError| PROC
; 592 : {
00000 |$M14310|
; 593 : //
; 594 : // Partial stop and disable this uart
; 595 : //
; 596 : *UART3_CR = 0;
00000 e59f3028 ldr r3, [pc, #0x28]
00004 e3a02000 mov r2, #0
; 597 :
; 598 : //
; 599 : // Clear status bits.
; 600 : //
; 601 : *UART3_SR = 0;
00008 e59f001c ldr r0, [pc, #0x1C]
0000c e5832000 str r2, [r3]
; 602 :
; 603 : //
; 604 : // partial startup,clr interrupts
; 605 : //
; 606 : *UART3_IIR = 0;
00010 e59f1010 ldr r1, [pc, #0x10]
00014 e5802000 str r2, [r0]
; 607 :
; 608 : //
; 609 : // enable this uart
; 610 : //
; 611 : *UART3_CR = CR_UARTE;
00018 e3a00001 mov r0, #1
0001c e5812000 str r2, [r1]
00020 e5830000 str r0, [r3]
; 612 : }
00024 e12fff1e bx lr
00028 |$L14314|
00028 b08e001c DCD 0xb08e001c
0002c b08e0004 DCD 0xb08e0004
00030 b08e0014 DCD 0xb08e0014
00034 |$M14311|
ENDP ; |UART3_ClearError|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -