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

📄 ether.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 3 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4237 

	TTL	C:\WINCE500\PLATFORM\Ep93xx\Src\Bootloader\Common\.\ether.c
	CODE32

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


  00000			 AREA	 |.bss|, NOINIT
|pfnEDbgInit| %	0x4
|pfnEDbgInitDMA| % 0x4
|pfnEDbgGetFrame| % 0x4
|pfnEDbgSendFrame| % 0x4
|MyAddr| %	0xc

  00000			 AREA	 |.rdata|, DATA, READONLY
|EdbgVendorIds| DCW 0x0
	DCW	0x0
	DCD	0x4033
	DCB	0x1
	DCB	0x0
	DCB	"AD", 0x0
	%	3
	DCW	0x1050
	DCW	0x940
	DCD	0x4005
	DCB	0x1
	DCB	0x0
	DCB	"LS", 0x0
	%	3
	DCW	0x1050
	DCW	0x940
	DCD	0x2078
	DCB	0x1
	DCB	0x0
	DCB	"LS", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8029
	DCD	0xc0f0
	DCB	0x1
	DCB	0x0
	DCB	"KS", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8129
	DCD	0x0
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8139
	DCD	0x900b
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8139
	DCD	0xd0c9
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x10ec
	DCW	0x8139
	DCD	0xe04c
	DCB	0x4
	DCB	0x0
	DCB	"RT", 0x0
	%	3
	DCW	0x1186
	DCW	0x1300
	DCD	0x50ba
	DCB	0x4
	DCB	0x0
	DCB	"DL", 0x0
	%	3
	DCW	0x100b
	DCW	0x20
	DCD	0xa0cc
	DCB	0x5
	DCB	0x0
	DCB	"NG", 0x0
	%	3
	DCW	0x10b7
	DCW	0x9050
	DCD	0x6008
	DCB	0x6
	DCB	0x0
	DCB	"3C", 0x0
	%	3
	DCW	0x10b7
	DCW	0x9200
	DCD	0x476
	DCB	0x6
	DCB	0x0
	DCB	"3C", 0x0
	%	3
	DCW	0x8086
	DCW	0x1039
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x103a
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x1051
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x1229
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	DCW	0x8086
	DCW	0x2449
	DCD	0x4033
	DCB	0x7
	DCB	0x1
	DCB	"IN", 0x0
	%	3
	EXPORT	|OEMEthGetFrame|
; File c:\wince500\platform\ep93xx\src\bootloader\common\ether.c

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

  00000			 AREA	 |.pdata$$OEMEthGetFrame|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthGetFrame| } ; comdat associative
|$T39494| DCD	|$L39493|
	DCD	0x40001b04
; Function compile flags: /Ods

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

  00000		 |OEMEthGetFrame| PROC

; 88   : {

  00000		 |$L39493|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M39491|

; 89   :     if (pfnEDbgGetFrame)

  00010	e59f3050	 ldr         r3, [pc, #0x50]
  00014	e5933000	 ldr         r3, [r3]
  00018	e3530000	 cmp         r3, #0
  0001c	0a00000b	 beq         |$L39383|

; 90   :         return(pfnEDbgGetFrame(pData, pwLength));

  00020	e59d1014	 ldr         r1, [sp, #0x14]
  00024	e59d0010	 ldr         r0, [sp, #0x10]
  00028	e59f3038	 ldr         r3, [pc, #0x38]
  0002c	e5933000	 ldr         r3, [r3]
  00030	e1a0e00f	 mov         lr, pc
  00034	e12fff13	 bx          r3
  00038	e1a03800	 mov         r3, r0, lsl #16
  0003c	e1a03823	 mov         r3, r3, lsr #16
  00040	e1cd30b4	 strh        r3, [sp, #4]
  00044	e1dd30b4	 ldrh        r3, [sp, #4]
  00048	e58d3000	 str         r3, [sp]
  0004c	ea000001	 b           |$L39382|
  00050		 |$L39383|

; 91   : 
; 92   :     return(FALSE);

  00050	e3a03000	 mov         r3, #0
  00054	e58d3000	 str         r3, [sp]
  00058		 |$L39382|

; 90   :         return(pfnEDbgGetFrame(pData, pwLength));

  00058	e59d0000	 ldr         r0, [sp]

; 93   : }

  0005c	e28dd008	 add         sp, sp, #8
  00060	e89d6000	 ldmia       sp, {sp, lr}
  00064	e12fff1e	 bx          lr
  00068		 |$L39496|
  00068	00000000	 DCD         |pfnEDbgGetFrame|
  0006c		 |$M39492|

			 ENDP  ; |OEMEthGetFrame|

	EXPORT	|OEMEthSendFrame|
	EXPORT	|??_C@_0CL@HFNGJLGH@ERROR?3?5OEMEthSendFrame?5failure?0?5@| [ DATA ] ; `string'
	IMPORT	|EdbgOutputDebugString|

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

  00000			 AREA	 |.pdata$$OEMEthSendFrame|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthSendFrame| } ; comdat associative
|$T39503| DCD	|$L39502|
	DCD	0x40002704

  00000			 AREA	 |.rdata| { |??_C@_0CL@HFNGJLGH@ERROR?3?5OEMEthSendFrame?5failure?0?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CL@HFNGJLGH@ERROR?3?5OEMEthSendFrame?5failure?0?5@| DCB "ERROR: O"
	DCB	"EMEthSendFrame failure, retry %u", 0xd, 0xa, 0x0 ; `string'
; Function compile flags: /Ods

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

  00000		 |OEMEthSendFrame| PROC

; 109  : {

  00000		 |$L39502|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd00c	 sub         sp, sp, #0xC
  00010		 |$M39500|

; 110  :     int retries = 0;

  00010	e3a03000	 mov         r3, #0
  00014	e58d3000	 str         r3, [sp]
  00018		 |$L39391|

; 111  : 
; 112  :     // Let's be persistant here
; 113  :     while (retries++ < 4) 

  00018	e59d3000	 ldr         r3, [sp]
  0001c	e3530004	 cmp         r3, #4
  00020	e59d3000	 ldr         r3, [sp]
  00024	e2833001	 add         r3, r3, #1
  00028	e58d3000	 str         r3, [sp]
  0002c	aa000012	 bge         |$L39392|

; 114  :     {
; 115  :         if (!pfnEDbgSendFrame(pData, dwLength))

  00030	e59d1018	 ldr         r1, [sp, #0x18]
  00034	e59d0014	 ldr         r0, [sp, #0x14]
  00038	e59f3058	 ldr         r3, [pc, #0x58]
  0003c	e5933000	 ldr         r3, [r3]
  00040	e1a0e00f	 mov         lr, pc
  00044	e12fff13	 bx          r3
  00048	e1a03800	 mov         r3, r0, lsl #16
  0004c	e1a03823	 mov         r3, r3, lsr #16
  00050	e1cd30b8	 strh        r3, [sp, #8]
  00054	e1dd30b8	 ldrh        r3, [sp, #8]
  00058	e3530000	 cmp         r3, #0
  0005c	1a000002	 bne         |$L39393|

; 116  :         {
; 117  :             return TRUE;

  00060	e3a03001	 mov         r3, #1
  00064	e58d3004	 str         r3, [sp, #4]
  00068	ea000005	 b           |$L39388|
  0006c		 |$L39393|

; 118  :         }
; 119  :         else
; 120  :         {
; 121  :             EdbgOutputDebugString("ERROR: OEMEthSendFrame failure, retry %u\r\n", retries);

  0006c	e59d1000	 ldr         r1, [sp]
  00070	e59f001c	 ldr         r0, [pc, #0x1C]
  00074	eb000000	 bl          EdbgOutputDebugString

; 122  :         }
; 123  :     }

  00078	eaffffe6	 b           |$L39391|
  0007c		 |$L39392|

; 124  :     return(FALSE);

  0007c	e3a03000	 mov         r3, #0
  00080	e58d3004	 str         r3, [sp, #4]
  00084		 |$L39388|

; 116  :         {
; 117  :             return TRUE;

  00084	e59d0004	 ldr         r0, [sp, #4]

; 125  : }

  00088	e28dd00c	 add         sp, sp, #0xC
  0008c	e89d6000	 ldmia       sp, {sp, lr}
  00090	e12fff1e	 bx          lr
  00094		 |$L39505|
  00094	00000000	 DCD         |??_C@_0CL@HFNGJLGH@ERROR?3?5OEMEthSendFrame?5failure?0?5@|
  00098	00000000	 DCD         |pfnEDbgSendFrame|
  0009c		 |$M39501|

			 ENDP  ; |OEMEthSendFrame|

	EXPORT	|OEMEthHardwareInit|
	EXPORT	|??_C@_06PJNFHFFO@NE2000?$AA@| [ DATA ]	; `string'
	EXPORT	|??_C@_06HMPOGANI@CS8950?$AA@| [ DATA ]	; `string'
	EXPORT	|??_C@_0DB@BDHKKPD@ERROR?3?5Failed?5to?5Initialize?5CS89@| [ DATA ] ; `string'
	EXPORT	|??_C@_0CG@LLNPEPJJ@ERROR?3?5Unable?5to?5find?5network?5ca@| [ DATA ] ; `string'
	EXPORT	|??_C@_0CC@IMFFEGPA@Card?5Type?5?$DN?5?$CFs?0?5Address?5?$DN?50x?$CFx?4?$AN@| [ DATA ] ; `string'
	EXPORT	|??_C@_0CD@PPGFAPPG@ERROR?3?5Failed?5to?5initialize?5NIC?4@| [ DATA ] ; `string'
	IMPORT	|CS8950Init|
	IMPORT	|CS8950GetFrame|
	IMPORT	|CS8950SendFrame|
	IMPORT	|CS8950WriteEEPROM|
	IMPORT	|CS8950DMAInit|
	IMPORT	|GetBoardInformation|
	IMPORT	|GetDeviceMacAddress|
	IMPORT	|OEMNE2000Detect|
	IMPORT	|NE2000Init|
	IMPORT	|NE2000GetFrame|
	IMPORT	|NE2000SendFrame|

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

  00000			 AREA	 |.pdata$$OEMEthHardwareInit|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthHardwareInit| } ; comdat associative
|$T39512| DCD	|$L39511|
	DCD	0x40009302

  00000			 AREA	 |.rdata| { |??_C@_0CD@PPGFAPPG@ERROR?3?5Failed?5to?5initialize?5NIC?4@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CD@PPGFAPPG@ERROR?3?5Failed?5to?5initialize?5NIC?4@| DCB "ERROR: "
	DCB	"Failed to initialize NIC.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0CC@IMFFEGPA@Card?5Type?5?$DN?5?$CFs?0?5Address?5?$DN?50x?$CFx?4?$AN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CC@IMFFEGPA@Card?5Type?5?$DN?5?$CFs?0?5Address?5?$DN?50x?$CFx?4?$AN@| DCB "C"
	DCB	"ard Type = %s, Address = 0x%x.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0CG@LLNPEPJJ@ERROR?3?5Unable?5to?5find?5network?5ca@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CG@LLNPEPJJ@ERROR?3?5Unable?5to?5find?5network?5ca@| DCB "ERROR: "
	DCB	"Unable to find network card.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0DB@BDHKKPD@ERROR?3?5Failed?5to?5Initialize?5CS89@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DB@BDHKKPD@ERROR?3?5Failed?5to?5Initialize?5CS89@| DCB "ERROR: Fa"
	DCB	"iled to Initialize CS8950 DMA buffer.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_06HMPOGANI@CS8950?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_06HMPOGANI@CS8950?$AA@| DCB "CS8950", 0x0	; `string'

  00000			 AREA	 |.rdata| { |??_C@_06PJNFHFFO@NE2000?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any

⌨️ 快捷键说明

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