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

📄 detection.cod

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

	TTL	C:\WINCE500\PLATFORM\Ep93xx\Src\Bootloader\Common\.\detection.c
	CODE32

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


  00000			 AREA	 |.bss|, NOINIT
|g_sPcmciaInfo| % 0x8

  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	|OEMHDDDetect|
	EXPORT	|??_C@_0CL@MPDBIFHI@Found?5Compact?5Flash?5Card?5in?5PCMC@| [ DATA ] ; `string'
	EXPORT	|??_C@_0CN@MMEIFIHH@Found?5Hard?5Drive?1CF?5Card?5in?5IDE?5@| [ DATA ] ; `string'
	IMPORT	|OEMHDDImageCheck|
	IMPORT	|EdbgOutputDebugString|
; File c:\wince500\platform\ep93xx\src\bootloader\common\detection.c

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

  00000			 AREA	 |.pdata$$OEMHDDDetect|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMHDDDetect| } ; comdat associative
|$T38715| DCD	|$L38714|
	DCD	0x40002f02

  00000			 AREA	 |.rdata| { |??_C@_0CN@MMEIFIHH@Found?5Hard?5Drive?1CF?5Card?5in?5IDE?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CN@MMEIFIHH@Found?5Hard?5Drive?1CF?5Card?5in?5IDE?5@| DCB "Found "
	DCB	"Hard Drive/CF Card in IDE interface.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0CL@MPDBIFHI@Found?5Compact?5Flash?5Card?5in?5PCMC@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CL@MPDBIFHI@Found?5Compact?5Flash?5Card?5in?5PCMC@| DCB "Found Co"
	DCB	"mpact Flash Card in PCMCIA slot.", 0xd, 0xa, 0x0 ; `string'
; Function compile flags: /Ods

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

  00000		 |OEMHDDDetect| PROC

; 173  : {

  00000		 |$L38714|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd018	 sub         sp, sp, #0x18
  00008		 |$M38712|

; 174  :     BOOL    bRet = FALSE;

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

; 175  : #ifdef EDB9307_12_15
; 176  :     //
; 177  :     // Check to see if there is a compact flash card in the PCMCIA slot.
; 178  :     //
; 179  :     bRet = OEM_PCMCIA_HDDDetect();

  00010	eb000000	 bl          OEM_PCMCIA_HDDDetect
  00014	e58d0008	 str         r0, [sp, #8]
  00018	e59d3008	 ldr         r3, [sp, #8]
  0001c	e58d3000	 str         r3, [sp]

; 180  :     if ( bRet )

  00020	e59d3000	 ldr         r3, [sp]
  00024	e3530000	 cmp         r3, #0
  00028	0a000008	 beq         |$L38642|

; 181  :     {
; 182  :         EdbgOutputDebugString("Found Compact Flash Card in PCMCIA slot.\r\n");

  0002c	e59f0084	 ldr         r0, [pc, #0x84]
  00030	eb000000	 bl          EdbgOutputDebugString

; 183  :         if(OEMHDDImageCheck()==-1)

  00034	eb000000	 bl          OEMHDDImageCheck
  00038	e58d000c	 str         r0, [sp, #0xC]
  0003c	e59d300c	 ldr         r3, [sp, #0xC]
  00040	e3730001	 cmn         r3, #1
  00044	1a000001	 bne         |$L38644|

; 184  :         {
; 185  :             bRet = FALSE;

  00048	e3a03000	 mov         r3, #0
  0004c	e58d3000	 str         r3, [sp]
  00050		 |$L38644|
  00050		 |$L38642|

; 186  :         }
; 187  :     }
; 188  : #endif    
; 189  :     //
; 190  :     // Check to see if there i a compact flash card/IDE hard drive in the
; 191  :     // IDE slot.
; 192  :     //
; 193  :     if ( !bRet  )

  00050	e59d3000	 ldr         r3, [sp]
  00054	e3530000	 cmp         r3, #0
  00058	1a00000f	 bne         |$L38645|

; 194  :     {
; 195  :         bRet = OEM_IDE_HDDDetect();

  0005c	eb000000	 bl          OEM_IDE_HDDDetect
  00060	e58d0010	 str         r0, [sp, #0x10]
  00064	e59d3010	 ldr         r3, [sp, #0x10]
  00068	e58d3000	 str         r3, [sp]

; 196  :         if(bRet)

  0006c	e59d3000	 ldr         r3, [sp]
  00070	e3530000	 cmp         r3, #0
  00074	0a000008	 beq         |$L38646|

; 197  :         {
; 198  :             EdbgOutputDebugString("Found Hard Drive/CF Card in IDE interface.\r\n");

  00078	e59f0034	 ldr         r0, [pc, #0x34]
  0007c	eb000000	 bl          EdbgOutputDebugString

; 199  :             if(OEMHDDImageCheck()==-1)

  00080	eb000000	 bl          OEMHDDImageCheck
  00084	e58d0014	 str         r0, [sp, #0x14]
  00088	e59d3014	 ldr         r3, [sp, #0x14]
  0008c	e3730001	 cmn         r3, #1
  00090	1a000001	 bne         |$L38648|

; 200  :                 bRet = FALSE;

  00094	e3a03000	 mov         r3, #0
  00098	e58d3000	 str         r3, [sp]
  0009c		 |$L38648|
  0009c		 |$L38646|
  0009c		 |$L38645|

; 201  :         }
; 202  :     }
; 203  : 
; 204  :     return bRet;

  0009c	e59d3000	 ldr         r3, [sp]
  000a0	e58d3004	 str         r3, [sp, #4]
  000a4	e59d0004	 ldr         r0, [sp, #4]

; 205  : }

  000a8	e28dd018	 add         sp, sp, #0x18
  000ac	e49de004	 ldr         lr, [sp], #4
  000b0	e12fff1e	 bx          lr
  000b4		 |$L38717|
  000b4	00000000	 DCD         |??_C@_0CN@MMEIFIHH@Found?5Hard?5Drive?1CF?5Card?5in?5IDE?5@|
  000b8	00000000	 DCD         |??_C@_0CL@MPDBIFHI@Found?5Compact?5Flash?5Card?5in?5PCMC@|
  000bc		 |$M38713|

			 ENDP  ; |OEMHDDDetect|

	IMPORT	|m_BootDeviceType|

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

  00000			 AREA	 |.pdata$$OEM_PCMCIA_HDDDetect|, PDATA, SELECTION=5, ASSOC=|.text| { |OEM_PCMCIA_HDDDetect| } ; comdat associative
|$T38726| DCD	|$L38725|
	DCD	0x40002302
; Function compile flags: /Ods

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

  00000		 |OEM_PCMCIA_HDDDetect| PROC

; 99   : {

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

; 100  :     BOOL result = FALSE;

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

; 101  : 
; 102  :     //
; 103  :     // Initialize a PCMCIA card.
; 104  :     // Not necessary to reinitialize the pcmcia card.
; 105  :     //
; 106  :     // OEMPCMCIAInitialize();
; 107  : 
; 108  :     //
; 109  :     // Check to make sure that a card is inserted into the card slot.
; 110  :     //    
; 111  :     if(*GPIO_PFDR & ( GPIOF_PCMCIA_CD1 | GPIOF_PCMCIA_CD2 ) )

  00010	e59f3070	 ldr         r3, [pc, #0x70]
  00014	e5933000	 ldr         r3, [r3]
  00018	e3130006	 tst         r3, #6
  0001c	0a000002	 beq         |$L38628|

; 112  :     {
; 113  :         result = FALSE;

  00020	e3a03000	 mov         r3, #0
  00024	e58d3000	 str         r3, [sp]

; 114  :     }
; 115  :     else

  00028	ea00000e	 b           |$L38629|
  0002c		 |$L38628|

; 116  :     {
; 117  :         //
; 118  :         // Read certain locations in attribute space to see if it is a compact flash 
; 119  :         // cards.
; 120  :         //
; 121  :         PCMCIAParseTuples();

  0002c	eb000000	 bl          PCMCIAParseTuples

; 122  : 
; 123  :         //
; 124  :         // Check to see if it is a hard drive.
; 125  :         // 
; 126  :         result = (g_sPcmciaInfo.ucFuncID == FUNCTION_FIXED_DISK);

  00030	e59f304c	 ldr         r3, [pc, #0x4C]
  00034	e5d33007	 ldrb        r3, [r3, #7]
  00038	e3530004	 cmp         r3, #4
  0003c	1a000002	 bne         |$L38720|
  00040	e3a03001	 mov         r3, #1
  00044	e58d3008	 str         r3, [sp, #8]
  00048	ea000001	 b           |$L38721|
  0004c		 |$L38720|
  0004c	e3a03000	 mov         r3, #0
  00050	e58d3008	 str         r3, [sp, #8]
  00054		 |$L38721|
  00054	e59d3008	 ldr         r3, [sp, #8]
  00058	e58d3000	 str         r3, [sp]

; 127  :         
; 128  :         m_BootDeviceType =BOOT_FROM_PCMCIA;

  0005c	e59f201c	 ldr         r2, [pc, #0x1C]
  00060	e3a03c01	 mov         r3, #1, 24
  00064	e5823000	 str         r3, [r2]
  00068		 |$L38629|

; 129  :     }
; 130  :   
; 131  :     return( result );

  00068	e59d3000	 ldr         r3, [sp]
  0006c	e58d3004	 str         r3, [sp, #4]
  00070	e59d0004	 ldr         r0, [sp, #4]

; 132  : }

  00074	e28dd00c	 add         sp, sp, #0xC
  00078	e49de004	 ldr         lr, [sp], #4
  0007c	e12fff1e	 bx          lr
  00080		 |$L38728|
  00080	00000000	 DCD         |m_BootDeviceType|
  00084	00000000	 DCD         |g_sPcmciaInfo|
  00088	80840030	 DCD         0x80840030
  0008c		 |$M38724|

			 ENDP  ; |OEM_PCMCIA_HDDDetect|

	EXPORT	|??_C@_0BH@ENDOJKGM@ide_reset?5succeeded?4?$AN?6?$AA@| [ DATA ] ; `string'
	IMPORT	|id_drive|
	IMPORT	|ide_reset|
	IMPORT	|ide_enable|

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

  00000			 AREA	 |.pdata$$OEM_IDE_HDDDetect|, PDATA, SELECTION=5, ASSOC=|.text| { |OEM_IDE_HDDDetect| } ; comdat associative
|$T38735| DCD	|$L38734|
	DCD	0x40002302

  00000			 AREA	 |.rdata| { |??_C@_0BH@ENDOJKGM@ide_reset?5succeeded?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BH@ENDOJKGM@ide_reset?5succeeded?4?$AN?6?$AA@| DCB "ide_reset suc"
	DCB	"ceeded.", 0xd, 0xa, 0x0		; `string'
; Function compile flags: /Ods

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

  00000		 |OEM_IDE_HDDDetect| PROC

; 142  : {

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

; 143  :     BOOL result = FALSE;

  00008	e3a03000	 mov         r3, #0

⌨️ 快捷键说明

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