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

📄 mdppfs.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 3 页
字号:
; 307  :         }            

  00094	eaffffec	 b           |$L38120|
  00098		 |$L38121|

; 308  : 
; 309  :         //
; 310  :         // Read auto FD two times to make sure that it is set again.
; 311  :         //
; 312  :         if( !(*IDE_CTRL & PAR_AUTOFD))

  00098	e3a03102	 mov         r3, #2, 2
  0009c	e383380a	 orr         r3, r3, #0xA, 16
  000a0	e5933000	 ldr         r3, [r3]
  000a4	e3130b01	 tst         r3, #1, 22
  000a8	1a000000	 bne         |$L38127|

; 313  :         {
; 314  :             continue;

  000ac	eaffffe3	 b           |$L38117|
  000b0		 |$L38127|

; 315  :         }
; 316  :         if( !(*IDE_CTRL & PAR_AUTOFD))

  000b0	e3a03102	 mov         r3, #2, 2
  000b4	e383380a	 orr         r3, r3, #0xA, 16
  000b8	e5933000	 ldr         r3, [r3]
  000bc	e3130b01	 tst         r3, #1, 22
  000c0	1a000000	 bne         |$L38129|

; 317  :         {
; 318  :             continue;

  000c4	eaffffdd	 b           |$L38211|
  000c8		 |$L38129|

; 319  :         }
; 320  :         if( !(*IDE_CTRL & PAR_AUTOFD))

  000c8	e3a03102	 mov         r3, #2, 2
  000cc	e383380a	 orr         r3, r3, #0xA, 16
  000d0	e5933000	 ldr         r3, [r3]
  000d4	e3130b01	 tst         r3, #1, 22
  000d8	1a000000	 bne         |$L38131|

; 321  :         {
; 322  :             continue;

  000dc	eaffffd7	 b           |$L38212|
  000e0		 |$L38131|

; 323  :         }
; 324  : 
; 325  :         if( (*IDE_CTRL & PAR_AUTOFD))

  000e0	e3a03102	 mov         r3, #2, 2
  000e4	e383380a	 orr         r3, r3, #0xA, 16
  000e8	e5933000	 ldr         r3, [r3]
  000ec	e3130b01	 tst         r3, #1, 22
  000f0	0a000000	 beq         |$L38133|

; 326  :         {
; 327  :             break;

  000f4	ea000000	 b           |$L38118|
  000f8		 |$L38133|

; 328  :         }
; 329  : 
; 330  :     }

  000f8	eaffffd0	 b           |$L38213|
  000fc		 |$L38118|

; 331  : 
; 332  :     //
; 333  :     // Set PAR_ACK
; 334  :     //
; 335  :     *IDE_CTRL = PAR_NREAD | PAR_ACK ;               

  000fc	e3a03102	 mov         r3, #2, 2
  00100	e383280a	 orr         r2, r3, #0xA, 16
  00104	e3a03021	 mov         r3, #0x21
  00108	e5823000	 str         r3, [r2]
  0010c		 |$L38216|
  0010c		 |$L38215|
  0010c		 |$L38214|
  0010c		 |$L38136|

