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

📄 download.cod

📁 平台PXA270, Mobile6.0 这是270的mobile6.0的bootloader
💻 COD
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4345 

	TTL	E:\WM604\PLATFORM\SEUICBSP\SRC\BOOTLOADER\EBOOT\.\Download.c
	CODE32

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

	EXPORT	|g_CurDlMode| [ DATA ]
	EXPORT	|g_DlDeviceOp| [ DATA ]

  00000			 AREA	 |.bss|, NOINIT
|g_DlDeviceOp| % 0xc

  00000			 AREA	 |.data|, DATA
|g_CurDlMode| DCD 0x64

  00000			 AREA	 |.rdata|, DATA, READONLY
|EdbgVendorIds| DCW 0x0
	DCW	0x0
	DCD	0x4033
	DCB	0x1
	DCB	"AD", 0x0
	DCW	0x1050
	DCW	0x940
	DCD	0x4005
	DCB	0x1
	DCB	"LS", 0x0
	DCW	0x1050
	DCW	0x940
	DCD	0x2078
	DCB	0x1
	DCB	"LS", 0x0
	DCW	0x10ec
	DCW	0x8029
	DCD	0xc0f0
	DCB	0x1
	DCB	"KS", 0x0
	DCW	0x10ec
	DCW	0x8129
	DCD	0x0
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0x900b
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0xd0c9
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x10ec
	DCW	0x8139
	DCD	0xe04c
	DCB	0x4
	DCB	"RT", 0x0
	DCW	0x1186
	DCW	0x1300
	DCD	0x50ba
	DCB	0x4
	DCB	"DL", 0x0
	DCW	0x100b
	DCW	0x20
	DCD	0xa0cc
	DCB	0x5
	DCB	"NG", 0x0
	DCW	0x10b7
	DCW	0x9050
	DCD	0x6008
	DCB	0x6
	DCB	"3C", 0x0
	DCW	0x10b7
	DCW	0x9200
	DCD	0x476
	DCB	0x6
	DCB	"3C", 0x0
	EXPORT	|DL_Init|
	EXPORT	|??_C@_0BB@LBBJGJC@DL_MODE_SERIAL?$AN?6?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_0O@LKKANLNG@DL_MODE_USB?$AN?6?$AA@| [ DATA ] ; `string'
	IMPORT	|EdbgOutputDebugString|
	IMPORT	|Serial_Init|
	IMPORT	|Serial_Deinit|
	IMPORT	|Serial_ReadData|
	IMPORT	|Usb_Init|
	IMPORT	|Usb_Deinit|
	IMPORT	|Usb_ReadData|
; File e:\wm604\platform\seuicbsp\src\bootloader\eboot\download.c

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

  00000			 AREA	 |.pdata$$DL_Init|, PDATA, SELECTION=5, ASSOC=|.text| { |DL_Init| } ; comdat associative
|$T39135| DCD	|$L39134|
	DCD	0x40002d01

  00000			 AREA	 |.rdata| { |??_C@_0BB@LBBJGJC@DL_MODE_SERIAL?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BB@LBBJGJC@DL_MODE_SERIAL?$AN?6?$AA@| DCB "DL_MODE_SERIAL", 0xd, 0xa
	DCB	0x0					; `string'

  00000			 AREA	 |.rdata| { |??_C@_0O@LKKANLNG@DL_MODE_USB?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0O@LKKANLNG@DL_MODE_USB?$AN?6?$AA@| DCB "DL_MODE_USB", 0xd, 0xa, 0x0 ; `string'
; Function compile flags: /Ogsy

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

  00000		 |DL_Init| PROC

; 28   : {

  00000		 |$L39134|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004		 |$M39132|
  00004	e1a05000	 mov         r5, r0

; 29   :     BOOL ret = FALSE;
; 30   :     
; 31   :     switch(mode)

  00008	e59f40a0	 ldr         r4, [pc, #0xA0]
  0000c	e3a06000	 mov         r6, #0
  00010	e3550001	 cmp         r5, #1
  00014	0a000007	 beq         |$L39077|
  00018	e3550002	 cmp         r5, #2
  0001c	1a00000e	 bne         |$L39127|

; 38   :             break;
; 39   : 
; 40   :         case DL_MODE_USB:
; 41   :             EdbgOutputDebugString("DL_MODE_USB\r\n");

  00020	e59f0084	 ldr         r0, [pc, #0x84]
  00024	eb000000	 bl          EdbgOutputDebugString

; 42   :             g_DlDeviceOp.pfDlDeviceInit 	= Usb_Init;

  00028	e59f1078	 ldr         r1, [pc, #0x78]

; 43   :             g_DlDeviceOp.pfDlDeviceDeinit 	= Usb_Deinit;

  0002c	e59f3070	 ldr         r3, [pc, #0x70]

; 44   :             g_DlDeviceOp.pfDlDeviceReadData	= Usb_ReadData;

  00030	e59f2068	 ldr         r2, [pc, #0x68]

; 45   :             break;

  00034	ea000004	 b           |$L39131|
  00038		 |$L39077|

; 32   :     {
; 33   :         case DL_MODE_SERIAL:
; 34   :             EdbgOutputDebugString("DL_MODE_SERIAL\r\n");

  00038	e59f005c	 ldr         r0, [pc, #0x5C]
  0003c	eb000000	 bl          EdbgOutputDebugString

; 35   :             g_DlDeviceOp.pfDlDeviceInit 	= Serial_Init;

  00040	e59f1050	 ldr         r1, [pc, #0x50]

; 36   :             g_DlDeviceOp.pfDlDeviceDeinit 	= Serial_Deinit;

  00044	e59f3048	 ldr         r3, [pc, #0x48]

; 37   :             g_DlDeviceOp.pfDlDeviceReadData	= Serial_ReadData;

  00048	e59f2040	 ldr         r2, [pc, #0x40]
  0004c		 |$L39131|
  0004c	e5841000	 str         r1, [r4]
  00050	e5843004	 str         r3, [r4, #4]
  00054	e5842008	 str         r2, [r4, #8]
  00058	ea000000	 b           |$L39074|
  0005c		 |$L39127|
  0005c	e5941000	 ldr         r1, [r4]
  00060		 |$L39074|

; 46   : 
; 47   :         case DL_MODE_MMC:
; 48   :             //g_DlDeviceOp.pfDlDeviceInit 	= MMC_Init;
; 49   :             //g_DlDeviceOp.pfDlDeviceDeinit 	= MMC_Deinit;
; 50   :             //g_DlDeviceOp.pfDlDeviceReadData	= MMC_ReadData;
; 51   :             break;
; 52   : 
; 53   :         case DL_MODE_CFCARD:
; 54   :             break;
; 55   : 
; 56   :         default:
; 57   :             break;
; 58   :     }
; 59   :     g_CurDlMode = mode;

  00060	e59f3024	 ldr         r3, [pc, #0x24]

; 60   :     if(g_DlDeviceOp.pfDlDeviceInit)

  00064	e3510000	 cmp         r1, #0
  00068	e5835000	 str         r5, [r3]
  0006c	0a000003	 beq         |$L39084|

; 61   :     {
; 62   :         ret =  g_DlDeviceOp.pfDlDeviceInit();

  00070	e5943000	 ldr         r3, [r4]
  00074	e1a0e00f	 mov         lr, pc
  00078	e12fff13	 bx          r3
  0007c	e1a06000	 mov         r6, r0
  00080		 |$L39084|

; 63   :     }
; 64   :     return ret;

  00080	e1a00006	 mov         r0, r6

; 65   : }

  00084	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  00088	e12fff1e	 bx          lr
  0008c		 |$L39137|
  0008c	00000000	 DCD         |g_CurDlMode|
  00090	00000000	 DCD         |Serial_ReadData|
  00094	00000000	 DCD         |Serial_Deinit|
  00098	00000000	 DCD         |Serial_Init|
  0009c	00000000	 DCD         |??_C@_0BB@LBBJGJC@DL_MODE_SERIAL?$AN?6?$AA@|
  000a0	00000000	 DCD         |Usb_ReadData|
  000a4	00000000	 DCD         |Usb_Deinit|
  000a8	00000000	 DCD         |Usb_Init|
  000ac	00000000	 DCD         |??_C@_0O@LKKANLNG@DL_MODE_USB?$AN?6?$AA@|
  000b0	00000000	 DCD         |g_DlDeviceOp|
  000b4		 |$M39133|

			 ENDP  ; |DL_Init|

	EXPORT	|DL_Deinit|

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

  00000			 AREA	 |.pdata$$DL_Deinit|, PDATA, SELECTION=5, ASSOC=|.text| { |DL_Deinit| } ; comdat associative
|$T39146| DCD	|$L39145|
	DCD	0x40001401
; Function compile flags: /Ogsy

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

  00000		 |DL_Deinit| PROC

; 68   : {

  00000		 |$L39145|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M39143|

; 69   :     BOOL ret = FALSE;
; 70   :     
; 71   :     if(g_DlDeviceOp.pfDlDeviceDeinit)

  00004	e59f4040	 ldr         r4, [pc, #0x40]
  00008	e3a00000	 mov         r0, #0
  0000c	e5943004	 ldr         r3, [r4, #4]
  00010	e3530000	 cmp         r3, #0

; 72   :     {
; 73   :         ret =  g_DlDeviceOp.pfDlDeviceDeinit();

  00014	11a0e00f	 movne       lr, pc
  00018	112fff13	 bxne        r3

; 74   :     }
; 75   :     g_CurDlMode = DL_MODE_NULL;
; 76   :     g_DlDeviceOp.pfDlDeviceInit = NULL;

  0001c	e3a02000	 mov         r2, #0
  00020	e5842000	 str         r2, [r4]
  00024	e59f301c	 ldr         r3, [pc, #0x1C]

; 77   :     g_DlDeviceOp.pfDlDeviceDeinit= NULL;

  00028	e3a02000	 mov         r2, #0
  0002c	e5842004	 str         r2, [r4, #4]

; 78   :     g_DlDeviceOp.pfDlDeviceReadData= NULL;

  00030	e3a02000	 mov         r2, #0
  00034	e3a01064	 mov         r1, #0x64
  00038	e5842008	 str         r2, [r4, #8]
  0003c	e5831000	 str         r1, [r3]

; 79   :     
; 80   :     return ret;
; 81   : }

  00040	e8bd4010	 ldmia       sp!, {r4, lr}
  00044	e12fff1e	 bx          lr
  00048		 |$L39148|
  00048	00000000	 DCD         |g_CurDlMode|
  0004c	00000000	 DCD         |g_DlDeviceOp|
  00050		 |$M39144|

			 ENDP  ; |DL_Deinit|

	EXPORT	|DL_GetCurMode|

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

  00000			 AREA	 |.pdata$$DL_GetCurMode|, PDATA, SELECTION=5, ASSOC=|.text| { |DL_GetCurMode| } ; comdat associative
|$T39156| DCD	|$L39155|
	DCD	0x40000400
; Function compile flags: /Ogsy

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

  00000		 |DL_GetCurMode| PROC

; 83   : {

  00000		 |$L39155|
  00000		 |$M39153|

; 84   :     return g_CurDlMode;

  00000	e59f3004	 ldr         r3, [pc, #4]
  00004	e5930000	 ldr         r0, [r3]

; 85   : }

  00008	e12fff1e	 bx          lr
  0000c		 |$L39158|
  0000c	00000000	 DCD         |g_CurDlMode|
  00010		 |$M39154|

			 ENDP  ; |DL_GetCurMode|

	EXPORT	|DL_ReadData|

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

  00000			 AREA	 |.pdata$$DL_ReadData|, PDATA, SELECTION=5, ASSOC=|.text| { |DL_ReadData| } ; comdat associative
|$T39169| DCD	|$L39168|
	DCD	0x40000c01
; Function compile flags: /Ogsy

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

  00000		 |DL_ReadData| PROC

; 88   : {

  00000		 |$L39168|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M39166|
  00004	e1a0e000	 mov         lr, r0

; 89   :     BOOL ret = FALSE;
; 90   :     
; 91   :     if(g_DlDeviceOp.pfDlDeviceReadData)

  00008	e59f201c	 ldr         r2, [pc, #0x1C]
  0000c	e3a00000	 mov         r0, #0
  00010	e5923008	 ldr         r3, [r2, #8]
  00014	e3530000	 cmp         r3, #0

; 92   :     {
; 93   :         ret =  g_DlDeviceOp.pfDlDeviceReadData(cbData,pbData);

  00018	11a0000e	 movne       r0, lr
  0001c	11a0e00f	 movne       lr, pc
  00020	112fff13	 bxne        r3

; 94   :     }
; 95   :     return ret;
; 96   : }

  00024	e49de004	 ldr         lr, [sp], #4
  00028	e12fff1e	 bx          lr
  0002c		 |$L39171|
  0002c	00000000	 DCD         |g_DlDeviceOp|
  00030		 |$M39167|

			 ENDP  ; |DL_ReadData|

	END

⌨️ 快捷键说明

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