📄 download.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 + -