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

📄 deviceinfo.cod

📁 Ep93XX TionProV2 BSP
💻 COD
📖 第 1 页 / 共 2 页
字号:
  00054	e1d331d3	 ldrsb       r3, [r3, #0x13]
  00058	e35300ff	 cmp         r3, #0xFF
  0005c	0a000009	 beq         |$L38102|
  00060		 |$L38103|

; 108  :     {
; 109  :         //
; 110  :         // Copy the device name from the EEPROM.
; 111  :         //
; 112  :         memcpy( szDeviceName, gBoardInformation.strEdbgName, EDBG_MAX_DEV_NAMELEN);

  00060	e3a02010	 mov         r2, #0x10
  00064	e59f3098	 ldr         r3, [pc, #0x98]
  00068	e2831010	 add         r1, r3, #0x10
  0006c	e59d0018	 ldr         r0, [sp, #0x18]
  00070	eb000000	 bl          memcpy

; 113  :         szDeviceName[EDBG_MAX_DEV_NAMELEN - 1] = 0;

  00074	e59d3018	 ldr         r3, [sp, #0x18]
  00078	e283200f	 add         r2, r3, #0xF
  0007c	e3a03000	 mov         r3, #0
  00080	e5c23000	 strb        r3, [r2]

; 114  :     }
; 115  :     else

  00084	ea00001a	 b           |$L38104|
  00088		 |$L38102|

; 116  :     {
; 117  :         dwUpperMAC = UpperDWFromMAC(pMyAddr);

  00088	e59d0014	 ldr         r0, [sp, #0x14]
  0008c	eb000000	 bl          UpperDWFromMAC
  00090	e58d0004	 str         r0, [sp, #4]
  00094	e59d3004	 ldr         r3, [sp, #4]
  00098	e58d3000	 str         r3, [sp]

; 118  :         strcpy(szDeviceName,EBOOT_PLATFORM_STRING);

  0009c	e59f105c	 ldr         r1, [pc, #0x5C]
  000a0	e59d0018	 ldr         r0, [sp, #0x18]
  000a4	eb000000	 bl          strcpy

; 119  :         szDeviceName += strlen(szDeviceName);    

  000a8	e59d0018	 ldr         r0, [sp, #0x18]
  000ac	eb000000	 bl          strlen
  000b0	e58d0008	 str         r0, [sp, #8]
  000b4	e59d2018	 ldr         r2, [sp, #0x18]
  000b8	e59d3008	 ldr         r3, [sp, #8]
  000bc	e0823003	 add         r3, r2, r3
  000c0	e58d3018	 str         r3, [sp, #0x18]

; 120  :         itoa10(((pMyAddr->wMAC[2]>>8) | ((pMyAddr->wMAC[2] & 0x00ff) << 8)), szDeviceName);

  000c4	e59d1018	 ldr         r1, [sp, #0x18]
  000c8	e59d3014	 ldr         r3, [sp, #0x14]
  000cc	e2833008	 add         r3, r3, #8
  000d0	e1d330b0	 ldrh        r3, [r3]
  000d4	e1a02443	 mov         r2, r3, asr #8
  000d8	e59d3014	 ldr         r3, [sp, #0x14]
  000dc	e2833008	 add         r3, r3, #8
  000e0	e1d330b0	 ldrh        r3, [r3]
  000e4	e20330ff	 and         r3, r3, #0xFF
  000e8	e1a03403	 mov         r3, r3, lsl #8
  000ec	e1820003	 orr         r0, r2, r3
  000f0	eb000000	 bl          itoa10
  000f4		 |$L38104|

; 121  :     }
; 122  : }

  000f4	e28dd00c	 add         sp, sp, #0xC
  000f8	e89d6000	 ldmia       sp, {sp, lr}
  000fc	e12fff1e	 bx          lr
  00100		 |$L38159|
  00100	00000000	 DCD         |??_C@_0L@OPLKAENE@EDB9307?11X?$AA@|
  00104	00000000	 DCD         |gBoardInformation|
  00108	00000000	 DCD         |gBoardInformationValid|
  0010c		 |$M38155|

			 ENDP  ; |CreateDeviceName|


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

  00000			 AREA	 |.pdata$$UpperDWFromMAC|, PDATA, SELECTION=5, ASSOC=|.text| { |UpperDWFromMAC| } ; comdat associative
|$T38166| DCD	|$L38165|
	DCD	0x40001e04
; Function compile flags: /Ods

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

  00000		 |UpperDWFromMAC| PROC

; 73   : {

  00000		 |$L38165|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c	e24dd008	 sub         sp, sp, #8
  00010		 |$M38163|

; 74   :     DWORD ret;
; 75   : 
; 76   :     //
; 77   :     // The WORDs in wMAC field are in net order, so we need to do some
; 78   :     // serious shifting around.
; 79   :     // A hex ethernet address of 12 34 56 78 9a bc is stored in wMAC array as
; 80   :     // wMAC[0] = 3412, wMAC[1] = 7856, wMAC[2] = bc9a.
; 81   :     // The 4 byte return value should look like 0x00123456
; 82   :     //
; 83   :     ret = (pAddr->wMAC[0] & 0x00ff) << 16;

  00010	e59d3010	 ldr         r3, [sp, #0x10]
  00014	e2833004	 add         r3, r3, #4
  00018	e1d330b0	 ldrh        r3, [r3]
  0001c	e20330ff	 and         r3, r3, #0xFF
  00020	e1a03803	 mov         r3, r3, lsl #16
  00024	e58d3000	 str         r3, [sp]

; 84   :     ret |= pAddr->wMAC[0] & 0xff00;

  00028	e59d3010	 ldr         r3, [sp, #0x10]
  0002c	e2833004	 add         r3, r3, #4
  00030	e1d330b0	 ldrh        r3, [r3]
  00034	e2032cff	 and         r2, r3, #0xFF, 24
  00038	e59d3000	 ldr         r3, [sp]
  0003c	e1833002	 orr         r3, r3, r2
  00040	e58d3000	 str         r3, [sp]

; 85   :     ret |= pAddr->wMAC[1] & 0x00ff;

  00044	e59d3010	 ldr         r3, [sp, #0x10]
  00048	e2833006	 add         r3, r3, #6
  0004c	e1d330b0	 ldrh        r3, [r3]
  00050	e20320ff	 and         r2, r3, #0xFF
  00054	e59d3000	 ldr         r3, [sp]
  00058	e1833002	 orr         r3, r3, r2
  0005c	e58d3000	 str         r3, [sp]

; 86   :     return ret;

  00060	e59d3000	 ldr         r3, [sp]
  00064	e58d3004	 str         r3, [sp, #4]
  00068	e59d0004	 ldr         r0, [sp, #4]

; 87   : }

  0006c	e28dd008	 add         sp, sp, #8
  00070	e89d6000	 ldmia       sp, {sp, lr}
  00074	e12fff1e	 bx          lr
  00078		 |$M38164|

			 ENDP  ; |UpperDWFromMAC|

	EXPORT	|GetDeviceMacAddress|

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

  00000			 AREA	 |.pdata$$GetDeviceMacAddress|, PDATA, SELECTION=5, ASSOC=|.text| { |GetDeviceMacAddress| } ; comdat associative
|$T38173| DCD	|$L38172|
	DCD	0x40002a03
; Function compile flags: /Ods

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

  00000		 |GetDeviceMacAddress| PROC

; 135  : {

  00000		 |$L38172|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0003	 stmdb       sp!, {r0, r1}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M38170|

; 136  :     //
; 137  :     // We need to do this since the board does not have a MAC address.
; 138  :     // Lets use the same mac address as eboot.
; 139  :     //
; 140  :     if( gBoardInformationValid && 
; 141  :         ( gBoardInformation.MACAddress[0] != 0xFFFF ||
; 142  :           gBoardInformation.MACAddress[1] != 0xFFFF ||
; 143  :           gBoardInformation.MACAddress[2] != 0xFFFF ))

  0000c	e59f3090	 ldr         r3, [pc, #0x90]
  00010	e5933000	 ldr         r3, [r3]
  00014	e3530000	 cmp         r3, #0
  00018	0a00001a	 beq         |$L38112|
  0001c	e59f307c	 ldr         r3, [pc, #0x7C]
  00020	e1d330b4	 ldrh        r3, [r3, #4]
  00024	e1a02003	 mov         r2, r3
  00028	e3a03cff	 mov         r3, #0xFF, 24
  0002c	e38330ff	 orr         r3, r3, #0xFF
  00030	e1520003	 cmp         r2, r3
  00034	1a00000d	 bne         |$L38113|
  00038	e59f3060	 ldr         r3, [pc, #0x60]
  0003c	e1d330b6	 ldrh        r3, [r3, #6]
  00040	e1a02003	 mov         r2, r3
  00044	e3a03cff	 mov         r3, #0xFF, 24
  00048	e38330ff	 orr         r3, r3, #0xFF
  0004c	e1520003	 cmp         r2, r3
  00050	1a000006	 bne         |$L38113|
  00054	e59f3044	 ldr         r3, [pc, #0x44]
  00058	e1d330b8	 ldrh        r3, [r3, #8]
  0005c	e1a02003	 mov         r2, r3
  00060	e3a03cff	 mov         r3, #0xFF, 24
  00064	e38330ff	 orr         r3, r3, #0xFF
  00068	e1520003	 cmp         r2, r3
  0006c	0a000005	 beq         |$L38112|
  00070		 |$L38113|

; 144  :     {
; 145  :         memcpy(pusMACAddress, gBoardInformation.MACAddress, 6);

  00070	e3a02006	 mov         r2, #6
  00074	e59f3024	 ldr         r3, [pc, #0x24]
  00078	e2831004	 add         r1, r3, #4
  0007c	e59d0008	 ldr         r0, [sp, #8]
  00080	eb000000	 bl          memcpy

; 146  :     }
; 147  :     else

  00084	ea000003	 b           |$L38114|
  00088		 |$L38112|

; 148  :     {
; 149  :         memcpy(pusMACAddress, pusDefaultMACAddress, 6 );

  00088	e3a02006	 mov         r2, #6
  0008c	e59d100c	 ldr         r1, [sp, #0xC]
  00090	e59d0008	 ldr         r0, [sp, #8]
  00094	eb000000	 bl          memcpy
  00098		 |$L38114|

; 150  :     }            
; 151  : }

  00098	e89d6000	 ldmia       sp, {sp, lr}
  0009c	e12fff1e	 bx          lr
  000a0		 |$L38175|
  000a0	00000000	 DCD         |gBoardInformation|
  000a4	00000000	 DCD         |gBoardInformationValid|
  000a8		 |$M38171|

			 ENDP  ; |GetDeviceMacAddress|

	EXPORT	|GetPlatformString|

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

  00000			 AREA	 |.pdata$$GetPlatformString|, PDATA, SELECTION=5, ASSOC=|.text| { |GetPlatformString| } ; comdat associative
|$T38181| DCD	|$L38180|
	DCD	0x40002a03
; Function compile flags: /Ods

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

  00000		 |GetPlatformString| PROC

; 164  : {

  00000		 |$L38180|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d0001	 stmdb       sp!, {r0}
  00008	e92d5000	 stmdb       sp!, {r12, lr}
  0000c		 |$M38178|

; 165  :     //
; 166  :     // Create device name based on Ethernet address.
; 167  :     //
; 168  :     if( gBoardInformationValid && 
; 169  :         ( gBoardInformation.strEdbgName[0] != 0xFF ||
; 170  :           gBoardInformation.strEdbgName[1] != 0xFF || 
; 171  :           gBoardInformation.strEdbgName[2] != 0xFF || 
; 172  :           gBoardInformation.strEdbgName[3] != 0xFF ))

  0000c	e59f3090	 ldr         r3, [pc, #0x90]
  00010	e5933000	 ldr         r3, [r3]
  00014	e3530000	 cmp         r3, #0
  00018	0a000019	 beq         |$L38119|
  0001c	e59f307c	 ldr         r3, [pc, #0x7C]
  00020	e1d331d0	 ldrsb       r3, [r3, #0x10]
  00024	e35300ff	 cmp         r3, #0xFF
  00028	1a00000b	 bne         |$L38120|
  0002c	e59f306c	 ldr         r3, [pc, #0x6C]
  00030	e1d331d1	 ldrsb       r3, [r3, #0x11]
  00034	e35300ff	 cmp         r3, #0xFF
  00038	1a000007	 bne         |$L38120|
  0003c	e59f305c	 ldr         r3, [pc, #0x5C]
  00040	e1d331d2	 ldrsb       r3, [r3, #0x12]
  00044	e35300ff	 cmp         r3, #0xFF
  00048	1a000003	 bne         |$L38120|
  0004c	e59f304c	 ldr         r3, [pc, #0x4C]
  00050	e1d331d3	 ldrsb       r3, [r3, #0x13]
  00054	e35300ff	 cmp         r3, #0xFF
  00058	0a000009	 beq         |$L38119|
  0005c		 |$L38120|

; 173  :     {
; 174  :         //
; 175  :         // Copy the board information from the platform string.
; 176  :         //
; 177  :         memcpy( szPlatformString, gBoardInformation.strEdbgName, 7);

  0005c	e3a02007	 mov         r2, #7
  00060	e59f3038	 ldr         r3, [pc, #0x38]
  00064	e2831010	 add         r1, r3, #0x10
  00068	e59d0008	 ldr         r0, [sp, #8]
  0006c	eb000000	 bl          memcpy

; 178  :         szPlatformString[7] = 0;

  00070	e59d3008	 ldr         r3, [sp, #8]
  00074	e2832007	 add         r2, r3, #7
  00078	e3a03000	 mov         r3, #0
  0007c	e5c23000	 strb        r3, [r2]

; 179  :     }
; 180  :     else

  00080	ea000003	 b           |$L38121|
  00084		 |$L38119|

; 181  :     {
; 182  :         memcpy(szPlatformString, EBOOT_PLATFORM_STRING, sizeof(EBOOT_PLATFORM_STRING));

  00084	e3a0200b	 mov         r2, #0xB
  00088	e59f100c	 ldr         r1, [pc, #0xC]
  0008c	e59d0008	 ldr         r0, [sp, #8]
  00090	eb000000	 bl          memcpy
  00094		 |$L38121|

; 183  :     }
; 184  : }

  00094	e89d6000	 ldmia       sp, {sp, lr}
  00098	e12fff1e	 bx          lr
  0009c		 |$L38183|
  0009c	00000000	 DCD         |??_C@_0L@OPLKAENE@EDB9307?11X?$AA@|
  000a0	00000000	 DCD         |gBoardInformation|
  000a4	00000000	 DCD         |gBoardInformationValid|
  000a8		 |$M38179|

			 ENDP  ; |GetPlatformString|

	END

⌨️ 快捷键说明

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