⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eeinfo.cod

📁 EP9315的BSP包(WINCE下的BSP,内有各种驱动的详细的代码)
💻 COD
📖 第 1 页 / 共 3 页
字号:
; 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 + -