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

📄 main.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 3 页
字号:
; 277  :     // Common bootloader main routine.
; 278  :     //
; 279  :     BootloaderMain();

  00010	eb000000	 bl          BootloaderMain

; 280  : 
; 281  :     //
; 282  :     // Should never get here.
; 283  :     //
; 284  :     SpinForever();

  00014	eb000000	 bl          SpinForever

; 285  : }

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

			 ENDP  ; |EbootMain|

	EXPORT	|OEMDebugInit|
	IMPORT	|DebugTimerInit|
	IMPORT	|OEMPCMCIAInitialize|
	IMPORT	|OEMInitDebugSerial|

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

  00000			 AREA	 |.pdata$$OEMDebugInit|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMDebugInit| } ; comdat associative
|$T39543| DCD	|$L39542|
	DCD	0x40000b02
; Function compile flags: /Ods

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

  00000		 |OEMDebugInit| PROC

; 294  : {

  00000		 |$L39542|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd004	 sub         sp, sp, #4
  00008		 |$M39540|

; 295  :     //
; 296  :     // Initialize our debug UART.
; 297  :     //
; 298  :     OEMInitDebugSerial();

  00008	eb000000	 bl          OEMInitDebugSerial

; 299  : 
; 300  :     //
; 301  :     // Initialize the debug timer.
; 302  :     //
; 303  :     DebugTimerInit();

  0000c	eb000000	 bl          DebugTimerInit

; 304  : 
; 305  :     //
; 306  :     // Initialize a PCMCIA card. Temporarily comment out.
; 307  :     //
; 308  :     OEMPCMCIAInitialize();

  00010	eb000000	 bl          OEMPCMCIAInitialize

; 309  : 
; 310  : 
; 311  :     return(TRUE);

  00014	e3a03001	 mov         r3, #1
  00018	e58d3000	 str         r3, [sp]
  0001c	e59d0000	 ldr         r0, [sp]

; 312  : }

  00020	e28dd004	 add         sp, sp, #4
  00024	e49de004	 ldr         lr, [sp], #4
  00028	e12fff1e	 bx          lr
  0002c		 |$M39541|

			 ENDP  ; |OEMDebugInit|

	EXPORT	|OEMPlatformInit|
	EXPORT	|??_C@_08NEBCJKIB@11?341?349?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_0M@FEJFCMGF@Jan?521?52008?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_0LE@IEBEGHND@?6?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN@| [ DATA ] ; `string'
	EXPORT	|??_C@_0DB@GHABIIAO@Downloading?5BIN?5file?5using?5Hard?5@| [ DATA ] ; `string'
	EXPORT	|??_C@_0CH@DBOPFGJJ@Downloading?5BIN?5file?5using?5Ether@| [ DATA ] ; `string'
	IMPORT	|OEMHDDPlatformInit|
	IMPORT	|OEMHDDPreDownload|
	IMPORT	|OEMHDDReadData|
	IMPORT	|OEMHDDDetect|
	IMPORT	|OEMEthPreDownload|
	IMPORT	|OEMEthHardwareInit|
	IMPORT	|EbootEtherReadData|

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

  00000			 AREA	 |.pdata$$OEMPlatformInit|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMPlatformInit| } ; comdat associative
|$T39551| DCD	|$L39550|
	DCD	0x40005102

  00000			 AREA	 |.rdata| { |??_C@_0CH@DBOPFGJJ@Downloading?5BIN?5file?5using?5Ether@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CH@DBOPFGJJ@Downloading?5BIN?5file?5using?5Ether@| DCB "Downloadi"
	DCB	"ng BIN file using Ethernet.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0DB@GHABIIAO@Downloading?5BIN?5file?5using?5Hard?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0DB@GHABIIAO@Downloading?5BIN?5file?5using?5Hard?5@| DCB "Download"
	DCB	"ing BIN file using Hard Drive/CF card.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0LE@IEBEGHND@?6?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0LE@IEBEGHND@?6?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN@| DCB 0xa
	DCB	"========================================================"
	DCB	"====", 0xa, "EP931x Windows CE Ethernet Bootloader ", 0xa
	DCB	"(Built on %s %s)", 0xa, "==============================="
	DCB	"=============================", 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0M@FEJFCMGF@Jan?521?52008?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0M@FEJFCMGF@Jan?521?52008?$AA@| DCB "Jan 21 2008", 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_08NEBCJKIB@11?341?349?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_08NEBCJKIB@11?341?349?$AA@| DCB "11:41:49", 0x0	; `string'
; Function compile flags: /Ods

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

  00000		 |OEMPlatformInit| PROC

; 324  : {

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

; 325  :     BOOL fRet = FALSE;

  00008	e3a03000	 mov         r3, #0
  0000c	e58d3004	 str         r3, [sp, #4]

; 326  :     UCHAR i = 0;

  00010	e3a03000	 mov         r3, #0
  00014	e5cd3000	 strb        r3, [sp]

; 327  : 
; 328  :     EdbgOutputDebugString("\n============================================================\n"
; 329  :                           "EP931x Windows CE Ethernet Bootloader \n"
; 330  :                           "(Built on %s %s)"
; 331  :                           "\n============================================================\n",
; 332  :                           __DATE__, __TIME__);

  00018	e59f2120	 ldr         r2, [pc, #0x120]
  0001c	e59f1118	 ldr         r1, [pc, #0x118]
  00020	e59f0110	 ldr         r0, [pc, #0x110]
  00024	eb000000	 bl          EdbgOutputDebugString

; 333  : 
; 334  :     //
; 335  :     // RLG temp.
; 336  :     //
; 337  : 
; 338  :     #if 0
; 339  :     //
; 340  :     // Initiailize the parallel port
; 341  :     //    
; 342  :     OEMInitParallelPort();
; 343  :     
; 344  :     //
; 345  :     // Check to see if the parallel port is ready.
; 346  :     //
; 347  :     if (OEMIsParallelReady()) 
; 348  :     {
; 349  :         EdbgOutputDebugString("Downloading BIN file using parallel port.\r\n");
; 350  :         pfnPlatformInit2 = NULL;
; 351  :         pfnPreDownload   = ParallelPreDownload;
; 352  :         pfnReadData      = ParallelPortRead;
; 353  :         bEthLaunch       = FALSE;
; 354  :         fRet             = TRUE;
; 355  :     } else
; 356  :     #endif // 0
; 357  : #if (defined  EDB9307_12_15 )||( defined EDB9315A  )
; 358  :     if(OEMHDDDetect())

  00028	eb000000	 bl          OEMHDDDetect
  0002c	e58d000c	 str         r0, [sp, #0xC]
  00030	e59d300c	 ldr         r3, [sp, #0xC]
  00034	e3530000	 cmp         r3, #0
  00038	0a000010	 beq         |$L39449|

; 359  :     {
; 360  :         EdbgOutputDebugString("Downloading BIN file using Hard Drive/CF card.\r\n");

  0003c	e59f00f0	 ldr         r0, [pc, #0xF0]
  00040	eb000000	 bl          EdbgOutputDebugString

; 361  :         pfnPlatformInit2 = OEMHDDPlatformInit;

  00044	e59f20e4	 ldr         r2, [pc, #0xE4]
  00048	e59f30b4	 ldr         r3, [pc, #0xB4]
  0004c	e5832000	 str         r2, [r3]

; 362  :         pfnPreDownload   = OEMHDDPreDownload;

  00050	e59f20d4	 ldr         r2, [pc, #0xD4]
  00054	e59f30bc	 ldr         r3, [pc, #0xBC]
  00058	e5832000	 str         r2, [r3]

; 363  :         pfnReadData      = OEMHDDReadData;

  0005c	e59f20c4	 ldr         r2, [pc, #0xC4]
  00060	e59f30a8	 ldr         r3, [pc, #0xA8]
  00064	e5832000	 str         r2, [r3]

; 364  :         bEthLaunch       = FALSE;

  00068	e59f2098	 ldr         r2, [pc, #0x98]
  0006c	e3a03000	 mov         r3, #0
  00070	e5823000	 str         r3, [r2]

; 365  :         fRet             = TRUE;

  00074	e3a03001	 mov         r3, #1
  00078	e58d3004	 str         r3, [sp, #4]

; 366  :     }
; 367  :     else  

  0007c	ea000012	 b           |$L39451|
  00080		 |$L39449|

; 368  : #endif
; 369  :     {
; 370  :         EdbgOutputDebugString("Downloading BIN file using Ethernet.\r\n");

  00080	e59f009c	 ldr         r0, [pc, #0x9C]
  00084	eb000000	 bl          EdbgOutputDebugString

; 371  :         pfnPlatformInit2 = OEMEthHardwareInit;

  00088	e59f2090	 ldr         r2, [pc, #0x90]
  0008c	e59f3070	 ldr         r3, [pc, #0x70]
  00090	e5832000	 str         r2, [r3]

; 372  :         pfnPreDownload   = OEMEthPreDownload;

  00094	e59f2080	 ldr         r2, [pc, #0x80]
  00098	e59f3078	 ldr         r3, [pc, #0x78]
  0009c	e5832000	 str         r2, [r3]

; 373  :         pfnReadData      = EbootEtherReadData;

  000a0	e59f206c	 ldr         r2, [pc, #0x6C]
  000a4	e59f3064	 ldr         r3, [pc, #0x64]
  000a8	e5832000	 str         r2, [r3]

; 374  : 
; 375  :         //
; 376  :         // This tells the kernel to connect to the ethernet debugger.
; 377  :         //
; 378  :         pDriverGlobals->eth.EbootMagicNum = EBOOT_MAGIC_NUM;

  000ac	e3a02b22	 mov         r2, #0x22, 22
  000b0	e59f3054	 ldr         r3, [pc, #0x54]
  000b4	e5823000	 str         r3, [r2]

; 379  :         bEthLaunch       = TRUE;

  000b8	e59f2048	 ldr         r2, [pc, #0x48]
  000bc	e3a03001	 mov         r3, #1
  000c0	e5823000	 str         r3, [r2]

; 380  :         fRet             = TRUE;

  000c4	e3a03001	 mov         r3, #1
  000c8	e58d3004	 str         r3, [sp, #4]
  000cc		 |$L39451|

; 381  :     }
; 382  : 
; 383  : 
; 384  :     //
; 385  :     // Initialize ethernet.
; 386  :     //
; 387  :     if(pfnPlatformInit2)

  000cc	e59f3030	 ldr         r3, [pc, #0x30]
  000d0	e5933000	 ldr         r3, [r3]
  000d4	e3530000	 cmp         r3, #0
  000d8	0a000003	 beq         |$L39454|

; 388  :         pfnPlatformInit2();

  000dc	e59f3020	 ldr         r3, [pc, #0x20]
  000e0	e5933000	 ldr         r3, [r3]
  000e4	e1a0e00f	 mov         lr, pc
  000e8	e12fff13	 bx          r3
  000ec		 |$L39454|

; 389  : 
; 390  : 
; 391  :     return(fRet);

  000ec	e59d3004	 ldr         r3, [sp, #4]
  000f0	e58d3008	 str         r3, [sp, #8]
  000f4	e59d0008	 ldr         r0, [sp, #8]

; 392  : }

  000f8	e28dd010	 add         sp, sp, #0x10
  000fc	e49de004	 ldr         lr, [sp], #4
  00100	e12fff1e	 bx          lr
  00104		 |$L39553|
  00104	00000000	 DCD         |pfnPlatformInit2|
  00108	00000000	 DCD         |bEthLaunch|
  0010c	45424f54	 DCD         0x45424f54
  00110	00000000	 DCD         |pfnReadData|
  00114	00000000	 DCD         |EbootEtherReadData|
  00118	00000000	 DCD         |pfnPreDownload|
  0011c	00000000	 DCD         |OEMEthPreDownload|
  00120	00000000	 DCD         |OEMEthHardwareInit|
  00124	00000000	 DCD         |??_C@_0CH@DBOPFGJJ@Downloading?5BIN?5file?5using?5Ether@|
  00128	00000000	 DCD         |OEMHDDReadData|
  0012c	00000000	 DCD         |OEMHDDPreDownload|
  00130	00000000	 DCD         |OEMHDDPlatformInit|
  00134	00000000	 DCD         |??_C@_0DB@GHABIIAO@Downloading?5BIN?5file?5using?5Hard?5@|
  00138	00000000	 DCD         |??_C@_0LE@IEBEGHND@?6?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN?$DN@|
  0013c	00000000	 DCD         |??_C@_0M@FEJFCMGF@Jan?521?52008?$AA@|
  00140	00000000	 DCD         |??_C@_08NEBCJKIB@11?341?349?$AA@|
  00144		 |$M39549|

			 ENDP  ; |OEMPlatformInit|

	EXPORT	|OEMPreDownload|

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

  00000			 AREA	 |.pdata$$OEMPreDownload|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMPreDownload| } ; comdat associative
|$T39560| DCD	|$L39559|
	DCD	0x40001702
; Function compile flags: /Ods

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

  00000		 |OEMPreDownload| PROC

; 402  : {

  00000		 |$L39559|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd00c	 sub         sp, sp, #0xC
  00008		 |$M39557|

; 403  :     DWORD   dwReturnValue = BL_ERROR;

  00008	e3e03000	 mvn         r3, #0
  0000c	e58d3000	 str         r3, [sp]

; 404  : 
; 405  :     //
; 406  :     // Read the data in from the device.
; 407  :     //
; 408  :     if(pfnReadData)

  00010	e59f3040	 ldr         r3, [pc, #0x40]
  00014	e5933000	 ldr         r3, [r3]
  00018	e3530000	 cmp         r3, #0
  0001c	0a000006	 beq         |$L39457|

; 409  :         dwReturnValue = pfnPreDownload();

  00020	e59f302c	 ldr         r3, [pc, #0x2C]
  00024	e5933000	 ldr         r3, [r3]
  00028	e1a0e00f	 mov         lr, pc
  0002c	e12fff13	 bx          r3
  00030	e58d0008	 str         r0, [sp, #8]
  00034	e59d3008	 ldr         r3, [sp, #8]
  00038	e58d3000	 str         r3, [sp]
  0003c		 |$L39457|

; 410  : 
; 411  :     return dwReturnValue;    

  0003c	e59d3000	 ldr         r3, [sp]
  00040	e58d3004	 str         r3, [sp, #4]
  00044	e59d0004	 ldr         r0, [sp, #4]

; 412  : }

  00048	e28dd00c	 add         sp, sp, #0xC
  0004c	e49de004	 ldr         lr, [sp], #4
  00050	e12fff1e	 bx          lr
  00054		 |$L39562|
  00054	00000000	 DCD         |pfnPreDownload|
  00058	00000000	 DCD         |pfnReadData|
  0005c		 |$M39558|

			 ENDP  ; |OEMPreDownload|

	END

⌨️ 快捷键说明

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