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

📄 nandfls.cod

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

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

  00000		 |?NandRdId@@YAHPAE@Z| PROC		; NandRdId

; 617  : {

  00000		 |$L35979|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M35977|
  00004	e1a01000	 mov         r1, r0

; 618  : /*
; 619  :     PXANandInputCmd(CMD_READID);
; 620  : 	PXANandAleEnable();
; 621  :     *(sg_PXANandFlash.pbBassAdd) = 0;
; 622  :     PXANandAleDisable();
; 623  :     
; 624  :     *pbId = *(sg_PXANandFlash.pbBassAdd);
; 625  :     *(pbId + 1) = *(sg_PXANandFlash.pbBassAdd);
; 626  : 	*(pbId + 2) = *(sg_PXANandFlash.pbBassAdd);
; 627  : 	*(pbId + 3) = *(sg_PXANandFlash.pbBassAdd);
; 628  :         
; 629  :     return TRUE;
; 630  : */
; 631  :     *(sg_PXANandFlash.pbBassAdd + 4) = CMD_READID;

  00008	e59f2050	 ldr         r2, [pc, #0x50]
  0000c	e3a0e090	 mov         lr, #0x90

; 632  :     *(sg_PXANandFlash.pbBassAdd + 8) = 0;

  00010	e3a04000	 mov         r4, #0
  00014	e5923004	 ldr         r3, [r2, #4]

; 633  :     *pbId = *(volatile BYTE *)(sg_PXANandFlash.pbBassAdd);
; 634  :     *(pbId + 1) = *(volatile BYTE *)(sg_PXANandFlash.pbBassAdd);
; 635  :     *(pbId + 2) = *(volatile BYTE *)(sg_PXANandFlash.pbBassAdd);
; 636  :     *(pbId + 3) = *(volatile BYTE *)(sg_PXANandFlash.pbBassAdd);
; 637  :     return TRUE;

  00018	e3a00001	 mov         r0, #1
  0001c	e5c3e004	 strb        lr, [r3, #4]
  00020	e5923004	 ldr         r3, [r2, #4]
  00024	e5c34008	 strb        r4, [r3, #8]
  00028	e5923004	 ldr         r3, [r2, #4]
  0002c	e5d33000	 ldrb        r3, [r3]
  00030	e5c13000	 strb        r3, [r1]
  00034	e5923004	 ldr         r3, [r2, #4]
  00038	e5d33000	 ldrb        r3, [r3]
  0003c	e5c13001	 strb        r3, [r1, #1]
  00040	e5923004	 ldr         r3, [r2, #4]
  00044	e5d33000	 ldrb        r3, [r3]
  00048	e5c13002	 strb        r3, [r1, #2]
  0004c	e5923004	 ldr         r3, [r2, #4]
  00050	e5d33000	 ldrb        r3, [r3]
  00054	e5c13003	 strb        r3, [r1, #3]

; 638  : 
; 639  : }

  00058	e8bd4010	 ldmia       sp!, {r4, lr}
  0005c	e12fff1e	 bx          lr
  00060		 |$L35982|
  00060	00000000	 DCD         |?sg_PXANandFlash@@3UstPXANandFlash@@A|
  00064		 |$M35978|

			 ENDP  ; |?NandRdId@@YAHPAE@Z|, NandRdId


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

  00000			 AREA	 |.pdata$$?PXANandInputRowAdd@@YAXK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?PXANandInputRowAdd@@YAXK@Z| } ; comdat associative
|$T35992| DCD	|$L35991|
	DCD	0x40001301
; Function compile flags: /Ogsy

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

  00000		 |?PXANandInputRowAdd@@YAXK@Z| PROC	; PXANandInputRowAdd

; 654  : {

  00000		 |$L35991|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M35989|

; 655  :     for(WORD i = 0; i < sg_PXANandFlash.dwRowCycles; i++)

  00004	e59fe03c	 ldr         lr, [pc, #0x3C]
  00008	e59e3028	 ldr         r3, [lr, #0x28]
  0000c	e3530000	 cmp         r3, #0
  00010	0a00000a	 beq         |$L35738|
  00014	e3a01000	 mov         r1, #0
  00018		 |$L35736|

; 656  :     {
; 657  :         *(sg_PXANandFlash.pbBassAdd + 8) = (BYTE)((NandRowAddr >> (i * 8)) & 0xff);

  00018	e59e2004	 ldr         r2, [lr, #4]
  0001c	e1a03181	 mov         r3, r1, lsl #3
  00020	e1a03330	 mov         r3, r0, lsr r3
  00024	e2811001	 add         r1, r1, #1
  00028	e5c23008	 strb        r3, [r2, #8]
  0002c	e59e3028	 ldr         r3, [lr, #0x28]
  00030	e1a01801	 mov         r1, r1, lsl #16
  00034	e1a01821	 mov         r1, r1, lsr #16
  00038	e1510003	 cmp         r1, r3
  0003c	3afffff5	 bcc         |$L35736|
  00040		 |$L35738|

; 658  :     }
; 659  : }

  00040	e49de004	 ldr         lr, [sp], #4
  00044	e12fff1e	 bx          lr
  00048		 |$L35994|
  00048	00000000	 DCD         |?sg_PXANandFlash@@3UstPXANandFlash@@A|
  0004c		 |$M35990|

			 ENDP  ; |?PXANandInputRowAdd@@YAXK@Z|, PXANandInputRowAdd


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

  00000			 AREA	 |.pdata$$?PXANandInputAdd@@YAXKK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?PXANandInputAdd@@YAXKK@Z| } ; comdat associative
|$T36008| DCD	|$L36007|
	DCD	0x40002101
; Function compile flags: /Ogsy

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

  00000		 |?PXANandInputAdd@@YAXKK@Z| PROC	; PXANandInputAdd

; 662  : {

  00000		 |$L36007|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M36005|

; 663  :     WORD i;
; 664  :     
; 665  :     for(i = 0; i < sg_PXANandFlash.dwColumnCycles; i++)

  00004	e59f4074	 ldr         r4, [pc, #0x74]
  00008	e5943024	 ldr         r3, [r4, #0x24]
  0000c	e3530000	 cmp         r3, #0
  00010	0a00000a	 beq         |$L35747|
  00014	e3a0e000	 mov         lr, #0
  00018		 |$L35745|

; 666  :     {
; 667  :         *(sg_PXANandFlash.pbBassAdd + 8) = (BYTE)((NandColumnAddr >> (i * 8)) & 0xff);

  00018	e5942004	 ldr         r2, [r4, #4]
  0001c	e1a0318e	 mov         r3, lr, lsl #3
  00020	e1a03331	 mov         r3, r1, lsr r3
  00024	e28ee001	 add         lr, lr, #1
  00028	e5c23008	 strb        r3, [r2, #8]
  0002c	e5943024	 ldr         r3, [r4, #0x24]
  00030	e1a0e80e	 mov         lr, lr, lsl #16
  00034	e1a0e82e	 mov         lr, lr, lsr #16
  00038	e15e0003	 cmp         lr, r3
  0003c	3afffff5	 bcc         |$L35745|
  00040		 |$L35747|

; 668  :     }
; 669  : 
; 670  :     for(i = 0; i < sg_PXANandFlash.dwRowCycles; i++)

  00040	e5943028	 ldr         r3, [r4, #0x28]
  00044	e3530000	 cmp         r3, #0
  00048	0a00000a	 beq         |$L35751|
  0004c	e3a01000	 mov         r1, #0
  00050		 |$L35749|

; 671  :     {
; 672  :         *(sg_PXANandFlash.pbBassAdd + 8) = (BYTE)((NandRowAddr >> (i * 8)) & 0xff);

  00050	e5942004	 ldr         r2, [r4, #4]
  00054	e1a03181	 mov         r3, r1, lsl #3
  00058	e1a03330	 mov         r3, r0, lsr r3
  0005c	e2811001	 add         r1, r1, #1
  00060	e5c23008	 strb        r3, [r2, #8]
  00064	e5943028	 ldr         r3, [r4, #0x28]
  00068	e1a01801	 mov         r1, r1, lsl #16
  0006c	e1a01821	 mov         r1, r1, lsr #16
  00070	e1510003	 cmp         r1, r3
  00074	3afffff5	 bcc         |$L35749|
  00078		 |$L35751|

; 673  :     }
; 674  : }

  00078	e8bd4010	 ldmia       sp!, {r4, lr}
  0007c	e12fff1e	 bx          lr
  00080		 |$L36010|
  00080	00000000	 DCD         |?sg_PXANandFlash@@3UstPXANandFlash@@A|
  00084		 |$M36006|

			 ENDP  ; |?PXANandInputAdd@@YAXKK@Z|, PXANandInputAdd


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

  00000			 AREA	 |.pdata$$?PXANandInputData@@YAXKPAE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?PXANandInputData@@YAXKPAE@Z| } ; comdat associative
|$T36021| DCD	|$L36020|
	DCD	0x40000e01
; Function compile flags: /Ogsy

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

  00000		 |?PXANandInputData@@YAXKPAE@Z| PROC	; PXANandInputData

; 677  : {

  00000		 |$L36020|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M36018|
  00004	e3500000	 cmp         r0, #0

; 678  :     for(DWORD i = 0; i < dwNumOfData; i++)

  00008	e3a0e000	 mov         lr, #0
  0000c	0a000006	 beq         |$L35760|
  00010	e59f401c	 ldr         r4, [pc, #0x1C]
  00014		 |$L35758|

; 679  :     {
; 680  :         *(sg_PXANandFlash.pbBassAdd) = pbData[i];

  00014	e7de2001	 ldrb        r2, [lr, +r1]
  00018	e5943004	 ldr         r3, [r4, #4]
  0001c	e28ee001	 add         lr, lr, #1
  00020	e15e0000	 cmp         lr, r0
  00024	e5c32000	 strb        r2, [r3]
  00028	3afffff9	 bcc         |$L35758|
  0002c		 |$L35760|

; 681  :     }
; 682  : }

  0002c	e8bd4010	 ldmia       sp!, {r4, lr}
  00030	e12fff1e	 bx          lr
  00034		 |$L36023|
  00034	00000000	 DCD         |?sg_PXANandFlash@@3UstPXANandFlash@@A|
  00038		 |$M36019|

			 ENDP  ; |?PXANandInputData@@YAXKPAE@Z|, PXANandInputData

	EXPORT	|?PXANandReadData@@YAXKPAE@Z|		; PXANandReadData

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

  00000			 AREA	 |.pdata$$?PXANandReadData@@YAXKPAE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?PXANandReadData@@YAXKPAE@Z| } ; comdat associative
|$T36034| DCD	|$L36033|
	DCD	0x40000e01
; Function compile flags: /Ogsy

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

  00000		 |?PXANandReadData@@YAXKPAE@Z| PROC	; PXANandReadData

; 685  : {

  00000		 |$L36033|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M36031|
  00004	e3500000	 cmp         r0, #0

; 686  :     for(DWORD i = 0; i < dwNumOfData; i++)

  00008	e3a02000	 mov         r2, #0
  0000c	0a000006	 beq         |$L35768|
  00010	e59fe01c	 ldr         lr, [pc, #0x1C]
  00014		 |$L35766|

; 687  :     {
; 688  :         pbData[i] = *(sg_PXANandFlash.pbBassAdd);

  00014	e59e3004	 ldr         r3, [lr, #4]
  00018	e5d33000	 ldrb        r3, [r3]
  0001c	e7c23001	 strb        r3, [r2, +r1]
  00020	e2822001	 add         r2, r2, #1
  00024	e1520000	 cmp         r2, r0
  00028	3afffff9	 bcc         |$L35766|
  0002c		 |$L35768|

; 689  :     }
; 690  : }

  0002c	e49de004	 ldr         lr, [sp], #4
  00030	e12fff1e	 bx          lr
  00034		 |$L36036|
  00034	00000000	 DCD         |?sg_PXANandFlash@@3UstPXANandFlash@@A|
  00038		 |$M36032|

			 ENDP  ; |?PXANandReadData@@YAXKPAE@Z|, PXANandReadData


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

  00000			 AREA	 |.pdata$$?PXANandCheckStatus@@YAXPAE@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?PXANandCheckStatus@@YAXPAE@Z| } ; comdat associative
|$T36052| DCD	|$L36051|
	DCD	0x40000900
; Function compile flags: /Ogsy

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

  00000		 |?PXANandCheckStatus@@YAXPAE@Z| PROC	; PXANandCheckStatus

; 693  : {

  00000		 |$L36051|
  00000		 |$M36049|

; 694  :     PXANandInputCmd(CMD_STATUS);

  00000	e59f2018	 ldr         r2, [pc, #0x18]
  00004	e3a01070	 mov         r1, #0x70
  00008	e5923004	 ldr         r3, [r2, #4]
  0000c	e5c31004	 strb        r1, [r3, #4]

; 695  :     PXANandReadData(1, pbStatus);

  00010	e5923004	 ldr         r3, [r2, #4]
  00014	e5d33000	 ldrb        r3, [r3]
  00018	e5c03000	 strb        r3, [r0]

; 696  :     // PXANandInputCmd(CMD_READ);
; 697  :     // NandDeviceReady();
; 698  : }

  0001c	e12fff1e	 bx          lr
  00020		 |$L36054|
  00020	00000000	 DCD         |?sg_PXANandFlash@@3UstPXANandFlash@@A|
  00024		 |$M36050|

			 ENDP  ; |?PXANandCheckStatus@@YAXPAE@Z|, PXANandCheckStatus

	EXPORT	|Nand_FMD_Init|
	EXPORT	|??_C@_1EM@BENDAAA@?$AAN?$AAa?$AAn?$AAd?$AA_?$AAF?$AAM?$AAD?$AA_?$AAI?$AAn?$AAi?$AAt?$AA?3?$AA?5?$AAd?$AAw?$AAN?$AAa?$AAn@| [ DATA ] ; `string'
	EXPORT	|??_C@_1BM@LHIEIPAP@?$AAm?$AAs?$AAc?$AA0?$AA?5?$AAi?$AAs?$AA?5?$AA?$CF?$AAX?$AA?4?$AA?$AN?$AA?6?$AA?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_1EA@IJCPAIBI@?$AAU?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?5?$AAN?$AAa?$AAn?$AAd?$AA?5?$AAf?$AAl?$AAa?$AAs?$AAh?$AA?5?$AAt@| [ DATA ] ; `string'
	EXPORT	|??_C@_1GK@OHEOAFFP@?$AAN?$AAa?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAi?$AAp?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?5?$AA?$CF?$AAd@| [ DATA ] ; `string'
	IMPORT	|memset|
	IMPORT	|OALPAtoVA|

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

  00000			 AREA	 |.pdata$$Nand_FMD_Init|, PDATA, SELECTION=5, ASSOC=|.text| { |Nand_FMD_Init| } ; comdat associative
|$T36084| DCD	|$L36083|
	DCD	0x40008801

  00000			 AREA	 |.rdata| { |??_C@_1GK@OHEOAFFP@?$AAN?$AAa?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAi?$AAp?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?5?$AA?$CF?$AAd@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1GK@OHEOAFFP@?$AAN?$AAa?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAi?$AAp?$AA?3?$AA?5?$AAD?$AAe?$AAt?$AAe?$AAc?$AAt?$AA?5?$AA?$CF?$AAd@| DCB "N"
	DCB	0x0, "a", 0x0, "n", 0x0, "d", 0x0, " ", 0x0, "C", 0x0, "h"
	DCB	0x0, "i", 0x0, "p", 0x0, ":", 0x0, " ", 0x0, "D", 0x0, "e"
	DCB	0x0, "t", 0x0, "e", 0x0, "c", 0x0, "t", 0x0, " ", 0x0, "%"
	DCB	0x0, "d", 0x0, "M", 0x0, "B", 0x0, " ", 0x0, "s", 0x0, "a"
	DCB	0x0, "m", 0x0, "s", 0x0, "u", 0x0, "n", 0x0, "g", 0x0, " "
	DCB	0x0, "n", 0x0, "a", 0x0, "n", 0x0, "d", 0x0, " ", 0x0, "f"
	DCB	0x0, "l", 0x0, "a", 0x0, "s", 0x0, "h", 0x0, ",", 0x0, " "

⌨️ 快捷键说明

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