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

📄 halether.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00090	e59fa1b4	 ldr         r10, [pc, #0x1B4]
  00094	e59f01ac	 ldr         r0, [pc, #0x1AC]
  00098	e5823000	 str         r3, [r2]
  0009c	e3a03000	 mov         r3, #0
  000a0	e59f719c	 ldr         r7, [pc, #0x19C]
  000a4	e59f8194	 ldr         r8, [pc, #0x194]
  000a8	e59f518c	 ldr         r5, [pc, #0x18C]
  000ac	e59f6184	 ldr         r6, [pc, #0x184]
  000b0	e59fe17c	 ldr         lr, [pc, #0x17C]
  000b4	e58a9000	 str         r9, [r10]
  000b8	e59fa170	 ldr         r10, [pc, #0x170]
  000bc	e5813000	 str         r3, [r1]

; 226  : 
; 227  : 
; 228  :         //
; 229  :         // CS8950 DMA's to SDRAM.  Need to give the library a physical and virtual
; 230  :         // address to uncached memory.
; 231  :         //
; 232  :         bTemp = CS8950DMAInit
; 233  :         (
; 234  :             CS8950_PHYSICAL_MEMORY, 
; 235  :             CS8950_VIRTUAL_MEMORY, 
; 236  :             CS8950_MEMORY_SIZE
; 237  :         );

  000c0	e59d400c	 ldr         r4, [sp, #0xC]
  000c4	e3a03000	 mov         r3, #0
  000c8	e59fb15c	 ldr         r11, [pc, #0x15C]
  000cc	e5803000	 str         r3, [r0]
  000d0	e3a03017	 mov         r3, #0x17
  000d4	e58a7000	 str         r7, [r10]
  000d8	e5885000	 str         r5, [r8]
  000dc	e586e000	 str         lr, [r6]
  000e0	e584300c	 str         r3, [r4, #0xC]
  000e4	e3a0120a	 mov         r1, #0xA, 4
  000e8	e3a03001	 mov         r3, #1
  000ec	e3811801	 orr         r1, r1, #1, 16
  000f0	e3a02803	 mov         r2, #3, 16
  000f4	e3a00801	 mov         r0, #1, 16
  000f8	e58b3000	 str         r3, [r11]
  000fc	eb000000	 bl          CS8950DMAInit
  00100	e3500000	 cmp         r0, #0

; 238  : 
; 239  :         if(!bTemp)
; 240  :         {
; 241  :             EdbgOutputDebugString("ERROR: Failed to Initialize CS8950 DMA buffer.\r\n");

  00104	059f011c	 ldreq       r0, [pc, #0x11C]
  00108	0a000021	 beq         |$L15793|

; 242  :             return FALSE;
; 243  :         }
; 244  : 
; 245  : 
; 246  :         //
; 247  :         // We need to do this since the board does not have a MAC address.
; 248  :         // Lets use the same mac address as eboot.
; 249  :         //
; 250  :         CS8950WriteEEPROM(0, pDriverGlobals->eth.EdbgAddr.wMAC[0]);

  0010c	e59f3110	 ldr         r3, [pc, #0x110]
  00110	e3a00000	 mov         r0, #0
  00114	e1d310b0	 ldrh        r1, [r3]
  00118	eb000000	 bl          CS8950WriteEEPROM

; 251  :         CS8950WriteEEPROM(1, pDriverGlobals->eth.EdbgAddr.wMAC[1]);

  0011c	e59f30fc	 ldr         r3, [pc, #0xFC]
  00120	e3a00001	 mov         r0, #1
  00124	e1d310b0	 ldrh        r1, [r3]
  00128	eb000000	 bl          CS8950WriteEEPROM

; 252  :         CS8950WriteEEPROM(2, pDriverGlobals->eth.EdbgAddr.wMAC[2]);

  0012c	e59f30e8	 ldr         r3, [pc, #0xE8]
  00130	e3a00002	 mov         r0, #2
  00134	e1d310b0	 ldrh        r1, [r3]
  00138	eb000000	 bl          CS8950WriteEEPROM

; 253  :         EdbgOutputDebugString("INFO: EDBG using Internal EP931x controller.\r\n");

  0013c	e59f00d4	 ldr         r0, [pc, #0xD4]
  00140	eb000000	 bl          EdbgOutputDebugString

; 262  :         return (FALSE);
; 263  :     }
; 264  : 
; 265  :     //
; 266  :     // Initialize the ethernet device.
; 267  :     //
; 268  :     //
; 269  :     if (!pfnEDbgInit((BYTE *) pulEthernetBase,1,pAdapter->Addr.wMAC) )

  00144	e59f20c8	 ldr         r2, [pc, #0xC8]
  00148	e3a0020b	 mov         r0, #0xB, 4
  0014c	e3800801	 orr         r0, r0, #1, 16
  00150	e5923000	 ldr         r3, [r2]
  00154	e2842004	 add         r2, r4, #4
  00158	e3a01001	 mov         r1, #1
  0015c	e1a0e00f	 mov         lr, pc
  00160	e12fff13	 bx          r3
  00164	e3500000	 cmp         r0, #0

; 270  :     {
; 271  :         return (FALSE);

  00168	0a00000a	 beq         |$L15792|

; 272  :     }
; 273  : 
; 274  :     //
; 275  :     // Check the MAC address - this can be invalid if the switches are set wrong.
; 276  :     //
; 277  :     if ( !pAdapter->Addr.wMAC[0] && !pAdapter->Addr.wMAC[1] && !pAdapter->Addr.wMAC[2] ) 

  0016c	e1d430b4	 ldrh        r3, [r4, #4]
  00170	e3530000	 cmp         r3, #0
  00174	1a000009	 bne         |$L15582|
  00178	e1d430b6	 ldrh        r3, [r4, #6]
  0017c	e3530000	 cmp         r3, #0
  00180	1a000006	 bne         |$L15582|
  00184	e1d430b8	 ldrh        r3, [r4, #8]
  00188	e3530000	 cmp         r3, #0
  0018c	1a000003	 bne         |$L15582|

; 278  :     {
; 279  :         EdbgOutputDebugString
; 280  :         (
; 281  :             "Invalid Ethernet address read from the debug ethernet controller, check switch settings\n"
; 282  :         );

  00190	e59f0078	 ldr         r0, [pc, #0x78]
  00194		 |$L15793|
  00194	eb000000	 bl          EdbgOutputDebugString
  00198		 |$L15792|

; 283  :         return (FALSE);

  00198	e3a00000	 mov         r0, #0
  0019c	ea000016	 b           |$L15554|
  001a0		 |$L15582|

; 284  :     }
; 285  : 
; 286  :     //
; 287  :     // Save out local mac address.
; 288  :     //
; 289  :     memcpy ((char *)wLocalMAC, pAdapter->Addr.wMAC, sizeof(wLocalMAC));

  001a0	e59f5064	 ldr         r5, [pc, #0x64]
  001a4	e5943004	 ldr         r3, [r4, #4]

; 290  :     
; 291  :     EdbgOutputDebugString("Debug Ethernet card initialized, MAC Address:%B:%B:%B:%B:%B:%B\r\n",
; 292  :                           pAdapter->Addr.wMAC[0] & 0x00FF, pAdapter->Addr.wMAC[0] >> 8,
; 293  :                           pAdapter->Addr.wMAC[1] & 0x00FF, pAdapter->Addr.wMAC[1] >> 8,
; 294  :                           pAdapter->Addr.wMAC[2] & 0x00FF, pAdapter->Addr.wMAC[2] >> 8  );

  001a8	e59f0058	 ldr         r0, [pc, #0x58]
  001ac	e5853000	 str         r3, [r5]
  001b0	e1d430b8	 ldrh        r3, [r4, #8]
  001b4	e1c530b4	 strh        r3, [r5, #4]
  001b8	e1d420b8	 ldrh        r2, [r4, #8]
  001bc	e1d4e0b6	 ldrh        lr, [r4, #6]
  001c0	e1d440b4	 ldrh        r4, [r4, #4]
  001c4	e1a03422	 mov         r3, r2, lsr #8
  001c8	e20220ff	 and         r2, r2, #0xFF
  001cc	e1a0142e	 mov         r1, lr, lsr #8
  001d0	e58d2004	 str         r2, [sp, #4]
  001d4	e58d3008	 str         r3, [sp, #8]
  001d8	e58d1000	 str         r1, [sp]
  001dc	e1a02424	 mov         r2, r4, lsr #8
  001e0	e20e30ff	 and         r3, lr, #0xFF
  001e4	e20410ff	 and         r1, r4, #0xFF
  001e8	eb000000	 bl          EdbgOutputDebugString

; 295  : 
; 296  : #ifdef IMGSHAREETH 
; 297  :     VBridgeInit();

  001ec	eb000000	 bl          VBridgeInit

; 298  :     VBridgeKSetLocalMacAddress((char *)wLocalMAC);

  001f0	e1a00005	 mov         r0, r5
  001f4	eb000000	 bl          VBridgeKSetLocalMacAddress

; 299  : #endif
; 300  : 
; 301  : 
; 302  : 
; 303  :     // Enable filtering of broadcast packets (all except ARP packets) to reduce 
; 304  :     // overhead.  We still have to take an interrupt, but the driver can 
; 305  :     // quickly determine whether a packet may be discarded without having to 
; 306  :     // copy all the data from the chip.   Note that we cannot turn this option 
; 307  :     // on until DHCP is done processing, since some DHCP servers return 
; 308  :     // responses in broadcast frames.
; 309  : 
; 310  : #ifndef IMGSHAREETH
; 311  :     if (pAdapter->Addr.dwIP)
; 312  :         pfnEDbgSetOptions(OPT_BROADCAST_FILTERING);
; 313  : #endif
; 314  : 
; 315  :     DEBUGMSG(1, (TEXT("-OEMEthInit\r\n")));
; 316  : 
; 317  :     return (TRUE);

  001f8	e3a00001	 mov         r0, #1
  001fc		 |$L15554|

; 318  : }

  001fc	e28dd010	 add         sp, sp, #0x10
  00200	e8bd4ff0	 ldmia       sp!, {r4 - r11, lr}
  00204	e12fff1e	 bx          lr
  00208		 |$L15799|
  00208	00000000	 DCD         |??_C@_0EB@OCIBNHJ@Debug?5Ethernet?5card?5initialized?0@|
  0020c	00000000	 DCD         |wLocalMAC|
  00210	00000000	 DCD         |??_C@_0FJ@KCKIBPLK@Invalid?5Ethernet?5address?5read?5fr@|
  00214	00000000	 DCD         |pfnEDbgInit|
  00218	00000000	 DCD         |??_C@_0CP@NBFCGBLJ@INFO?3?5EDBG?5using?5Internal?5EP931x@|
  0021c	a0008818	 DCD         0xa0008818
  00220	a0008816	 DCD         0xa0008816
  00224	a0008814	 DCD         0xa0008814
  00228	00000000	 DCD         |??_C@_0DB@BDHKKPD@ERROR?3?5Failed?5to?5Initialize?5CS89@|
  0022c	00000000	 DCD         |gulCS8950KitlUsed|
  00230	00000000	 DCD         |pfnEDbgGetFrame|
  00234	00000000	 DCD         |CS8950ReadEEPROM|
  00238	00000000	 DCD         |pfnEDbgReadEEPROM|
  0023c	00000000	 DCD         |CS8950SendFrame|
  00240	00000000	 DCD         |pfnEDbgSendFrame|
  00244	00000000	 DCD         |CS8950GetFrame|
  00248	00000000	 DCD         |pfnMulticastList|
  0024c	00000000	 DCD         |pfnEDbgGetPendingInts|
  00250	00000000	 DCD         |CS8950GetPendingInterrupts|
  00254	00000000	 DCD         |pfnEDbgDisableInts|
  00258	00000000	 DCD         |CS8950DisableInts|
  0025c	00000000	 DCD         |pfnCurrentPacketFilter|
  00260	00000000	 DCD         |pfnEDbgSetOptions|
  00264	00000000	 DCD         |pfnEDbgEnableInts|
  00268	00000000	 DCD         |CS8950EnableInts|
  0026c	00000000	 DCD         |CS8950WriteEEPROM|
  00270	00000000	 DCD         |pfnEDbgWriteEEPROM|
  00274	00000000	 DCD         |CS8950Init|
  00278	00000000	 DCD         |??_C@_0DF@EEJMMMNB@Unsupported?5debug?5Ethernet?5param@|
  0027c	a0008860	 DCD         0xa0008860
  00280	a000885c	 DCD         0xa000885c
  00284	a0008858	 DCD         0xa0008858
  00288	a0008810	 DCD         0xa0008810
  0028c		 |$M15795|

			 ENDP  ; |OEMEthInit|

	EXPORT	|OEMEthEnableInts|

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

  00000			 AREA	 |.pdata$$OEMEthEnableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthEnableInts| } ; comdat associative
|$T15805| DCD	|$L15804|
	DCD	0x40000901
; Function compile flags: /Ogsy

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

  00000		 |OEMEthEnableInts| PROC

; 327  : {

  00000		 |$L15804|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M15802|

; 328  : 
; 329  :     if(pfnEDbgEnableInts)

  00004	e59f2014	 ldr         r2, [pc, #0x14]
  00008	e5923000	 ldr         r3, [r2]
  0000c	e3530000	 cmp         r3, #0

; 330  :     {
; 331  :         pfnEDbgEnableInts();

  00010	11a0e00f	 movne       lr, pc
  00014	112fff13	 bxne        r3

; 332  :     }
; 333  : }

  00018	e49de004	 ldr         lr, [sp], #4
  0001c	e12fff1e	 bx          lr
  00020		 |$L15807|
  00020	00000000	 DCD         |pfnEDbgEnableInts|
  00024		 |$M15803|

			 ENDP  ; |OEMEthEnableInts|

	EXPORT	|OEMEthDisableInts|

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

  00000			 AREA	 |.pdata$$OEMEthDisableInts|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMEthDisableInts| } ; comdat associative
|$T15813| DCD	|$L15812|
	DCD	0x40000901
; Function compile flags: /Ogsy

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

  00000		 |OEMEthDisableInts| PROC

; 341  : {

  00000		 |$L15812|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M15810|

; 342  :     if(pfnEDbgDisableInts)

  00004	e59f2014	 ldr         r2, [pc, #0x14]
  00008	e5923000	 ldr         r3, [r2]
  0000c	e3530000	 cmp         r3, #0

; 343  :     {
; 344  :         pfnEDbgDisableInts();

  00010	11a0e00f	 movne       lr, pc
  00014	112fff13	 bxne        r3

; 345  :     }
; 346  : }

  00018	e49de004	 ldr         lr, [sp], #4
  0001c	e12fff1e	 bx          lr
  00020		 |$L15815|
  00020	00000000	 DCD         |pfnEDbgDisableInts|
  00024		 |$M15811|

			 ENDP  ; |OEMEthDisableInts|

	EXPORT	|ProcessVMiniSend|
	IMPORT	|VBridgeKGetOneTxBuffer|
	IMPORT	|VBridgeKGetOneTxBufferComplete|

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

  00000			 AREA	 |.pdata$$ProcessVMiniSend|, PDATA, SELECTION=5, ASSOC=|.text| { |ProcessVMiniSend| } ; comdat associative
|$T15823| DCD	|$L15822|
	DCD	0x40001802
; Function compile flags: /Ogsy

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

  00000		 |ProcessVMiniSend| PROC

; 358  : {

  00000		 |$L15822|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M15820|

; 359  :     PBYTE   pVMiniData;
; 360  :     DWORD   dwVMiniDataLength;
; 361  : 
; 362  : // pfnCurrentPacketFilter is NULL.
; 363  : // EP93xx has been enabled to receive all of multicast addresses when OEMEthMulticastList() was called.
; 364  : // Therefore, no need to handle the new filter and the new Multicast list.
; 365  : #if 0
; 366  :     ////////////////////////////////////////////////////////////////////////////
; 367  :     //  Handle the filter if we need to..
; 368  :     //
; 369  :     if (bNewFilter && pfnCurrentPacketFilter)
; 370  :     {
; 371  :         bNewFilter = FALSE;     
; 372  :         pfnCurrentPacketFilter(dwFilter);

⌨️ 快捷键说明

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