; 336  :     
; 337  :     //
; 338  :     // Wait for the AUTOFD to go low.
; 339  :     //
; 340  :     while (1) 
; 341  :     {
; 342  :         for(iWatchdog = 0 ; ; iWatchdog++)

  0010c	e3a03000	 mov         r3, #0
  00110	e58d3000	 str         r3, [sp]
  00114	ea000002	 b           |$L38138|
  00118		 |$L38139|
  00118	e59d3000	 ldr         r3, [sp]
  0011c	e2833001	 add         r3, r3, #1
  00120	e58d3000	 str         r3, [sp]
  00124		 |$L38138|

; 343  :         {
; 344  :             if( !(*IDE_CTRL & PAR_AUTOFD))

  00124	e3a03102	 mov         r3, #2, 2
  00128	e383380a	 orr         r3, r3, #0xA, 16
  0012c	e5933000	 ldr         r3, [r3]
  00130	e3130b01	 tst         r3, #1, 22
  00134	1a000000	 bne         |$L38142|

; 345  :             {
; 346  :                 break;

  00138	ea000009	 b           |$L38140|
  0013c		 |$L38142|

; 347  :             }
; 348  :             
; 349  :             //
; 350  :             // Check to see if the watchdog has timed out
; 351  :             //
; 352  :             if (iWatchdog == PARALLEL_TIMEOUT)                    

  0013c	e59d3000	 ldr         r3, [sp]
  00140	e3530401	 cmp         r3, #1, 8
  00144	1a000005	 bne         |$L38143|

; 353  :             {                                    
; 354  :                 //
; 355  :                 // Display error message
; 356  :                 //
; 357  :                 EdbgOutputDebugString("OEMParallelPortSendByte: status timeout 2.\r\n");

  00148	e59f00a8	 ldr         r0, [pc, #0xA8]
  0014c	eb000000	 bl          EdbgOutputDebugString

; 358  : 
; 359  :                 //
; 360  :                 // set parallel port to disconnected and return failure   
; 361  :                 //
; 362  :                 NoPPFS=TRUE;                    

  00150	e59f209c	 ldr         r2, [pc, #0x9C]
  00154	e3a03001	 mov         r3, #1
  00158	e5823000	 str         r3, [r2]

; 363  :                 return;                      

  0015c	ea000021	 b           |$L38110|
  00160		 |$L38143|

; 364  :             }
; 365  :         }            

  00160	eaffffec	 b           |$L38139|
  00164		 |$L38140|

; 366  : 
; 367  :         //
; 368  :         // Read auto FD two times to make sure that it is set again.
; 369  :         //
; 370  :         if(( *IDE_CTRL & PAR_AUTOFD))

  00164	e3a03102	 mov         r3, #2, 2
  00168	e383380a	 orr         r3, r3, #0xA, 16
  0016c	e5933000	 ldr         r3, [r3]
  00170	e3130b01	 tst         r3, #1, 22
  00174	0a000000	 beq         |$L38146|

; 371  :         {
; 372  :             continue;

  00178	eaffffe3	 b           |$L38136|
  0017c		 |$L38146|

; 373  :         }
; 374  :         if(( *IDE_CTRL & PAR_AUTOFD))

  0017c	e3a03102	 mov         r3, #2, 2
  00180	e383380a	 orr         r3, r3, #0xA, 16
  00184	e5933000	 ldr         r3, [r3]
  00188	e3130b01	 tst         r3, #1, 22
  0018c	0a000000	 beq         |$L38148|

; 375  :         {
; 376  :             continue;

  00190	eaffffdd	 b           |$L38214|
  00194		 |$L38148|

; 377  :         }
; 378  :         if(( *IDE_CTRL & PAR_AUTOFD))

  00194	e3a03102	 mov         r3, #2, 2
  00198	e383380a	 orr         r3, r3, #0xA, 16
  0019c	e5933000	 ldr         r3, [r3]
  001a0	e3130b01	 tst         r3, #1, 22
  001a4	0a000000	 beq         |$L38150|

; 379  :         {
; 380  :             continue;

  001a8	eaffffd7	 b           |$L38215|
  001ac		 |$L38150|

; 381  :         }
; 382  : 
; 383  :         if( !(*IDE_CTRL & PAR_AUTOFD))

  001ac	e3a03102	 mov         r3, #2, 2
  001b0	e383380a	 orr         r3, r3, #0xA, 16
  001b4	e5933000	 ldr         r3, [r3]
  001b8	e3130b01	 tst         r3, #1, 22
  001bc	1a000000	 bne         |$L38152|

; 384  :         {
; 385  :             break;

  001c0	ea000000	 b           |$L38137|
  001c4		 |$L38152|

; 386  :         }
; 387  : 
; 388  :     }

  001c4	eaffffd0	 b           |$L38216|
  001c8		 |$L38137|

; 389  :     //
; 390  :     // Clear Ack
; 391  :     //
; 392  :     *IDE_CTRL = PAR_NREAD ;               

  001c8	e3a03102	 mov         r3, #2, 2
  001cc	e383280a	 orr         r2, r3, #0xA, 16
  001d0	e3a03020	 mov         r3, #0x20
  001d4	e5823000	 str         r3, [r2]

; 393  :     
; 394  :     //
; 395  :     // Put a little delay in here.
; 396  :     //
; 397  :     //VosDelayInuS(20);
; 398  : 
; 399  :     //
; 400  :     // Assert Busy and nAcknowledge.  Back to the default Parallel port state
; 401  :     //
; 402  :     *IDE_CTRL  = PAR_NWRITE | PAR_NREAD ;

  001d8	e3a03102	 mov         r3, #2, 2
  001dc	e383280a	 orr         r2, r3, #0xA, 16
  001e0	e3a03060	 mov         r3, #0x60
  001e4	e5823000	 str         r3, [r2]
  001e8		 |$L38110|

; 403  : }

  001e8	e28dd004	 add         sp, sp, #4
  001ec	e89d6000	 ldmia       sp, {sp, lr}
  001f0	e12fff1e	 bx          lr
  001f4		 |$L38222|
  001f4	00000000	 DCD         |NoPPFS|
  001f8	00000000	 DCD         |??_C@_0CN@FHIBGCLO@OEMParallelPortSendByte?3?5status?5@|
  001fc	00000000	 DCD         |??_C@_0CM@FEPGELED@OEMParallelPortSendByte?3?5status?5@|
  00200	800a0010	 DCD         0x800a0010
  00204		 |$M38218|

			 ENDP  ; |OEMParallelPortSendByte|

	EXPORT	|OEMIsParallelReady|
	IMPORT	|GetSystemTimeInMsec|

  00000			 AREA	 |.text| { |OEMIsParallelReady| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$OEMIsParallelReady|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMIsParallelReady| } ; comdat associative
|$T38229| DCD	|$L38228|
	DCD	0x40002202
; Function compile flags: /Ods

  00000			 AREA	 |.text| { |OEMIsParallelReady| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |OEMIsParallelReady| PROC

; 412  : {

  00000		 |$L38228|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd010	 sub         sp, sp, #0x10
  00008		 |$M38226|

; 413  :     DWORD dwStart;
; 414  : 
; 415  :     //
; 416  :     // Find the initial time in seconds.
; 417  :     //
; 418  :     dwStart= GetSystemTimeInMsec();

  00008	eb000000	 bl          GetSystemTimeInMsec
  0000c	e58d0008	 str         r0, [sp, #8]
  00010	e59d3008	 ldr         r3, [sp, #8]
  00014	e58d3000	 str         r3, [sp]

; 419  :     
; 420  :     //
; 421  :     // Set direction to write and latch in the line data.
; 422  :     //
; 423  :     *IDE_CTRL  = PAR_NREAD| PAR_NWRITE |PAR_ACK ;

  00018	e3a03102	 mov         r3, #2, 2
  0001c	e383280a	 orr         r2, r3, #0xA, 16
  00020	e3a03061	 mov         r3, #0x61
  00024	e5823000	 str         r3, [r2]
  00028		 |$L38162|

; 424  :         
; 425  :     //
; 426  :     // Wait for AUTOFD
; 427  :     //
; 428  :     while (*IDE_CTRL & PAR_AUTOFD) 

  00028	e3a03102	 mov         r3, #2, 2
  0002c	e383380a	 orr         r3, r3, #0xA, 16
  00030	e5933000	 ldr         r3, [r3]
  00034	e3130b01	 tst         r3, #1, 22
  00038	0a00000c	 beq         |$L38163|

; 429  :     {
; 430  :         if (GetSystemTimeInMsec() - dwStart > 3000)

  0003c	eb000000	 bl          GetSystemTimeInMsec
  00040	e58d000c	 str         r0, [sp, #0xC]
  00044	e59d200c	 ldr         r2, [sp, #0xC]
  00048	e59d3000	 ldr         r3, [sp]
  0004c	e0422003	 sub         r2, r2, r3
  00050	e3a03ebb	 mov         r3, #0xBB, 28
  00054	e3833008	 orr         r3, r3, #8
  00058	e1520003	 cmp         r2, r3
  0005c	9a000002	 bls         |$L38164|

; 431  :             return FALSE;

  00060	e3a03000	 mov         r3, #0
  00064	e58d3004	 str         r3, [sp, #4]
  00068	ea000002	 b           |$L38157|
  0006c		 |$L38164|

; 432  :     }

  0006c	eaffffed	 b           |$L38162|
  00070		 |$L38163|

; 433  :     return TRUE;

  00070	e3a03001	 mov         r3, #1
  00074	e58d3004	 str         r3, [sp, #4]
  00078		 |$L38157|

; 431  :             return FALSE;

  00078	e59d0004	 ldr         r0, [sp, #4]

; 434  : }

  0007c	e28dd010	 add         sp, sp, #0x10
  00080	e49de004	 ldr         lr, [sp], #4
  00084	e12fff1e	 bx          lr
  00088		 |$M38227|

			 ENDP  ; |OEMIsParallelReady|

	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -