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

📄 cs8950.cod

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

	TTL	C:\WINCE500\PLATFORM\Ep93xx\Src\Drivers\Ethdbg\Cs8950\.\cs8950.c
	CODE32

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

	EXPORT	|pCS8950Buffer| [ DATA ]
	EXPORT	|ulPhysicalOffset| [ DATA ]
	EXPORT	|bStop| [ DATA ]

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


  00000			 AREA	 |.bss|, NOINIT
|Global_TxTotal| % 0x4
|Global_TxOkCnt| % 0x4
|Global_TxNotOkCnt| % 0x4
|Global_RxTotalCnt| % 0x4
|Global_RxNotOkCnt| % 0x4
|Global_TxInProcess| % 0x4
|gdwEthernetBase| % 0x4
|gusMacAddr| %	0x6
|pCS8950Buffer| % 0x4
|ulPhysicalOffset| % 0x4

  00000			 AREA	 |.data|, DATA
	 COMMON	|Chip|, 0x18

|bStop|	DCD	0x1

  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	|CS8950Disable|
; File c:\wince500\platform\ep93xx\src\drivers\ethdbg\cs8950\cs8950.c

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

  00000			 AREA	 |.pdata$$CS8950Disable|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950Disable| } ; comdat associative
|$T16187| DCD	|$L16186|
	DCD	0x40000800
; Function compile flags: /Ods

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

  00000		 |CS8950Disable| PROC

; 110  : {

  00000		 |$L16186|
  00000		 |$M16184|

; 111  :     WriteDWord(OpReg_BMCTL, BMCTL_TxDis | BMCTL_RxDis);

  00000	e59f3014	 ldr         r3, [pc, #0x14]
  00004	e5933000	 ldr         r3, [r3]
  00008	e2832080	 add         r2, r3, #0x80
  0000c	e3a03c02	 mov         r3, #2, 24
  00010	e3833002	 orr         r3, r3, #2
  00014	e5823000	 str         r3, [r2]

; 112  : }

  00018	e12fff1e	 bx          lr
  0001c		 |$L16189|
  0001c	00000000	 DCD         |gdwEthernetBase|
  00020		 |$M16185|

			 ENDP  ; |CS8950Disable|

	EXPORT	|??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@| [ DATA ] ; `string'
	EXPORT	|CS8950DMAInit|
	IMPORT	|EdbgOutputDebugString|

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

  00000			 AREA	 |.pdata$$CS8950DMAInit|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950DMAInit| } ; comdat associative
|$T16196| DCD	|$L16195|
	DCD	0x40002104

  00000			 AREA	 |.rdata| { |??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@| DCB "CS8950DMA"
	DCB	"Init: CS8950 DMA buffer to Small", 0xd, 0xa, 0x0 ; `string'
; Function compile flags: /Ods

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

  00000		 |CS8950DMAInit| PROC

; 127  : {

  00000		 |$L16195|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0007	 stmdb       sp!, {r0 - r2}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M16193|

; 128  :     BOOL    bReturn = FALSE;

  00010	e3a03000	 mov         r3, #0
  00014	e58d3000	 str         r3, [sp]

; 129  :    
; 130  :     if(dwSize > sizeof(CS9850_BUFFER))

  00018	e59d2018	 ldr         r2, [sp, #0x18]
  0001c	e3a03b47	 mov         r3, #0x47, 22
  00020	e3833d0f	 orr         r3, r3, #0xF, 26
  00024	e1520003	 cmp         r2, r3
  00028	9a00000a	 bls         |$L15391|

; 131  :     {
; 132  :         pCS8950Buffer       = (CS9850_BUFFER *) dwVirtualAddr;

  0002c	e59d2014	 ldr         r2, [sp, #0x14]
  00030	e59f3048	 ldr         r3, [pc, #0x48]
  00034	e5832000	 str         r2, [r3]

; 133  :         ulPhysicalOffset    = dwPhysicalAddr - dwVirtualAddr;

  00038	e59d2010	 ldr         r2, [sp, #0x10]
  0003c	e59d3014	 ldr         r3, [sp, #0x14]
  00040	e0422003	 sub         r2, r2, r3
  00044	e59f3030	 ldr         r3, [pc, #0x30]
  00048	e5832000	 str         r2, [r3]

; 134  :         bReturn = TRUE;

  0004c	e3a03001	 mov         r3, #1
  00050	e58d3000	 str         r3, [sp]

; 135  :     }
; 136  :     else

  00054	ea000001	 b           |$L15393|
  00058		 |$L15391|

; 137  :     {
; 138  :         EdbgOutputDebugString
; 139  :         (
; 140  :             "CS8950DMAInit: CS8950 DMA buffer to Small\r\n"
; 141  :         );

  00058	e59f0018	 ldr         r0, [pc, #0x18]
  0005c	eb000000	 bl          EdbgOutputDebugString
  00060		 |$L15393|

; 142  :     }
; 143  : 
; 144  :     return bReturn;

  00060	e59d3000	 ldr         r3, [sp]
  00064	e58d3004	 str         r3, [sp, #4]
  00068	e59d0004	 ldr         r0, [sp, #4]

; 145  : }

  0006c	e28dd008	 add         sp, sp, #8
  00070	e89d6000	 ldmia       sp, {sp, lr}
  00074	e12fff1e	 bx          lr
  00078		 |$L16198|
  00078	00000000	 DCD         |??_C@_0CM@KCKNOMEL@CS8950DMAInit?3?5CS8950?5DMA?5buffer@|
  0007c	00000000	 DCD         |ulPhysicalOffset|
  00080	00000000	 DCD         |pCS8950Buffer|
  00084		 |$M16194|

			 ENDP  ; |CS8950DMAInit|

	EXPORT	|??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@| [ DATA ] ; `string'
	EXPORT	|CS8950EnableInts|

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

  00000			 AREA	 |.pdata$$CS8950EnableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950EnableInts| } ; comdat associative
|$T16204| DCD	|$L16203|
	DCD	0x40001101

  00000			 AREA	 |.rdata| { |??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@| DCB "CS8950EnableInts", 0xd
	DCB	0xa, 0x0				; `string'
; Function compile flags: /Ods

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

  00000		 |CS8950EnableInts| PROC

; 557  : {

  00000		 |$L16203|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M16201|

; 558  :     EdbgOutputDebugString("CS8950EnableInts\r\n");

  00004	e59f0034	 ldr         r0, [pc, #0x34]
  00008	eb000000	 bl          EdbgOutputDebugString

; 559  :     WriteDWord(OpReg_IntEn, IntEn_RxEOFiE );

  0000c	e59f3028	 ldr         r3, [pc, #0x28]
  00010	e5933000	 ldr         r3, [r3]
  00014	e2832024	 add         r2, r3, #0x24
  00018	e3a03004	 mov         r3, #4
  0001c	e5823000	 str         r3, [r2]

; 560  :     WriteDWord(OpReg_FERMask, GIntMask_Interrupt);

  00020	e59f3014	 ldr         r3, [pc, #0x14]
  00024	e5933000	 ldr         r3, [r3]
  00028	e2832064	 add         r2, r3, #0x64
  0002c	e3a03902	 mov         r3, #2, 18
  00030	e5823000	 str         r3, [r2]

; 561  : }

  00034	e49de004	 ldr         lr, [sp], #4
  00038	e12fff1e	 bx          lr
  0003c		 |$L16206|
  0003c	00000000	 DCD         |gdwEthernetBase|
  00040	00000000	 DCD         |??_C@_0BD@HBCBOJJB@CS8950EnableInts?$AN?6?$AA@|
  00044		 |$M16202|

			 ENDP  ; |CS8950EnableInts|

	EXPORT	|??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@| [ DATA ] ; `string'
	EXPORT	|CS8950DisableInts|

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

  00000			 AREA	 |.pdata$$CS8950DisableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950DisableInts| } ; comdat associative
|$T16212| DCD	|$L16211|
	DCD	0x40001101

  00000			 AREA	 |.rdata| { |??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@| DCB "CS8950DisableInts", 0xd
	DCB	0xa, 0x0				; `string'
; Function compile flags: /Ods

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

  00000		 |CS8950DisableInts| PROC

; 570  : {

  00000		 |$L16211|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M16209|

; 571  :     EdbgOutputDebugString("CS8950DisableInts\r\n");

  00004	e59f0034	 ldr         r0, [pc, #0x34]
  00008	eb000000	 bl          EdbgOutputDebugString

; 572  :     WriteDWord(OpReg_IntEn, 0);

  0000c	e59f3028	 ldr         r3, [pc, #0x28]
  00010	e5933000	 ldr         r3, [r3]
  00014	e2832024	 add         r2, r3, #0x24
  00018	e3a03000	 mov         r3, #0
  0001c	e5823000	 str         r3, [r2]

; 573  :     WriteDWord(OpReg_FERMask, 0 );

  00020	e59f3014	 ldr         r3, [pc, #0x14]
  00024	e5933000	 ldr         r3, [r3]
  00028	e2832064	 add         r2, r3, #0x64
  0002c	e3a03000	 mov         r3, #0
  00030	e5823000	 str         r3, [r2]

; 574  : }

  00034	e49de004	 ldr         lr, [sp], #4
  00038	e12fff1e	 bx          lr
  0003c		 |$L16214|
  0003c	00000000	 DCD         |gdwEthernetBase|
  00040	00000000	 DCD         |??_C@_0BE@GMEAFCNJ@CS8950DisableInts?$AN?6?$AA@|
  00044		 |$M16210|

			 ENDP  ; |CS8950DisableInts|

	EXPORT	|??_C@_01DGKLNCNG@R?$AA@| [ DATA ]	; `string'
	EXPORT	|??_C@_01EFFIKLCJ@n?$AA@| [ DATA ]	; `string'
	EXPORT	|CS8950GetPendingInterrupts|

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

  00000			 AREA	 |.pdata$$CS8950GetPendingInterrupts|, PDATA, SELECTION=5, ASSOC=|.text| { |CS8950GetPendingInterrupts| } ; comdat associative
|$T16221| DCD	|$L16220|
	DCD	0x40002602

⌨️ 快捷键说明

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