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

📄 eeinfo.cod

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

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

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


  00000			 AREA	 |.data|, DATA
	 COMMON	|gBoardInformation|, 0x20

	 COMMON	|gBoardInformationValid|, 0x4

	 COMMON	|pTemp|, 0x2000


  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	|GetBoardInformation|
	EXPORT	|??_C@_0BJ@JMNHHKIF@EEINFO?3?5EEInformation?4?$AN?6?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_0BP@DOCAFDDJ@EEINFO?3?50x?$CFx?50x?$CFx?50x?$CFx?50x?$CFx?4?$AN?6?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_0CB@HOJDAEME@MAC?5Address?5?$DN?50x?$CFx?0?50x?$CFx?0?50x?$CFx?$AN?6@| [ DATA ] ; `string'
	EXPORT	|??_C@_0BC@ECDBGCHG@Board?5Name?5?$DN?5?$CFs?$AN?6?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_04GKLMKEAK@EMAC?$AA@| [ DATA ]	; `string'
	EXPORT	|??_C@_0CD@OFKMODLF@EEINFO?3?5SPI?5Device?5Not?5detected?4@| [ DATA ] ; `string'
	IMPORT	|EdbgOutputDebugString|
	IMPORT	|memcmp|
	IMPORT	|memset|
; File c:\wince500\platform\ep93xx\src\kernel\hal\common\eeinfo.c

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

  00000			 AREA	 |.pdata$$GetBoardInformation|, PDATA, SELECTION=5, ASSOC=|.text| { |GetBoardInformation| } ; comdat associative
|$T38292| DCD	|$L38291|
	DCD	0x40008e02

  00000			 AREA	 |.rdata| { |??_C@_0CD@OFKMODLF@EEINFO?3?5SPI?5Device?5Not?5detected?4@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CD@OFKMODLF@EEINFO?3?5SPI?5Device?5Not?5detected?4@| DCB "EEINFO:"
	DCB	" SPI Device Not detected.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_04GKLMKEAK@EMAC?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_04GKLMKEAK@EMAC?$AA@| DCB "EMAC", 0x0		; `string'

  00000			 AREA	 |.rdata| { |??_C@_0BC@ECDBGCHG@Board?5Name?5?$DN?5?$CFs?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BC@ECDBGCHG@Board?5Name?5?$DN?5?$CFs?$AN?6?$AA@| DCB "Board Name "
	DCB	"= %s", 0xd, 0xa, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_0CB@HOJDAEME@MAC?5Address?5?$DN?50x?$CFx?0?50x?$CFx?0?50x?$CFx?$AN?6@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CB@HOJDAEME@MAC?5Address?5?$DN?50x?$CFx?0?50x?$CFx?0?50x?$CFx?$AN?6@| DCB "M"
	DCB	"AC Address = 0x%x, 0x%x, 0x%x", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0BP@DOCAFDDJ@EEINFO?3?50x?$CFx?50x?$CFx?50x?$CFx?50x?$CFx?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BP@DOCAFDDJ@EEINFO?3?50x?$CFx?50x?$CFx?50x?$CFx?50x?$CFx?4?$AN?6?$AA@| DCB "E"
	DCB	"EINFO: 0x%x 0x%x 0x%x 0x%x.", 0xd, 0xa, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_0BJ@JMNHHKIF@EEINFO?3?5EEInformation?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BJ@JMNHHKIF@EEINFO?3?5EEInformation?4?$AN?6?$AA@| DCB "EEINFO: EE"
	DCB	"Information.", 0xd, 0xa, 0x0		; `string'
; Function compile flags: /Ods

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

  00000		 |GetBoardInformation| PROC

; 75   : {

  00000		 |$L38291|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd020	 sub         sp, sp, #0x20
  00008		 |$M38289|

; 76   :     BOOL    bRet;
; 77   :     PULONG   pul;
; 78   :     PUCHAR  puc;
; 79   :     ULONG   ulTemp;
; 80   :     // int     x;
; 81   : 
; 82   :     //
; 83   :     // Initialize the board information structure.
; 84   :     //
; 85   :     memset(&gBoardInformation, 0, sizeof(BOARD_INFO));

  00008	e3a02020	 mov         r2, #0x20
  0000c	e3a01000	 mov         r1, #0
  00010	e59f0208	 ldr         r0, [pc, #0x208]
  00014	eb000000	 bl          memset

; 86   :     
; 87   :     //
; 88   :     // Initialize the SPI device for reading the EEPROM.
; 89   :     //
; 90   :     InitializeSPI();

  00018	eb000000	 bl          InitializeSPI

; 91   : 
; 92   :     //
; 93   :     // Test the SPI device to make sure that it is an ATMEL
; 94   :     //
; 95   :     bRet =  TestSPI();

  0001c	eb000000	 bl          TestSPI
  00020	e58d0014	 str         r0, [sp, #0x14]
  00024	e59d3014	 ldr         r3, [sp, #0x14]
  00028	e58d3008	 str         r3, [sp, #8]

; 96   :     if(bRet)

  0002c	e59d3008	 ldr         r3, [sp, #8]
  00030	e3530000	 cmp         r3, #0
  00034	0a000066	 beq         |$L38112|

; 97   :     {
; 98   :         bRet =  ReadEEWord(0x1000, sizeof(BOARD_INFO), (PCHAR) &gBoardInformation);

  00038	e59f21e0	 ldr         r2, [pc, #0x1E0]
  0003c	e3a01020	 mov         r1, #0x20
  00040	e3a00a01	 mov         r0, #1, 20
  00044	eb000000	 bl          ReadEEWord
  00048	e58d0018	 str         r0, [sp, #0x18]
  0004c	e59d3018	 ldr         r3, [sp, #0x18]
  00050	e58d3008	 str         r3, [sp, #8]

; 99   :         pul = (PULONG) &gBoardInformation;

  00054	e59f31c4	 ldr         r3, [pc, #0x1C4]
  00058	e58d3004	 str         r3, [sp, #4]

; 100  : 
; 101  :         puc = (unsigned char *)pul;

  0005c	e59d3004	 ldr         r3, [sp, #4]
  00060	e58d3010	 str         r3, [sp, #0x10]

; 102  :         EdbgOutputDebugString( "EEINFO: EEInformation.\r\n");

  00064	e59f01c8	 ldr         r0, [pc, #0x1C8]
  00068	eb000000	 bl          EdbgOutputDebugString

; 103  :         EdbgOutputDebugString( "EEINFO: 0x%x 0x%x 0x%x 0x%x.\r\n" , (ULONG) puc[0],  (ULONG) puc[1],  (ULONG) puc[2],  (ULONG) puc[3]);

  0006c	e59d3010	 ldr         r3, [sp, #0x10]
  00070	e2833003	 add         r3, r3, #3
  00074	e5d33000	 ldrb        r3, [r3]
  00078	e58d3000	 str         r3, [sp]
  0007c	e59d3010	 ldr         r3, [sp, #0x10]
  00080	e2833002	 add         r3, r3, #2
  00084	e5d33000	 ldrb        r3, [r3]
  00088	e59d2010	 ldr         r2, [sp, #0x10]
  0008c	e2822001	 add         r2, r2, #1
  00090	e5d22000	 ldrb        r2, [r2]
  00094	e59d1010	 ldr         r1, [sp, #0x10]
  00098	e5d11000	 ldrb        r1, [r1]
  0009c	e59f018c	 ldr         r0, [pc, #0x18C]
  000a0	eb000000	 bl          EdbgOutputDebugString

; 104  :         EdbgOutputDebugString( "EEINFO: 0x%x 0x%x 0x%x 0x%x.\r\n" , (ULONG) puc[4],  (ULONG) puc[5],  (ULONG) puc[6],  (ULONG) puc[7]);

  000a4	e59d3010	 ldr         r3, [sp, #0x10]
  000a8	e2833007	 add         r3, r3, #7
  000ac	e5d33000	 ldrb        r3, [r3]
  000b0	e58d3000	 str         r3, [sp]
  000b4	e59d3010	 ldr         r3, [sp, #0x10]
  000b8	e2833006	 add         r3, r3, #6
  000bc	e5d33000	 ldrb        r3, [r3]
  000c0	e59d2010	 ldr         r2, [sp, #0x10]
  000c4	e2822005	 add         r2, r2, #5
  000c8	e5d22000	 ldrb        r2, [r2]
  000cc	e59d1010	 ldr         r1, [sp, #0x10]
  000d0	e2811004	 add         r1, r1, #4
  000d4	e5d11000	 ldrb        r1, [r1]
  000d8	e59f0150	 ldr         r0, [pc, #0x150]
  000dc	eb000000	 bl          EdbgOutputDebugString

; 105  :         EdbgOutputDebugString( "EEINFO: 0x%x 0x%x 0x%x 0x%x.\r\n" , (ULONG) puc[8],  (ULONG) puc[9],  (ULONG) puc[10], (ULONG) puc[11]);

  000e0	e59d3010	 ldr         r3, [sp, #0x10]
  000e4	e283300b	 add         r3, r3, #0xB
  000e8	e5d33000	 ldrb        r3, [r3]
  000ec	e58d3000	 str         r3, [sp]
  000f0	e59d3010	 ldr         r3, [sp, #0x10]
  000f4	e283300a	 add         r3, r3, #0xA
  000f8	e5d33000	 ldrb        r3, [r3]
  000fc	e59d2010	 ldr         r2, [sp, #0x10]
  00100	e2822009	 add         r2, r2, #9
  00104	e5d22000	 ldrb        r2, [r2]
  00108	e59d1010	 ldr         r1, [sp, #0x10]
  0010c	e2811008	 add         r1, r1, #8
  00110	e5d11000	 ldrb        r1, [r1]
  00114	e59f0114	 ldr         r0, [pc, #0x114]
  00118	eb000000	 bl          EdbgOutputDebugString

; 106  :         EdbgOutputDebugString( "EEINFO: 0x%x 0x%x 0x%x 0x%x.\r\n" , (ULONG) puc[12], (ULONG) puc[13], (ULONG) puc[14], (ULONG) puc[15]);

  0011c	e59d3010	 ldr         r3, [sp, #0x10]
  00120	e283300f	 add         r3, r3, #0xF
  00124	e5d33000	 ldrb        r3, [r3]
  00128	e58d3000	 str         r3, [sp]
  0012c	e59d3010	 ldr         r3, [sp, #0x10]
  00130	e283300e	 add         r3, r3, #0xE
  00134	e5d33000	 ldrb        r3, [r3]
  00138	e59d2010	 ldr         r2, [sp, #0x10]
  0013c	e282200d	 add         r2, r2, #0xD
  00140	e5d22000	 ldrb        r2, [r2]
  00144	e59d1010	 ldr         r1, [sp, #0x10]
  00148	e281100c	 add         r1, r1, #0xC
  0014c	e5d11000	 ldrb        r1, [r1]
  00150	e59f00d8	 ldr         r0, [pc, #0xD8]
  00154	eb000000	 bl          EdbgOutputDebugString

; 107  : 
; 108  :         //
; 109  :         // Mac Address.
; 110  :         //
; 111  :         EdbgOutputDebugString("MAC Address = 0x%x, 0x%x, 0x%x\r\n", 
; 112  :                              (ULONG) gBoardInformation.MACAddress[0],
; 113  :                              (ULONG) gBoardInformation.MACAddress[1],
; 114  :                              (ULONG) gBoardInformation.MACAddress[2]);

  00158	e59f30c0	 ldr         r3, [pc, #0xC0]
  0015c	e1d330b8	 ldrh        r3, [r3, #8]
  00160	e59f20b8	 ldr         r2, [pc, #0xB8]
  00164	e1d220b6	 ldrh        r2, [r2, #6]
  00168	e59f10b0	 ldr         r1, [pc, #0xB0]
  0016c	e1d110b4	 ldrh        r1, [r1, #4]
  00170	e59f00b4	 ldr         r0, [pc, #0xB4]
  00174	eb000000	 bl          EdbgOutputDebugString

; 115  : 
; 116  :         EdbgOutputDebugString("Board Name = %s\r\n", gBoardInformation.strEdbgName);

  00178	e59f30a0	 ldr         r3, [pc, #0xA0]
  0017c	e2831010	 add         r1, r3, #0x10
  00180	e59f00a0	 ldr         r0, [pc, #0xA0]
  00184	eb000000	 bl          EdbgOutputDebugString

; 117  : 
; 118  :         if(bRet && !memcmp(&gBoardInformation.strSignature,"EMAC", 4))

  00188	e59d3008	 ldr         r3, [sp, #8]
  0018c	e3530000	 cmp         r3, #0
  00190	0a00000b	 beq         |$L38140|
  00194	e3a02004	 mov         r2, #4
  00198	e59f1084	 ldr         r1, [pc, #0x84]
  0019c	e59f007c	 ldr         r0, [pc, #0x7C]
  001a0	eb000000	 bl          memcmp
  001a4	e58d001c	 str         r0, [sp, #0x1C]
  001a8	e59d301c	 ldr         r3, [sp, #0x1C]
  001ac	e3530000	 cmp         r3, #0
  001b0	1a000003	 bne         |$L38140|

; 119  :         {
; 120  :             gBoardInformationValid = TRUE;

  001b4	e59f205c	 ldr         r2, [pc, #0x5C]
  001b8	e3a03001	 mov         r3, #1
  001bc	e5823000	 str         r3, [r2]

; 121  :         }
; 122  :         else

  001c0	ea000002	 b           |$L38142|
  001c4		 |$L38140|

; 123  :         {
; 124  :             gBoardInformationValid = FALSE;

  001c4	e59f204c	 ldr         r2, [pc, #0x4C]
  001c8	e3a03000	 mov         r3, #0
  001cc	e5823000	 str         r3, [r2]
  001d0		 |$L38142|

; 125  :         }
; 126  :     }
; 127  :     else

  001d0	ea000004	 b           |$L38143|
  001d4		 |$L38112|

; 128  :     {
; 129  :         EdbgOutputDebugString("EEINFO: SPI Device Not detected.\r\n");

  001d4	e59f0040	 ldr         r0, [pc, #0x40]
  001d8	eb000000	 bl          EdbgOutputDebugString

; 130  :         gBoardInformationValid = FALSE;

  001dc	e59f2034	 ldr         r2, [pc, #0x34]
  001e0	e3a03000	 mov         r3, #0
  001e4	e5823000	 str         r3, [r2]
  001e8		 |$L38143|

; 131  :     }
; 132  : 
; 133  : 
; 134  :     //
; 135  :     //Set GPIO pins 7 to disable the frame line.
; 136  :     //
; 137  :     ulTemp = *GPIO_PADR;

  001e8	e3a03102	 mov         r3, #2, 2
  001ec	e3833721	 orr         r3, r3, #0x21, 14
  001f0	e5933000	 ldr         r3, [r3]
  001f4	e58d300c	 str         r3, [sp, #0xC]

⌨️ 快捷键说明

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