📄 eeinfo.cod
字号:
; 371 : } while(ulCount < ulLength);
00130 e1560008 cmp r6, r8
00134 2a00000d bcs |$L14024|
00138 e3a02000 mov r2, #0
0013c eaffffe9 b |$L13899|
00140 |$L14021|
; 329 : {
; 330 : EdbgOutputDebugString("EEINFO: ReadEEWord 1rst Timeout.\r\n");
00140 e59f0040 ldr r0, [pc, #0x40]
00144 eb000000 bl EdbgOutputDebugString
00148 ea000005 b |$L14039|
0014c |$L14023|
; 366 : {
; 367 : EdbgOutputDebugString("EEINFO: ReadEEWord 2nd Timeout.\r\n");
0014c e59f0030 ldr r0, [pc, #0x30]
00150 eb000000 bl EdbgOutputDebugString
; 368 : EdbgOutputDebugString("EEINFO: Receive = 0x%x, Transmit = 0x%x.\r\n", ulCount, ulTransmitCount);
00154 e59f0024 ldr r0, [pc, #0x24]
00158 e1a02009 mov r2, r9
0015c e1a01006 mov r1, r6
00160 eb000000 bl EdbgOutputDebugString
00164 |$L14039|
; 369 : return(0);
00164 e3a03000 mov r3, #0
00168 e1a00003 mov r0, r3
0016c ea000000 b |$L13873|
00170 |$L14024|
; 372 : return (1);
00170 e3a00001 mov r0, #1
00174 |$L13873|
; 373 : }
00174 e28dd004 add sp, sp, #4
00178 e8bd4ff0 ldmia sp!, {r4 - r11, lr}
0017c e12fff1e bx lr
00180 |$L14045|
00180 00000000 DCD |??_C@_0CL@DKJP@EEINFO?3?5Receive?5?$DN?50x?$CFx?0?5Transmit@|
00184 00000000 DCD |??_C@_0CC@IDBP@EEINFO?3?5ReadEEWord?52nd?5Timeout?4?$AN@|
00188 00000000 DCD |??_C@_0CD@JPLD@EEINFO?3?5ReadEEWord?51rst?5Timeout?4@|
0018c b08a000c DCD 0xb08a000c
00190 b08a0008 DCD 0xb08a0008
00194 00000000 DCD |??_C@_0CE@CGIN@EEINFO?3?5ClearReceiveFifo?5Timeout@|
00198 |$M14042|
ENDP ; |ReadEEWord|
IMPORT |DelayInuSec|
00000 AREA |.text| { |ClearReceiveFifo| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$ClearReceiveFifo|, PDATA, SELECTION=5, ASSOC=|.text| { |ClearReceiveFifo| } ; comdat associative
|$T14075| DCD |ClearReceiveFifo|
DCD 0x40003501
; Function compile flags: /Ogsy
00000 AREA |.text| { |ClearReceiveFifo| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |ClearReceiveFifo| PROC
; 386 : {
00000 e92d4070 stmdb sp!, {r4 - r6, lr}
00004 |$M14073|
; 387 : ULONG ulTemp;
; 388 : ULONGLONG ullStart, ullCurrent, ullMax;
; 389 :
; 390 : //
; 391 : // Clear the transmit fifo.
; 392 : //
; 393 : ullStart = GetSystemTimeInUSec();
00004 eb000000 bl GetSystemTimeInUSec
; 394 : ullMax = ullStart + SPI_MINTIME;
; 395 : while( !(*SPI_SR & SPISR_TFE))
00008 e59f60c0 ldr r6, [pc, #0xC0]
0000c e29050c8 adds r5, r0, #0xC8
00010 e2a14000 adc r4, r1, #0
00014 ea000005 b |$L14054|
00018 |$L13920|
; 396 : {
; 397 : //
; 398 : // Check to see if we timed out.
; 399 : //
; 400 : ullCurrent = GetSystemTimeInUSec();
00018 eb000000 bl GetSystemTimeInUSec
; 401 : if(ullMax < ullCurrent)
0001c e1540001 cmp r4, r1
00020 3a000026 bcc |$L14053|
00024 8a000001 bhi |$L14054|
00028 e1550000 cmp r5, r0
0002c 3a000023 bcc |$L14053|
00030 |$L14054|
; 394 : ullMax = ullStart + SPI_MINTIME;
; 395 : while( !(*SPI_SR & SPISR_TFE))
00030 e5960000 ldr r0, [r6]
00034 e3100001 tst r0, #1
00038 0afffff6 beq |$L13920|
; 402 : {
; 403 : return(0);
; 404 : }
; 405 : }
; 406 :
; 407 : //
; 408 : // Make sure that data is not actively going out.
; 409 : //
; 410 : ullStart = GetSystemTimeInUSec();
0003c eb000000 bl GetSystemTimeInUSec
; 411 : ullMax = ullStart + SPI_MINTIME;
00040 e29050c8 adds r5, r0, #0xC8
00044 e2a14000 adc r4, r1, #0
; 412 : while( *SPI_SR & SPISR_BUSY)
00048 ea000005 b |$L14055|
0004c |$L13925|
; 413 : {
; 414 : //
; 415 : // Check to see if we timed out.
; 416 : //
; 417 : ullCurrent = GetSystemTimeInUSec();
0004c eb000000 bl GetSystemTimeInUSec
; 418 : if(ullMax < ullCurrent)
00050 e1540001 cmp r4, r1
00054 3a000019 bcc |$L14053|
00058 8a000001 bhi |$L14055|
0005c e1550000 cmp r5, r0
00060 3a000016 bcc |$L14053|
00064 |$L14055|
; 412 : while( *SPI_SR & SPISR_BUSY)
00064 e5960000 ldr r0, [r6]
00068 e3100010 tst r0, #0x10
0006c 1afffff6 bne |$L13925|
; 419 : {
; 420 : return(0);
; 421 : }
; 422 : }
; 423 :
; 424 : //
; 425 : // Delay 200 uS. Just to make sure that the data is cleared
; 426 : // out the fifo.
; 427 : //
; 428 : DelayInuSec(200);
00070 e3a000c8 mov r0, #0xC8
00074 eb000000 bl DelayInuSec
; 429 :
; 430 : //
; 431 : // Read in all of the data that is in the fifo.
; 432 : //
; 433 : ullStart = GetSystemTimeInUSec();
00078 eb000000 bl GetSystemTimeInUSec
; 434 : ullMax = ullStart + SPI_MINTIME;
0007c e29050c8 adds r5, r0, #0xC8
00080 e2a14000 adc r4, r1, #0
; 435 : while( *SPI_SR & SPISR_RNE)
00084 ea000007 b |$L14056|
00088 |$L13930|
; 436 : {
; 437 : ulTemp = *SPI_DR;
00088 e59f003c ldr r0, [pc, #0x3C]
0008c e5900000 ldr r0, [r0]
; 438 : //
; 439 : // Check to see if we timed out.
; 440 : //
; 441 : ullCurrent = GetSystemTimeInUSec();
00090 eb000000 bl GetSystemTimeInUSec
; 442 : if(ullMax < ullCurrent)
00094 e1540001 cmp r4, r1
00098 3a000008 bcc |$L14053|
0009c 8a000001 bhi |$L14056|
000a0 e1550000 cmp r5, r0
000a4 3a000005 bcc |$L14053|
000a8 |$L14056|
; 435 : while( *SPI_SR & SPISR_RNE)
000a8 e5960000 ldr r0, [r6]
000ac e3100004 tst r0, #4
000b0 1afffff4 bne |$L13930|
; 445 : }
; 446 : }
; 447 : return(1);
000b4 e3a00001 mov r0, #1
; 448 : }
000b8 e8bd4070 ldmia sp!, {r4 - r6, lr}
000bc e12fff1e bx lr
000c0 |$L14053|
; 443 : {
; 444 : return(0);
000c0 e3a00000 mov r0, #0
; 448 : }
000c4 e8bd4070 ldmia sp!, {r4 - r6, lr}
000c8 e12fff1e bx lr
000cc |$L14077|
000cc b08a0008 DCD 0xb08a0008
000d0 b08a000c DCD 0xb08a000c
000d4 |$M14074|
ENDP ; |ClearReceiveFifo|
00000 AREA |.text| { |WaitTillTransmitFifoEmpty| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WaitTillTransmitFifoEmpty|, PDATA, SELECTION=5, ASSOC=|.text| { |WaitTillTransmitFifoEmpty| } ; comdat associative
|$T14095| DCD |WaitTillTransmitFifoEmpty|
DCD 0x40002501
; Function compile flags: /Ogsy
00000 AREA |.text| { |WaitTillTransmitFifoEmpty| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WaitTillTransmitFifoEmpty| PROC
; 461 : {
00000 e92d4070 stmdb sp!, {r4 - r6, lr}
00004 |$M14093|
; 462 : ULONGLONG ullStart, ullCurrent, ullMax;
; 463 :
; 464 : //
; 465 : // Clear the transmit fifo.
; 466 : //
; 467 : ullStart = GetSystemTimeInUSec();
00004 eb000000 bl GetSystemTimeInUSec
; 468 : ullMax = ullStart + SPI_MINTIME;
; 469 : while( !(*SPI_SR & SPISR_TFE))
00008 e59f6080 ldr r6, [pc, #0x80]
0000c e29050c8 adds r5, r0, #0xC8
00010 e2a14000 adc r4, r1, #0
00014 ea000005 b |$L14084|
00018 |$L13941|
; 470 : {
; 471 : //
; 472 : // Check to see if we timed out.
; 473 : //
; 474 : ullCurrent = GetSystemTimeInUSec();
00018 eb000000 bl GetSystemTimeInUSec
; 475 : if(ullMax < ullCurrent)
0001c e1540001 cmp r4, r1
00020 3a000017 bcc |$L14083|
00024 8a000001 bhi |$L14084|
00028 e1550000 cmp r5, r0
0002c 3a000014 bcc |$L14083|
00030 |$L14084|
; 468 : ullMax = ullStart + SPI_MINTIME;
; 469 : while( !(*SPI_SR & SPISR_TFE))
00030 e5960000 ldr r0, [r6]
00034 e3100001 tst r0, #1
00038 0afffff6 beq |$L13941|
; 476 : {
; 477 : return(0);
; 478 : }
; 479 : }
; 480 :
; 481 : //
; 482 : // Make sure that data is not actively going out.
; 483 : //
; 484 : ullStart = GetSystemTimeInUSec();
0003c eb000000 bl GetSystemTimeInUSec
; 485 : ullMax = ullStart + SPI_MINTIME;
00040 e29050c8 adds r5, r0, #0xC8
00044 e2a14000 adc r4, r1, #0
; 486 : while( *SPI_SR & SPISR_BUSY)
00048 ea000005 b |$L14085|
0004c |$L13946|
; 487 : {
; 488 : //
; 489 : // Check to see if we timed out.
; 490 : //
; 491 : ullCurrent = GetSystemTimeInUSec();
0004c eb000000 bl GetSystemTimeInUSec
; 492 : if(ullMax < ullCurrent)
00050 e1540001 cmp r4, r1
00054 3a00000a bcc |$L14083|
00058 8a000001 bhi |$L14085|
0005c e1550000 cmp r5, r0
00060 3a000007 bcc |$L14083|
00064 |$L14085|
; 486 : while( *SPI_SR & SPISR_BUSY)
00064 e5960000 ldr r0, [r6]
00068 e3100010 tst r0, #0x10
0006c 1afffff6 bne |$L13946|
; 495 : }
; 496 : }
; 497 :
; 498 : //
; 499 : // Delay 200 uS. Just to make sure that the data is cleared
; 500 : // out the fifo.
; 501 : //
; 502 : DelayInuSec(200);
00070 e3a000c8 mov r0, #0xC8
00074 eb000000 bl DelayInuSec
; 503 :
; 504 : return(1);
00078 e3a00001 mov r0, #1
; 505 : }
0007c e8bd4070 ldmia sp!, {r4 - r6, lr}
00080 e12fff1e bx lr
00084 |$L14083|
; 493 : {
; 494 : return(0);
00084 e3a00000 mov r0, #0
; 505 : }
00088 e8bd4070 ldmia sp!, {r4 - r6, lr}
0008c e12fff1e bx lr
00090 |$L14097|
00090 b08a000c DCD 0xb08a000c
00094 |$M14094|
ENDP ; |WaitTillTransmitFifoEmpty|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -