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

📄 cfw_platform.cod

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

	TTL	C:\WINCE500\PLATFORM\Ep93xx\Src\Kernel\Hal\Common\.\cfw_platform.c
	CODE32

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


  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	|??_C@_1BO@NFDEGLPL@?$AAI?$AAn?$AAi?$AAt?$AAC?$AAl?$AAo?$AAc?$AAk?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_1EE@IILIFECD@?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAo?$AAr?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd?$AAM?$AAh?$AAz?$AA?0?$AA?5?$AAB@| [ DATA ] ; `string'
	EXPORT	|OEMInit|
	IMPORT	|DebugTimerInit|
	IMPORT	|OALCacheGlobalsInit|
	IMPORT	|GetBoardInformation|
	IMPORT	|idleconv|
	IMPORT	|InitClock|
	IMPORT	|OEMInitInterrupts|
	IMPORT	|InitDebugEther|
	IMPORT	|pTOC|
	IMPORT	|OEMQueryPerformanceFrequency|
	IMPORT	|OEMQueryPerformanceCounter|
	IMPORT	|pQueryPerformanceCounter|
	IMPORT	|pQueryPerformanceFrequency|
	IMPORT	|OEMPowerManagerInit|
	IMPORT	|NKDbgPrintfW|
	IMPORT	|dwNKDrWatsonSize|
	IMPORT	|lpWriteDebugStringFunc|
	IMPORT	|OEMInitDebugSerial|
	IMPORT	|OEMWriteDebugLED|
; File c:\wince500\platform\ep93xx\src\kernel\hal\common\cfw_platform.c

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

  00000			 AREA	 |.pdata$$OEMInit|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMInit| } ; comdat associative
|$T16640| DCD	|$L16639|
	DCD	0x40004001

  00000			 AREA	 |.rdata| { |??_C@_1EE@IILIFECD@?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAo?$AAr?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd?$AAM?$AAh?$AAz?$AA?0?$AA?5?$AAB@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EE@IILIFECD@?$AAP?$AAr?$AAo?$AAc?$AAe?$AAs?$AAs?$AAo?$AAr?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd?$AAM?$AAh?$AAz?$AA?0?$AA?5?$AAB@| DCB "P"
	DCB	0x0, "r", 0x0, "o", 0x0, "c", 0x0, "e", 0x0, "s", 0x0, "s"
	DCB	0x0, "o", 0x0, "r", 0x0, " ", 0x0, "=", 0x0, " ", 0x0, "%"
	DCB	0x0, "d", 0x0, "M", 0x0, "h", 0x0, "z", 0x0, ",", 0x0, " "
	DCB	0x0, "B", 0x0, "u", 0x0, "s", 0x0, " ", 0x0, "=", 0x0, " "
	DCB	0x0, "%", 0x0, "d", 0x0, "M", 0x0, "h", 0x0, "z", 0x0, " "
	DCB	0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0	; `string'

  00000			 AREA	 |.rdata| { |??_C@_1BO@NFDEGLPL@?$AAI?$AAn?$AAi?$AAt?$AAC?$AAl?$AAo?$AAc?$AAk?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1BO@NFDEGLPL@?$AAI?$AAn?$AAi?$AAt?$AAC?$AAl?$AAo?$AAc?$AAk?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| DCB "I"
	DCB	0x0, "n", 0x0, "i", 0x0, "t", 0x0, "C", 0x0, "l", 0x0, "o"
	DCB	0x0, "c", 0x0, "k", 0x0, ".", 0x0, ".", 0x0, ".", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'
; Function compile flags: /Ogsy

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

  00000		 |OEMInit| PROC

; 186  : {

  00000		 |$L16639|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M16637|

; 187  :     fstemp  *LogPtr;
; 188  : 
; 189  : 
; 190  : 	//
; 191  :     // Set memory size for DrWatson kernel support
; 192  : 	//
; 193  :     dwNKDrWatsonSize = 128 * 1024;

  00004	e59f30f0	 ldr         r3, [pc, #0xF0]
  00008	e3a02802	 mov         r2, #2, 16
  0000c	e5832000	 str         r2, [r3]

; 194  : 
; 195  : 	//
; 196  : 	// Initialize the Global Cache.
; 197  : 	// 
; 198  : 	OALCacheGlobalsInit();

  00010	eb000000	 bl          OALCacheGlobalsInit

; 199  : 
; 200  :     //
; 201  :     // Initialize the debug timer first.
; 202  :     //
; 203  :     DebugTimerInit();

  00014	eb000000	 bl          DebugTimerInit

; 204  : 
; 205  :     //
; 206  :     // Get the board information. Requires debug timer so we must put
; 207  :     // it after getting the boardinformation.
; 208  :     //
; 209  :     GetBoardInformation();

  00018	eb000000	 bl          GetBoardInformation

; 210  : 
; 211  :     //
; 212  :     // Initialize the debug serial port.
; 213  :     //
; 214  :     OEMInitDebugSerial();

  0001c	eb000000	 bl          OEMInitDebugSerial

; 215  :     
; 216  : 
; 217  : #ifdef DEBUG
; 218  :     //
; 219  :     // Instead of calling OEMWriteDebugString directly, call through exported
; 220  :     // function pointer.  This will allow these messages to be seen if debug
; 221  :     // message output is redirected to Ethernet or the parallel port.
; 222  :     // Otherwise, lpWriteDebugStringFunc == OEMWriteDebugString.
; 223  :     //
; 224  :     lpWriteDebugStringFunc(TEXT("Windows CE Firmware Init\r\n"));
; 225  : #endif
; 226  :     OEMWriteDebugLED(0, 0);

  00020	e3a01000	 mov         r1, #0
  00024	e3a00000	 mov         r0, #0
  00028	eb000000	 bl          OEMWriteDebugLED

; 227  : 
; 228  :     //
; 229  :     // Always boot from clean memory configuration.
; 230  :     // This is a hack, but I want to make sure that memory is cleared before 
; 231  :     // booting.
; 232  :     //
; 233  :     LogPtr = (fstemp *)(pTOC->ulRAMFree | 0x20000000);

  0002c	e59f30c4	 ldr         r3, [pc, #0xC4]

; 234  :     LogPtr->version = LogPtr->magic1 = LogPtr->magic2 = 0;
; 235  : 
; 236  : 
; 237  :     //DEBUGMSG(1, (TEXT("Boot Args @0x%x, signature 0x%08x\r\n"),
; 238  :     //             pBootArgs, pBootArgs->dwSig));
; 239  :     
; 240  :     /*
; 241  :      * Set up translation constant for GetIdleTime() (1 ms units).
; 242  :      *
; 243  :      * Note: Since curridlehigh, curridlelow is counting in ms, and
; 244  :      * GetIdleTime() reports in ms, the conversion ratio is one. If
; 245  :      * curridlehigh, curridlelow were using other units (like ticks),
; 246  :      * then the conversion would be calculated from the clock frequency.
; 247  :      */
; 248  :     idleconv = 1;
; 249  : 
; 250  :     //dpCurSettings.ulZoneMask =  0x8100;  //20 turn on loader zones
; 251  : 
; 252  : 
; 253  : 
; 254  :     /*
; 255  :      * Initialize timer used for delays in the HAL.
; 256  :      */
; 257  : #ifdef DEBUG
; 258  :     lpWriteDebugStringFunc(TEXT("Initialize timer used for delays")
; 259  :                            TEXT("in the HAL\r\n"));
; 260  : #endif
; 261  : 
; 262  :     //
; 263  :     // Start up the scheduling timer.
; 264  :     //
; 265  :     lpWriteDebugStringFunc(TEXT("InitClock...\r\n"));

  00030	e59f10bc	 ldr         r1, [pc, #0xBC]
  00034	e59f20b4	 ldr         r2, [pc, #0xB4]
  00038	e5933000	 ldr         r3, [r3]
  0003c	e3a05000	 mov         r5, #0
  00040	e59f00a4	 ldr         r0, [pc, #0xA4]
  00044	e5933018	 ldr         r3, [r3, #0x18]
  00048	e3a04001	 mov         r4, #1
  0004c	e3833202	 orr         r3, r3, #2, 4
  00050	e5835008	 str         r5, [r3, #8]
  00054	e5835004	 str         r5, [r3, #4]
  00058	e5835000	 str         r5, [r3]
  0005c	e5913000	 ldr         r3, [r1]

⌨️ 快捷键说明

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