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

📄 ether.cod

📁 一个berry eboot 源代码
💻 COD
📖 第 1 页 / 共 3 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091 

	TTL	D:\WINCE500\PLATFORM\BERRYDALE\SRC\BOOTLOADER\EBOOT\.\ether.c
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "


  00000			 AREA	 |.data|, DATA
	 COMMON	|pfnEDbgInit|, 0x4

	 COMMON	|pfnEDbgGetFrame|, 0x4

	 COMMON	|pfnEDbgSendFrame|, 0x4

	 COMMON	|pfnEDbgEnableInts|, 0x4

	 COMMON	|pfnEDbgDisableInts|, 0x4


  00000			 AREA	 |.rdata|, DATA, READONLY
|EdbgVendorIds| DCW 0x0
	DCW	0x0
	DCD	0x4033
	DCB	0x1
	DCB	"AD", 0x0
	DCW	0x1050
	DCW	0x940
	DCD	0x4005
	DCB	0x1
	DCB	"LS", 0x0
	DCW	0x1050
	DCW	0x940
	DCD	0x2078
	DCB	0x1
	DCB	"LS", 0x0
	DCW	0x10ec
	DCW	0x8029
	DCD	0xc0f0
	DCB	0x1
	DCB	"KS", 0x0
	DCW	0x10ec
	DCW	0x8129
	DCD	0x0
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0x900b
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0xd0c9
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0xe04c
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x1186
	DCW	0x1300
	DCD	0x50ba
	DCB	0x4
	DCB	"DL", 0x0
	DCW	0x100b
	DCW	0x20
	DCD	0xa0cc
	DCB	0x5
	DCB	"NG", 0x0
	DCW	0x10b7
	DCW	0x9050
	DCD	0x6008
	DCB	0x6
	DCB	"3C", 0x0
	DCW	0x10b7
	DCW	0x9200
	DCD	0x476
	DCB	0x6
	DCB	"3C", 0x0
	IMPORT	|OALPAtoVA|
; File d:\wince500\platform\berrydale\src\bootloader\eboot\ether.c

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

  00000			 AREA	 |.pdata$$Wait|, PDATA, SELECTION=5, ASSOC=|.text| { |Wait| } ; comdat associative
|$T40866| DCD	|$L40865|
	DCD	0x40001201
; Function compile flags: /Ogsy

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

  00000		 |Wait|	 PROC

