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

📄 cfw_platform.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 2 页
字号:
  00060	e5824000	 str         r4, [r2]
  00064	e1a0e00f	 mov         lr, pc
  00068	e12fff13	 bx          r3

; 266  :     InitClock();

  0006c	eb000000	 bl          InitClock

; 267  : 
; 268  :     //
; 269  :     // Initialize interrupts.
; 270  :     //
; 271  :     OEMInitInterrupts();

  00070	eb000000	 bl          OEMInitInterrupts

; 272  : 
; 273  :     OEMPowerManagerInit();

  00074	eb000000	 bl          OEMPowerManagerInit

; 274  :     // Only support one core module (0) under CE - interrupts come in on IRQ0.
; 275  :     // ARM doesn't use HookInterrupt - OEMInterruptHandler called by kernel
; 276  :     // instead.
; 277  : 
; 278  : #ifdef DEBUG
; 279  :     //      dpCurSettings.ulZoneMask = 0xffffffff;
; 280  :     lpWriteDebugStringFunc(TEXT("Firmware Init Done.\r\n"));
; 281  : #endif
; 282  : 
; 283  :     //
; 284  :     // Initialize EDBG/KITL if a bootloader started us.
; 285  :     //
; 286  :     //if (pBootArgs->ucLoaderFlags & LDRFL_USE_EDBG)
; 287  :     //    InitDebugEther();
; 288  : 
; 289  :     if((DRIVER_GLOBALS_POINTER)->eth.EbootMagicNum == EBOOT_MAGIC_NUM ||
; 290  :        (DRIVER_GLOBALS_POINTER)->eth.EbootMagicNum == PARALLEL_MAGIC_NUM)

  00078	e3a0320a	 mov         r3, #0xA, 4
  0007c	e3833b22	 orr         r3, r3, #0x22, 22
  00080	e5931000	 ldr         r1, [r3]
  00084	e59f205c	 ldr         r2, [pc, #0x5C]
  00088	e1510002	 cmp         r1, r2
  0008c	0a000002	 beq         |$L16584|
  00090	e59f304c	 ldr         r3, [pc, #0x4C]
  00094	e1510003	 cmp         r1, r3
  00098	1a000000	 bne         |$L16583|
  0009c		 |$L16584|

; 291  :     {
; 292  :         InitDebugEther();

  0009c	eb000000	 bl          InitDebugEther
  000a0		 |$L16583|

; 293  :     }
; 294  : 
; 295  : #ifdef  EP93XX_CRUNCH
; 296  :     //
; 297  :     // Set up the coprocessor environment variables.
; 298  :     //
; 299  :     cbNKCoProcRegSize               = 0xB8;
; 300  :     fNKSaveCoProcReg                = 1;
; 301  :     pOEMSaveCoProcRegister          = OEMSaveCoProcRegister;
; 302  :     pOEMRestoreCoProcRegister       = OEMRestoreCoProcRegister;
; 303  :     pOEMInitCoProcRegisterSavedArea = OEMInitCoProcRegisterSavedArea;
; 304  : 
; 305  : #endif // EP93XX_CRUNCH
; 306  : 
; 307  : 	pQueryPerformanceCounter   =OEMQueryPerformanceCounter;

  000a0	e59fe038	 ldr         lr, [pc, #0x38]
  000a4	e59f2030	 ldr         r2, [pc, #0x30]

; 308  : 	pQueryPerformanceFrequency =OEMQueryPerformanceFrequency;

  000a8	e59f1028	 ldr         r1, [pc, #0x28]
  000ac	e59f3020	 ldr         r3, [pc, #0x20]

; 309  : 
; 310  : #if (defined EDB9302A ) || (defined EDB9301_02)
; 311  : 	pNKEnumExtensionDRAM =OEMEnumExtensionDRAM;
; 312  : #endif
; 313  :     // Print out the current clock rates to the debug port.
; 314  :     //
; 315  :     NKDbgPrintfW
; 316  :     (
; 317  :         L"Processor = %dMhz, Bus = %dMhz \r\n", 
; 318  :         (REAL_FCLOCK/1000000), 
; 319  :         (REAL_HCLOCK/1000000)
; 320  :     );

  000b0	e59f0018	 ldr         r0, [pc, #0x18]
  000b4	e58e2000	 str         r2, [lr]
  000b8	e5813000	 str         r3, [r1]
  000bc	e3a02063	 mov         r2, #0x63
  000c0	e3a010c7	 mov         r1, #0xC7
  000c4	eb000000	 bl          NKDbgPrintfW

; 321  : }

  000c8	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  000cc	e12fff1e	 bx          lr
  000d0		 |$L16642|
  000d0	00000000	 DCD         |??_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@|
  000d4	00000000	 DCD         |OEMQueryPerformanceFrequency|
  000d8	00000000	 DCD         |pQueryPerformanceFrequency|
  000dc	00000000	 DCD         |OEMQueryPerformanceCounter|
  000e0	00000000	 DCD         |pQueryPerformanceCounter|
  000e4	50415241	 DCD         0x50415241
  000e8	45424f54	 DCD         0x45424f54
  000ec	00000000	 DCD         |??_C@_1BO@NFDEGLPL@?$AAI?$AAn?$AAi?$AAt?$AAC?$AAl?$AAo?$AAc?$AAk?$AA?4?$AA?4?$AA?4?$AA?$AN?$AA?6?$AA?$AA@|
  000f0	00000000	 DCD         |idleconv|
  000f4	00000000	 DCD         |lpWriteDebugStringFunc|
  000f8	00000000	 DCD         |pTOC|
  000fc	00000000	 DCD         |dwNKDrWatsonSize|
  00100		 |$M16638|

			 ENDP  ; |OEMInit|

	EXPORT	|??_C@_1CM@CFLELEAM@?$AAO?$AAE?$AAM?$AAG?$AAe?$AAt?$AAE?$AAx?$AAt?$AAe?$AAn?$AAs?$AAi?$AAo?$AAn?$AAD?$AAR?$AAA?$AAM?$AA?$AN@| [ DATA ] ; `string'
	EXPORT	|OEMGetExtensionDRAM|

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

  00000			 AREA	 |.pdata$$OEMGetExtensionDRAM|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMGetExtensionDRAM| } ; comdat associative
|$T16650| DCD	|$L16649|
	DCD	0x40000b01

  00000			 AREA	 |.rdata| { |??_C@_1CM@CFLELEAM@?$AAO?$AAE?$AAM?$AAG?$AAe?$AAt?$AAE?$AAx?$AAt?$AAe?$AAn?$AAs?$AAi?$AAo?$AAn?$AAD?$AAR?$AAA?$AAM?$AA?$AN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CM@CFLELEAM@?$AAO?$AAE?$AAM?$AAG?$AAe?$AAt?$AAE?$AAx?$AAt?$AAe?$AAn?$AAs?$AAi?$AAo?$AAn?$AAD?$AAR?$AAA?$AAM?$AA?$AN@| DCB "O"
	DCB	0x0, "E", 0x0, "M", 0x0, "G", 0x0, "e", 0x0, "t", 0x0, "E"
	DCB	0x0, "x", 0x0, "t", 0x0, "e", 0x0, "n", 0x0, "s", 0x0, "i"
	DCB	0x0, "o", 0x0, "n", 0x0, "D", 0x0, "R", 0x0, "A", 0x0, "M"
	DCB	0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0	; `string'
; Function compile flags: /Ogsy

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

  00000		 |OEMGetExtensionDRAM| PROC

; 331  : {

  00000		 |$L16649|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M16647|

; 332  : 	BOOL bRet=FALSE;
; 333  : 
; 334  : 	lpWriteDebugStringFunc(TEXT("OEMGetExtensionDRAM\r\n"));

  00004	e59f301c	 ldr         r3, [pc, #0x1C]
  00008	e59f0014	 ldr         r0, [pc, #0x14]
  0000c	e5933000	 ldr         r3, [r3]
  00010	e1a0e00f	 mov         lr, pc
  00014	e12fff13	 bx          r3

; 335  : //Only implemented for EDB9307A as a sample, please double check config.bib before changing 
; 336  : //this function.
; 337  : 
; 338  : #if (defined EDB9307A )|| (defined EDB9315A)
; 339  : 
; 340  : 	#ifdef IMGFLASH
; 341  : 		*lpMemStart = (SDRAM_VIRTUAL_MEMORY + 0x2000000);
; 342  : 		*lpMemLen   = 0x2000000;
; 343  : 		bRet=TRUE;
; 344  : 	#else
; 345  : 		//umask these three lines when doing release
; 346  : /*
; 347  : 		*lpMemStart = (SDRAM_VIRTUAL_MEMORY + 0x1200000);
; 348  : 		*lpMemLen   = 0xE00000;
; 349  : 		bRet=TRUE;
; 350  : */	#endif
; 351  : 
; 352  : #endif
; 353  : 
; 354  : 	return bRet;

  00018	e3a00000	 mov         r0, #0

; 355  : }

  0001c	e49de004	 ldr         lr, [sp], #4
  00020	e12fff1e	 bx          lr
  00024		 |$L16652|
  00024	00000000	 DCD         |??_C@_1CM@CFLELEAM@?$AAO?$AAE?$AAM?$AAG?$AAe?$AAt?$AAE?$AAx?$AAt?$AAe?$AAn?$AAs?$AAi?$AAo?$AAn?$AAD?$AAR?$AAA?$AAM?$AA?$AN@|
  00028	00000000	 DCD         |lpWriteDebugStringFunc|
  0002c		 |$M16648|

			 ENDP  ; |OEMGetExtensionDRAM|

	EXPORT	|OEMTranslateIrq|

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

  00000			 AREA	 |.pdata$$OEMTranslateIrq|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMTranslateIrq| } ; comdat associative
|$T16661| DCD	|$L16660|
	DCD	0x40000100
; Function compile flags: /Ogsy

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

  00000		 |OEMTranslateIrq| PROC

; 431  : {

  00000		 |$L16660|
  00000		 |$M16658|

; 432  :     return Irq;
; 433  : }

  00000	e12fff1e	 bx          lr
  00004		 |$M16659|

			 ENDP  ; |OEMTranslateIrq|

	EXPORT	|OEMTranslateSysIntr|

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

  00000			 AREA	 |.pdata$$OEMTranslateSysIntr|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMTranslateSysIntr| } ; comdat associative
|$T16671| DCD	|$L16670|
	DCD	0x40000100
; Function compile flags: /Ogsy

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

  00000		 |OEMTranslateSysIntr| PROC

; 447  : {

  00000		 |$L16670|
  00000		 |$M16668|

; 448  :     return SysIntr;
; 449  : }

  00000	e12fff1e	 bx          lr
  00004		 |$M16669|

			 ENDP  ; |OEMTranslateSysIntr|

	EXPORT	|OEMRequestSysIntr|

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

  00000			 AREA	 |.pdata$$OEMRequestSysIntr|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMRequestSysIntr| } ; comdat associative
|$T16681| DCD	|$L16680|
	DCD	0x40000100
; Function compile flags: /Ogsy

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

  00000		 |OEMRequestSysIntr| PROC

; 462  : {

  00000		 |$L16680|
  00000		 |$M16678|

; 463  :     return Irq;
; 464  : }

  00000	e12fff1e	 bx          lr
  00004		 |$M16679|

			 ENDP  ; |OEMRequestSysIntr|

	EXPORT	|OEMGetInterrupt|

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

  00000			 AREA	 |.pdata$$OEMGetInterrupt|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMGetInterrupt| } ; comdat associative
|$T16690| DCD	|$L16689|
	DCD	0x40000200
; Function compile flags: /Ogsy

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

  00000		 |OEMGetInterrupt| PROC

; 476  : {

  00000		 |$L16689|
  00000		 |$M16687|

; 477  :     return FALSE;

  00000	e3a00000	 mov         r0, #0

; 478  : }

  00004	e12fff1e	 bx          lr
  00008		 |$M16688|

			 ENDP  ; |OEMGetInterrupt|

	END

⌨️ 快捷键说明

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