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

📄 m29w800dt.cod

📁 平台PXA270, Mobile6.0 这是270的mobile6.0的bootloader
💻 COD
📖 第 1 页 / 共 5 页
字号:

; 481  : }

  00080	e28dd008	 add         sp, sp, #8
  00084	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  00088	e12fff1e	 bx          lr
  0008c		 |$L34789|
  0008c	00000000	 DCD         |s_STFlsInfo|
  00090		 |$M34785|

			 ENDP  ; |?Spansion_Nor_FMD_SetBlockStatus@@YAHKK@Z|, Spansion_Nor_FMD_SetBlockStatus


  00000			 AREA	 |.text| { |?EraseBlockEx@@YAHK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?EraseBlockEx@@YAHK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?EraseBlockEx@@YAHK@Z| } ; comdat associative
|$T34814| DCD	|$L34813|
	DCD	0x40002501
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?EraseBlockEx@@YAHK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?EraseBlockEx@@YAHK@Z| PROC		; EraseBlockEx

; 485  : {

  00000		 |$L34813|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004		 |$M34811|
  00004	e1a01000	 mov         r1, r0

; 486  : 	STUnlockChip(&s_STFlsInfo);

  00008	e59f4080	 ldr         r4, [pc, #0x80]
  0000c	e3a050aa	 mov         r5, #0xAA
  00010	e3a06055	 mov         r6, #0x55
  00014	e5942000	 ldr         r2, [r4]
  00018	e5943024	 ldr         r3, [r4, #0x24]

; 487  : 	STIssueCmd(&s_STFlsInfo, ST_CMD_ERASE);

  0001c	e3a0e080	 mov         lr, #0x80

; 488  : 	STUnlockChip(&s_STFlsInfo);
; 489  : 	STWriteWord(&s_STFlsInfo,EraseAddr, (WORD)s_STFlsInfo.stFlashCmd.dwEraseConfm);
; 490  : 
; 491  : 	if(!STWaitComplete(&s_STFlsInfo))

  00020	e1a00004	 mov         r0, r4
  00024	e18250b3	 strh        r5, [r2, +r3]
  00028	e5942000	 ldr         r2, [r4]
  0002c	e5943028	 ldr         r3, [r4, #0x28]
  00030	e18260b3	 strh        r6, [r2, +r3]
  00034	e5942020	 ldr         r2, [r4, #0x20]
  00038	e5943000	 ldr         r3, [r4]
  0003c	e182e0b3	 strh        lr, [r2, +r3]
  00040	e5942000	 ldr         r2, [r4]
  00044	e5943024	 ldr         r3, [r4, #0x24]
  00048	e18250b3	 strh        r5, [r2, +r3]
  0004c	e5942000	 ldr         r2, [r4]
  00050	e5943028	 ldr         r3, [r4, #0x28]
  00054	e18260b3	 strh        r6, [r2, +r3]
  00058	e5942000	 ldr         r2, [r4]
  0005c	e594301c	 ldr         r3, [r4, #0x1C]
  00060	e18230b1	 strh        r3, [r2, +r1]
  00064	eb000000	 bl          |?STWaitComplete@@YAHPAU_ST_FLS_INFO_@@@Z|
  00068	e3500000	 cmp         r0, #0

; 492  : 	{
; 493  : 		STIssueCmd(&s_STFlsInfo,ST_CMD_RESET);

  0006c	05942020	 ldreq       r2, [r4, #0x20]
  00070	05943000	 ldreq       r3, [r4]
  00074	03a010f0	 moveq       r1, #0xF0

; 494  : 		return FALSE;

  00078	03a00000	 moveq       r0, #0
  0007c	018210b3	 streqh      r1, [r2, +r3]

; 497  : }

  00080	08bd4070	 ldmeqia     sp!, {r4 - r6, lr}

; 495  : 	}
; 496  : 	return TRUE;

  00084	13a00001	 movne       r0, #1

; 497  : }

  00088	18bd4070	 ldmneia     sp!, {r4 - r6, lr}
  0008c	e12fff1e	 bx          lr
  00090		 |$L34816|
  00090	00000000	 DCD         |s_STFlsInfo|
  00094		 |$M34812|

			 ENDP  ; |?EraseBlockEx@@YAHK@Z|, EraseBlockEx

	EXPORT	|?Spansion_Nor_FMD_EraseBlock@@YAHK@Z|	; Spansion_Nor_FMD_EraseBlock
	EXPORT	|??_C@_1IC@EAMLHEPB@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AAn@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CM@BPFBCCLL@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA0?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CO@KDBKBJDA@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA1?$AA6?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr@| [ DATA ] ; `string'
	EXPORT	|??_C@_1DA@OCCPBOIL@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?5?$AAe?$AAr?$AAr?$AAo@| [ DATA ] ; `string'

  00000			 AREA	 |.text| { |?Spansion_Nor_FMD_EraseBlock@@YAHK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?Spansion_Nor_FMD_EraseBlock@@YAHK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?Spansion_Nor_FMD_EraseBlock@@YAHK@Z| } ; comdat associative
|$T34849| DCD	|$L34848|
	DCD	0x40005801

  00000			 AREA	 |.rdata| { |??_C@_1DA@OCCPBOIL@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?5?$AAe?$AAr?$AAr?$AAo@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1DA@OCCPBOIL@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CF?$AAd?$AA?5?$AA?5?$AAe?$AAr?$AAr?$AAo@| DCB "E"
	DCB	0x0, "r", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " ", 0x0, "b"
	DCB	0x0, "l", 0x0, "o", 0x0, "c", 0x0, "k", 0x0, " ", 0x0, "%"
	DCB	0x0, "d", 0x0, " ", 0x0, " ", 0x0, "e", 0x0, "r", 0x0, "r"
	DCB	0x0, "o", 0x0, "r", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CO@KDBKBJDA@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA1?$AA6?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CO@KDBKBJDA@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA1?$AA6?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr@| DCB "E"
	DCB	0x0, "r", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " ", 0x0, "b"
	DCB	0x0, "l", 0x0, "o", 0x0, "c", 0x0, "k", 0x0, " ", 0x0, "1"
	DCB	0x0, "6", 0x0, " ", 0x0, "e", 0x0, "r", 0x0, "r", 0x0, "o"
	DCB	0x0, "r", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CM@BPFBCCLL@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA0?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CM@BPFBCCLL@?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA0?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN@| DCB "E"
	DCB	0x0, "r", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " ", 0x0, "b"
	DCB	0x0, "l", 0x0, "o", 0x0, "c", 0x0, "k", 0x0, " ", 0x0, "0"
	DCB	0x0, " ", 0x0, "e", 0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r"
	DCB	0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0	; `string'

  00000			 AREA	 |.rdata| { |??_C@_1IC@EAMLHEPB@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AAn@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1IC@EAMLHEPB@?$AAE?$AAR?$AAR?$AAO?$AAR?$AA?3?$AA?5?$AAE?$AAr?$AAa?$AAs?$AAe?$AA?5?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AAn@| DCB "E"
	DCB	0x0, "R", 0x0, "R", 0x0, "O", 0x0, "R", 0x0, ":", 0x0, " "
	DCB	0x0, "E", 0x0, "r", 0x0, "a", 0x0, "s", 0x0, "e", 0x0, " "
	DCB	0x0, "b", 0x0, "l", 0x0, "o", 0x0, "c", 0x0, "k", 0x0, " "
	DCB	0x0, "n", 0x0, "u", 0x0, "m", 0x0, ":", 0x0, "0", 0x0, "x"
	DCB	0x0, "%", 0x0, "X", 0x0, " ", 0x0, "l", 0x0, "a", 0x0, "r"
	DCB	0x0, "g", 0x0, "e", 0x0, " ", 0x0, "t", 0x0, "h", 0x0, "a"
	DCB	0x0, "n", 0x0, " ", 0x0, "t", 0x0, "h", 0x0, "e", 0x0, " "
	DCB	0x0, "m", 0x0, "a", 0x0, "x", 0x0, " ", 0x0, "b", 0x0, "l"
	DCB	0x0, "o", 0x0, "c", 0x0, "k", 0x0, " ", 0x0, "n", 0x0, "u"
	DCB	0x0, "m", 0x0, ":", 0x0, "0", 0x0, "x", 0x0, "%", 0x0, "X"
	DCB	0x0, "!", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?Spansion_Nor_FMD_EraseBlock@@YAHK@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?Spansion_Nor_FMD_EraseBlock@@YAHK@Z| PROC ; Spansion_Nor_FMD_EraseBlock

; 506  : {

  00000		 |$L34848|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M34846|
  00004	e1a04000	 mov         r4, r0

; 507  : 	// EdbgOutputDebugString("Spansion_Nor_FMD_EraseBlock(%d).\r\n", blockID);
; 508  : 	if(s_STFlsInfo.dwBlkNum < blockID)

  00008	e59f114c	 ldr         r1, [pc, #0x14C]
  0000c	e591200c	 ldr         r2, [r1, #0xC]
  00010	e1520004	 cmp         r2, r4
  00014	2a000005	 bcs         |$L34409|

; 509  : 	{
; 510  : 		RETAILMSG(1, (TEXT("ERROR: Erase block num:0x%X large than the max block num:0x%X!\r\n"),blockID,s_STFlsInfo.dwBlkNum));

  00018	e59f0138	 ldr         r0, [pc, #0x138]
  0001c	e1a01004	 mov         r1, r4
  00020	eb000000	 bl          NKDbgPrintfW

; 567  : 				return FALSE;

  00024	e3a00000	 mov         r0, #0

; 572  : 
; 573  : }

  00028	e8bd4010	 ldmia       sp!, {r4, lr}
  0002c	e12fff1e	 bx          lr
  00030		 |$L34409|

; 511  : 		return FALSE;
; 512  : 	}
; 513  : 
; 514  : 	if( blockID == 0 && s_STFlsInfo.flashType ==  ST_BOTTOM_DEV )

  00030	e3540000	 cmp         r4, #0
  00034	1a00001c	 bne         |$L34411|
  00038	e5912018	 ldr         r2, [r1, #0x18]
  0003c	e3a03d89	 mov         r3, #0x89, 26
  00040	e383301b	 orr         r3, r3, #0x1B
  00044	e1520003	 cmp         r2, r3
  00048	1a000034	 bne         |$L34418|

; 515  : 	{
; 516  : 		if(!EraseBlockEx(0))

  0004c	e3a00000	 mov         r0, #0
  00050	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  00054	e3500000	 cmp         r0, #0
  00058	1a000004	 bne         |$L34412|
  0005c		 |$L34843|

; 517  : 		{
; 518  : 			RETAILMSG(1, (TEXT("Erase block 0 error\r\n")));

  0005c	e59f00f0	 ldr         r0, [pc, #0xF0]
  00060		 |$L34844|
  00060	eb000000	 bl          NKDbgPrintfW

; 567  : 				return FALSE;

  00064	e3a00000	 mov         r0, #0

; 572  : 
; 573  : }

  00068	e8bd4010	 ldmia       sp!, {r4, lr}
  0006c	e12fff1e	 bx          lr
  00070		 |$L34412|

; 519  : 			return FALSE;
; 520  : 		}
; 521  : 		if(!EraseBlockEx(16 * 1024))

  00070	e3a00901	 mov         r0, #1, 18
  00074	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  00078	e3500000	 cmp         r0, #0

; 522  : 		{
; 523  : 			RETAILMSG(1, (TEXT("Erase block 0 error\r\n")));
; 524  : 			return FALSE;

  0007c	0afffff6	 beq         |$L34843|

; 525  : 		}
; 526  : 		if(!EraseBlockEx(24 * 1024))

  00080	e3a00a06	 mov         r0, #6, 20
  00084	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  00088	e3500000	 cmp         r0, #0

; 527  : 		{
; 528  : 			RETAILMSG(1, (TEXT("Erase block 0 error\r\n")));
; 529  : 			return FALSE;

  0008c	0afffff2	 beq         |$L34843|

; 530  : 		}
; 531  : 		if(!EraseBlockEx(32 * 1024))

  00090	e3a00902	 mov         r0, #2, 18
  00094	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  00098	e3500000	 cmp         r0, #0
  0009c	0affffee	 beq         |$L34843|
  000a0		 |$L34426|

; 568  : 			}
; 569  : 		}
; 570  : 	}
; 571  : 	return TRUE;

  000a0	e3a00001	 mov         r0, #1

; 572  : 
; 573  : }

  000a4	e8bd4010	 ldmia       sp!, {r4, lr}
  000a8	e12fff1e	 bx          lr
  000ac		 |$L34411|

; 532  : 		{
; 533  : 			RETAILMSG(1, (TEXT("Erase block 0 error\r\n")));
; 534  : 			return FALSE;
; 535  : 		}
; 536  : 	}
; 537  : 	else 
; 538  : 	{
; 539  : 		if(blockID == 15 && (s_STFlsInfo.flashType == ST_TOP_DEV || s_STFlsInfo.flashType == SP_TOP_DEV))

  000ac	e354000f	 cmp         r4, #0xF
  000b0	1a00001a	 bne         |$L34418|
  000b4	e5912018	 ldr         r2, [r1, #0x18]
  000b8	e3a03d8b	 mov         r3, #0x8B, 26
  000bc	e3833017	 orr         r3, r3, #0x17
  000c0	e1520003	 cmp         r2, r3
  000c4	0a000003	 beq         |$L34419|
  000c8	e3a03d8b	 mov         r3, #0x8B, 26
  000cc	e383301a	 orr         r3, r3, #0x1A
  000d0	e1520003	 cmp         r2, r3
  000d4	1a000011	 bne         |$L34418|
  000d8		 |$L34419|

; 540  : 		{
; 541  : 			if(!EraseBlockEx(0xf0000))

  000d8	e3a0080f	 mov         r0, #0xF, 16
  000dc	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  000e0	e3500000	 cmp         r0, #0

; 542  : 			{
; 543  : 				RETAILMSG(1, (TEXT("Erase block 16 error\r\n")));
; 544  : 				return FALSE;

  000e4	0a00000b	 beq         |$L34845|

; 545  : 			}
; 546  : 			if(!EraseBlockEx(0xf8000))

  000e8	e3a0093e	 mov         r0, #0x3E, 18
  000ec	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  000f0	e3500000	 cmp         r0, #0

; 547  : 			{
; 548  : 				RETAILMSG(1, (TEXT("Erase block 16 error\r\n")));
; 549  : 				return FALSE;

  000f4	0a000007	 beq         |$L34845|

; 550  : 			}
; 551  : 			if(!EraseBlockEx( 0xfa000))

  000f8	e3a00afa	 mov         r0, #0xFA, 20
  000fc	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  00100	e3500000	 cmp         r0, #0

; 552  : 			{
; 553  : 				RETAILMSG(1, (TEXT("Erase block 16 error\r\n")));
; 554  : 				return FALSE;

  00104	0a000003	 beq         |$L34845|

; 555  : 			}
; 556  : 			if(!EraseBlockEx( 0xfc000))

  00108	e3a0093f	 mov         r0, #0x3F, 18
  0010c	eb000000	 bl          |?EraseBlockEx@@YAHK@Z|
  00110	e3500000	 cmp         r0, #0
  00114	1affffe1	 bne         |$L34426|
  00118		 |$L34845|

; 557  : 			{
; 558  : 				RETAILMSG(1, (TEXT("Erase block 16 error\r\n")));

  00118	e59f0030	 ldr         r0, [pc, #0x30]

; 559  : 				return FALSE;

  0011c	eaffffcf	 b           |$L34844|
  00120		 |$L34418|

; 560  : 			}
; 561  : 		}
; 562  : 		else
; 563  : 		{
; 564  : 			if(!EraseBlockEx( blockID*s_STFlsInfo.dwBlkSize))

  00120	e5913010	 ldr         r3, [r1, #0x10]
  00124	e0000493	 mul         r0

⌨️ 快捷键说明

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