; 77   : {

  00000		 |$L40865|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M40863|
  00004	e1a04000	 mov         r4, r0

; 78   :     volatile UINT32 *TimerOSCRAddress= (volatile UINT32 *) OALPAtoVA((BULVERDE_BASE_REG_PA_OST + OSCR_OFFSET), FALSE);

  00008	e59f0034	 ldr         r0, [pc, #0x34]
  0000c	e3a01000	 mov         r1, #0
  00010	eb000000	 bl          OALPAtoVA

; 79   :     UINT32 Value, Time;
; 80   : 
; 81   :     Time   = *TimerOSCRAddress;

  00014	e5902000	 ldr         r2, [r0]

; 82   :     Value = Time + (microSeconds * 4);

  00018	e0821104	 add         r1, r2, r4, lsl #2

; 83   :     if (Value < Time)

  0001c	e1510002	 cmp         r1, r2
  00020	2a000002	 bcs         |$L40669|
  00024		 |$L40666|

; 84   :     {  // test for wrap.
; 85   :         while (Time < *TimerOSCRAddress);

  00024	e5903000	 ldr         r3, [r0]
  00028	e1520003	 cmp         r2, r3
  0002c	3afffffc	 bcc         |$L40666|
  00030		 |$L40669|

; 86   :     }
; 87   :     while (*TimerOSCRAddress <= Value);

  00030	e5903000	 ldr         r3, [r0]
  00034	e1530001	 cmp         r3, r1
  00038	9afffffc	 bls         |$L40669|

; 88   : 
; 89   : }

  0003c	e8bd4010	 ldmia       sp!, {r4, lr}
  00040	e12fff1e	 bx          lr
  00044		 |$L40868|
  00044	40a00010	 DCD         0x40a00010
  00048		 |$M40864|

			 ENDP  ; |Wait|


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

  00000			 AREA	 |.pdata$$msWait|, PDATA, SELECTION=5, ASSOC=|.text| { |msWait| } ; comdat associative
|$T40894| DCD	|$L40893|
	DCD	0x40001301
; Function compile flags: /Ogsy

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

  00000		 |msWait| PROC

; 93   : {

  00000		 |$L40893|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M40891|
  00004	e1a04000	 mov         r4, r0

; 94   :     Wait(msVal*1000);

  00008	e59f0038	 ldr         r0, [pc, #0x38]
  0000c	e3a01000	 mov         r1, #0
  00010	eb000000	 bl          OALPAtoVA
  00014	e5902000	 ldr         r2, [r0]
  00018	e3a03efa	 mov         r3, #0xFA, 28
  0001c	e0212394	 mla         r1, r4, r3, r2
  00020	e1510002	 cmp         r1, r2
  00024	2a000002	 bcs         |$L40879|
  00028		 |$L40877|
  00028	e5903000	 ldr         r3, [r0]
  0002c	e1520003	 cmp         r2, r3
  00030	3afffffc	 bcc         |$L40877|
  00034		 |$L40879|
  00034	e5903000	 ldr         r3, [r0]
  00038	e1530001	 cmp         r3, r1
  0003c	9afffffc	 bls         |$L40879|

; 95   : }

  00040	e8bd4010	 ldmia       sp!, {r4, lr}
  00044	e12fff1e	 bx          lr
  00048		 |$L40896|
  00048	40a00010	 DCD         0x40a00010
  0004c		 |$M40892|

			 ENDP  ; |msWait|

	EXPORT	|OALStall|

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

  00000			 AREA	 |.pdata$$OALStall|, PDATA, SELECTION=5, ASSOC=|.text| { |OALStall| } ; comdat associative
|$T40922| DCD	|$L40921|
	DCD	0x40001201
; Function compile flags: /Ogsy

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

  00000		 |OALStall| PROC

; 99   : {

  00000		 |$L40921|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M40919|
  00004	e1a04000	 mov         r4, r0

; 100  :     Wait(microSeconds);

  00008	e59f0034	 ldr         r0, [pc, #0x34]
  0000c	e3a01000	 mov         r1, #0
  00010	eb000000	 bl          OALPAtoVA
  00014	e5902000	 ldr         r2, [r0]
  00018	e0821104	 add         r1, r2, r4, lsl #2
  0001c	e1510002	 cmp         r1, r2
  00020	2a000002	 bcs         |$L40907|
  00024		 |$L40905|
  00024	e5903000	 ldr         r3, [r0]
  00028	e1520003	 cmp         r2, r3
  0002c	3afffffc	 bcc         |$L40905|
  00030		 |$L40907|
  00030	e5903000	 ldr         r3, [r0]
  00034	e1530001	 cmp         r3, r1
  00038	9afffffc	 bls         |$L40907|

; 101  : }

  0003c	e8bd4010	 ldmia       sp!, {r4, lr}
  00040	e12fff1e	 bx          lr
  00044		 |$L40924|
  00044	40a00010	 DCD         0x40a00010
  00048		 |$M40920|

			 ENDP  ; |OALStall|

	EXPORT	|LocatePCMCIACard|

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

  00000			 AREA	 |.pdata$$LocatePCMCIACard|, PDATA, SELECTION=5, ASSOC=|.text| { |LocatePCMCIACard| } ; comdat associative
|$T40932| DCD	|$L40931|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

  00000		 |LocatePCMCIACard| PROC

; 105  : {

  00000		 |$L40931|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M40929|

; 106  :     UINT32 SlotVoltage = PCMCIA_VCC3V_VPP0V;
; 107  :     volatile UINT32 *pSRCR = NULL;
; 108  : //    volatile MAINSTONEII_BLR_REGS *pBLRegs = (volatile MAINSTONEII_BLR_REGS *) OALPAtoVA(MAINSTONEII_BASE_REG_PA_FPGA, FALSE);
; 109  :     volatile BULVERDE_MEMCTRL_REG *pMEMCTRLRegs = (volatile BULVERDE_MEMCTRL_REG *) OALPAtoVA(BULVERDE_BASE_REG_PA_MEMC, FALSE);

  00004	e3a01000	 mov         r1, #0
  00008	e3a00312	 mov         r0, #0x12, 6
  0000c	eb000000	 bl          OALPAtoVA

; 110  : 
; 111  :     switch (EthDevice)
; 112  :     {
; 113  :     case ETH_DEVICE_PCMCIA0:
; 114  : //        pSRCR = (volatile UINT32 *)&(pBLRegs->pcmcia0_srcr);
; 115  :         break;
; 116  :     case ETH_DEVICE_PCMCIA1:       
; 117  : //        pSRCR = (volatile UINT32 *)&(pBLRegs->pcmcia1_srcr);
; 118  :         break;
; 119  :     default:
; 120  :         break;
; 121  :     }
; 122  : 
; 123  :     if (!pSRCR)
; 124  :     {
; 125  :         return(FALSE);

  00010	e3a00000	 mov         r0, #0

; 126  :     }
; 127  : 
; 128  :     // Initialize the PCMCIA interface if a card is detected.
; 129  :     //
; 130  :     if (!((*pSRCR & CARD_DETECT) == CARD_DETECT))
; 131  :     {
; 132  :         EdbgOutputDebugString("INFO: Performing PCMCIA NIC initialization.  Please wait...\r\n");
; 133  : 
; 134  :         // Configure the MAX1602EE power supply based on the voltage requirement of the card.
; 135  :         //
; 136  :         if (((*pSRCR & VS1) == VS1) && ((*pSRCR & VS2) == VS2))
; 137  :         {
; 138  :             // 5 volt card detected.
; 139  :             //
; 140  :             SlotVoltage = PCMCIA_VCC5V_VPP0V;
; 141  :         }
; 142  :         else
; 143  :         {
; 144  :             // 3.3 volt card detected.
; 145  :             //
; 146  :             SlotVoltage = PCMCIA_VCC3V_VPP0V;
; 147  :         }
; 148  : 
; 149  :         *pSRCR &= ~(PCMCIA_POWER | PCMCIA_RESET);
; 150  :         msWait(50);
; 151  : 
; 152  :         *pSRCR |= SlotVoltage;
; 153  :         msWait(50);
; 154  : 
; 155  :         *pSRCR |= PCMCIA_RESET;
; 156  :         msWait(50);
; 157  : 
; 158  :         *pSRCR &= ~PCMCIA_RESET;
; 159  :         msWait(50);
; 160  : 
; 161  :         pMEMCTRLRegs->mecr = 0x2;          
; 162  :         msWait(50);         
; 163  : 
; 164  :         return (TRUE);
; 165  :     }
; 166  : 
; 167  :     return (FALSE);
; 168  : }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M40930|

			 ENDP  ; |LocatePCMCIACard|

	EXPORT	|InitSpecifiedEthDevice|
	EXPORT	|??_C@_0DM@GJDOGNCA@INFO?3?5Trying?5to?5locate?1initializ@| [ DATA ] ; `string'

⌨️ 快捷键说明

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