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

📄 oempreinit.cod

📁 Ep93XX TionProV2 BSP
💻 COD
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4237 

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

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

	EXPORT	|SysconSetup|
; File c:\wince500\platform\ep93xx\src\kernel\hal\common\oempreinit.c

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

  00000			 AREA	 |.pdata$$SysconSetup|, PDATA, SELECTION=5, ASSOC=|.text| { |SysconSetup| } ; comdat associative
|$T409|	DCD	|$L408|
	DCD	0x40003a01
; Function compile flags: /Ogsy

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

  00000		 |SysconSetup| PROC

; 37   : {

  00000		 |$L408|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M406|

; 38   :     //
; 39   :     // Disable the watchdog timer.
; 40   :     //
; 41   :     *WATCHDOG_WDCONTROL = WDCONTROL_DISABLE;
; 42   : 
; 43   :     //
; 44   :     // Program the processor/bus clock rate.
; 45   :     //
; 46   :     *CSC_SYSLOCK = 0xAA;
; 47   :     *CSC_CLKSET1 = CLKSET1_VALUE; 

  00004	e59fe0d8	 ldr         lr, [pc, #0xD8]
  00008	e3a02102	 mov         r2, #2, 2
  0000c	e3a03caa	 mov         r3, #0xAA, 24
  00010	e59f00c8	 ldr         r0, [pc, #0xC8]
  00014	e59f10c0	 ldr         r1, [pc, #0xC0]
  00018	e3822725	 orr         r2, r2, #0x25, 14
  0001c	e3833055	 orr         r3, r3, #0x55
  00020	e3a050aa	 mov         r5, #0xAA
  00024	e5823000	 str         r3, [r2]
  00028	e58e5000	 str         r5, [lr]
  0002c	e5801000	 str         r1, [r0]

; 48   : 
; 49   :     //
; 50   :     // Flush the pipeline.
; 51   :     //    
; 52   :     __emit(0xe1a00000);

  00030	e1a00000	 mov         r0, r0

; 53   :     __emit(0xe1a00000);

  00034	e1a00000	 mov         r0, r0

; 54   :     __emit(0xe1a00000);

  00038	e1a00000	 mov         r0, r0

; 55   :     __emit(0xe1a00000);

  0003c	e1a00000	 mov         r0, r0

; 56   :     __emit(0xe1a00000);

  00040	e1a00000	 mov         r0, r0

; 57   :     __emit(0xe1a00000);

  00044	e1a00000	 mov         r0, r0

; 58   : 
; 59   :     //
; 60   :     // Configure PLL2 in order to generate a solid 48Mhz clock for USB.
; 61   :     //
; 62   :     *CSC_SYSLOCK = 0xAA;
; 63   :     *CSC_CLKSET2 = CLKSET2_VALUE; 

  00048	e59f2088	 ldr         r2, [pc, #0x88]
  0004c	e59f3080	 ldr         r3, [pc, #0x80]

; 64   : 
; 65   :     //
; 66   :     // Enable all of the UARTS and the math coprocessor.
; 67   :     //
; 68   :     *CSC_SYSLOCK =  0xAA;
; 69   : 
; 70   :     *CSC_DEVCFG  =  DEVCFG_U1EN  | DEVCFG_U2EN | DEVCFG_U3EN | DEVCFG_TIN | DEVCFG_SHENA
; 71   : #ifndef EDB9301_02
; 72   : //
; 73   : //  Trun off IrDA on UART2 because EDB9301/02 have not implement it.
; 74   : //
; 75   : //                    | DEVCFG_IONU2
; 76   : #endif
; 77   : #ifdef EP93XX_CRUNCH
; 78   :                     |DEVCFG_CPENA 
; 79   : #endif
; 80   : 	;

  00050	e59f0078	 ldr         r0, [pc, #0x78]
  00054	e59f1070	 ldr         r1, [pc, #0x70]
  00058	e58e5000	 str         r5, [lr]
  0005c	e5823000	 str         r3, [r2]

; 81   : 
; 82   :     //
; 83   :     // Change the Bus master register to use bus priority 2 so that raster is stable.
; 84   :     // This also puts dma at the top so audio does not break up.
; 85   :     //
; 86   :     *CSC_SYSLOCK =  0xAA;
; 87   :     *CSC_BMAR    =  2;

  00060	e59f3060	 ldr         r3, [pc, #0x60]

; 88   : 
; 89   :     //
; 90   :     // Program the sdram refresh to a new value.
; 91   :     //
; 92   :     *SDRAM_REFRESH = SDRAM_REFRESH_VALUE;

  00064	e59f2058	 ldr         r2, [pc, #0x58]
  00068	e58e5000	 str         r5, [lr]
  0006c	e5801000	 str         r1, [r0]
  00070	e3a04002	 mov         r4, #2
  00074	e58e5000	 str         r5, [lr]

; 93   : 
; 94   :     //
; 95   :     // Program the power control register to use all dma channels.
; 96   :     //
; 97   :     //ulPwrcnt = *CSC_PWRCNT;
; 98   :     *CSC_SYSLOCK = 0xAA;
; 99   :     *CSC_PWRCNT  = PWRCNT_DMAM2MCH0   | PWRCNT_DMAM2PCH1 | PWRCNT_DMAM2PCH0 ;

  00078	e59f1040	 ldr         r1, [pc, #0x40]
  0007c	e5834000	 str         r4, [r3]
  00080	e3a00fc6	 mov         r0, #0xC6, 30
  00084	e3a03301	 mov         r3, #1, 6
  00088	e5820000	 str         r0, [r2]

; 100  : 
; 101  : //                  PWRCNT_DMAM2PCH3 | PWRCNT_DMAM2PCH2 | PWRCNT_DMAM2PCH5 | 
; 102  : //                  PWRCNT_DMAM2PCH4 | PWRCNT_DMAM2PCH7 | PWRCNT_DMAM2PCH6 |
; 103  : //                  PWRCNT_DMAM2PCH9 | PWRCNT_DMAM2PCH8;
; 104  : 
; 105  :     //
; 106  :     // Program up the SSP register.
; 107  :     //
; 108  :     *SPI_CPSR   = 2;

  0008c	e59f2028	 ldr         r2, [pc, #0x28]
  00090	e3833803	 orr         r3, r3, #3, 16
  00094	e58e5000	 str         r5, [lr]
  00098	e5813000	 str         r3, [r1]

; 109  : 
; 110  : 
; 111  :     //
; 112  :     // Program the Touch Screen enable register.
; 113  :     //
; 114  :     *CSC_SYSLOCK    = 0xAA;
; 115  :     *CSC_KTDIV      = KTDIV_TSEN;

  0009c	e59f3014	 ldr         r3, [pc, #0x14]
  000a0	e5824000	 str         r4, [r2]
  000a4	e3a02102	 mov         r2, #2, 2
  000a8	e58e5000	 str         r5, [lr]
  000ac	e5832000	 str         r2, [r3]

; 116  :  
; 117  : }

  000b0	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  000b4	e12fff1e	 bx          lr
  000b8		 |$L411|
  000b8	80930090	 DCD         0x80930090
  000bc	808a0010	 DCD         0x808a0010
  000c0	80930004	 DCD         0x80930004
  000c4	80060008	 DCD         0x80060008
  000c8	80930054	 DCD         0x80930054
  000cc	01160001	 DCD         0x1160001
  000d0	80930080	 DCD         0x80930080
  000d4	300dc317	 DCD         0x300dc317
  000d8	80930024	 DCD         0x80930024
  000dc	02a4a3d7	 DCD         0x2a4a3d7
  000e0	80930020	 DCD         0x80930020
  000e4	809300c0	 DCD         0x809300c0
  000e8		 |$M407|

			 ENDP  ; |SysconSetup|

	END

⌨️ 快捷键说明

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