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

📄 samsunglcd.cod

📁 平台PXA270, Mobile6.0 这是270的mobile6.0的bootloader
💻 COD
📖 第 1 页 / 共 2 页
字号:
  00000			 AREA	 |.pdata$$XllpInitSspLink|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpInitSspLink| } ; comdat associative
|$T42944| DCD	|$L42943|
	DCD	0x40003901

  00000			 AREA	 |.rdata| { |??_C@_0BI@FPOJCNOE@pSSPRegs?9?$DOssr?5?$DN?50x?$CFX?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BI@FPOJCNOE@pSSPRegs?9?$DOssr?5?$DN?50x?$CFX?4?$AN?6?$AA@| DCB "p"
	DCB	"SSPRegs->ssr = 0x%X.", 0xd, 0xa, 0x0	; `string'

  00000			 AREA	 |.rdata| { |??_C@_0BE@DEJFNFJC@dwTmpData?5?$DN?50x?$CFX?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0BE@DEJFNFJC@dwTmpData?5?$DN?50x?$CFX?4?$AN?6?$AA@| DCB "dwTmpData"
	DCB	" = 0x%X.", 0xd, 0xa, 0x0		; `string'
; Function compile flags: /Ogsy

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

  00000		 |XllpInitSspLink| PROC

; 119  : {

  00000		 |$L42943|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M42941|
  00004	e1a05000	 mov         r5, r0

; 120  : 	DWORD	dwTmpData;
; 121  : 	
; 122  : 	g_pClkRegs->cken |= (1 << 23);

  00008	e59f40d0	 ldr         r4, [pc, #0xD0]

; 123  : 	GPIOSetController((XLLP_GPIO_T *)g_pGPIORegs, SSPCLK | GPIO_AF2 | GPIO_OUT);

  0000c	e3a01c22	 mov         r1, #0x22, 24
  00010	e3811017	 orr         r1, r1, #0x17
  00014	e5942004	 ldr         r2, [r4, #4]
  00018	e5923004	 ldr         r3, [r2, #4]
  0001c	e3833502	 orr         r3, r3, #2, 10
  00020	e5823004	 str         r3, [r2, #4]
  00024	e5940000	 ldr         r0, [r4]
  00028	eb000000	 bl          GPIOSetController

; 124  : 	GPIOSetController((XLLP_GPIO_T *)g_pGPIORegs, SSPTXD | GPIO_AF2 | GPIO_OUT);

  0002c	e5940000	 ldr         r0, [r4]
  00030	e3a01c22	 mov         r1, #0x22, 24
  00034	e3811019	 orr         r1, r1, #0x19
  00038	eb000000	 bl          GPIOSetController

; 125  : 	GPIOSetController((XLLP_GPIO_T *)g_pGPIORegs, SSPRXD | GPIO_AF1 | GPIO_IN);

  0003c	e5940000	 ldr         r0, [r4]
  00040	e3a01c11	 mov         r1, #0x11, 24
  00044	e381101a	 orr         r1, r1, #0x1A
  00048	eb000000	 bl          GPIOSetController

; 126  : 	GPIOSetController((XLLP_GPIO_T *)g_pGPIORegs, SSPTXD | GPIO_AF2 | GPIO_OUT);

  0004c	e5940000	 ldr         r0, [r4]
  00050	e3a01c22	 mov         r1, #0x22, 24
  00054	e3811019	 orr         r1, r1, #0x19
  00058	eb000000	 bl          GPIOSetController

; 127  : 	GPIOSetController((XLLP_GPIO_T *)g_pGPIORegs, LCDCSB | GPIO_AF0 | GPIO_OUT);

  0005c	e5940000	 ldr         r0, [r4]
  00060	e3a01a02	 mov         r1, #2, 20
  00064	e3811013	 orr         r1, r1, #0x13
  00068	eb000000	 bl          GPIOSetController

; 128  : 	GPIOSetControllerValue((XLLP_GPIO_T *)g_pGPIORegs, LCDCSB | GPIO_OUT_1);

  0006c	e5940000	 ldr         r0, [r4]
  00070	e3a01e11	 mov         r1, #0x11, 28
  00074	e3811003	 orr         r1, r1, #3
  00078	eb000000	 bl          GPIOSetControllerValue

; 129  : 	
; 130  : 	pSSPRegs->sscr0 = XLLP_SSCR0_TIM | XLLP_SSCR0_RIM | XLLP_SSCR0_SCR_62K | XLLP_SSCR0_DSS_8BIT | XLLP_SSCR0_EDSS;

  0007c	e59f3058	 ldr         r3, [pc, #0x58]

; 131  : 	pSSPRegs->sscr1 = XLLP_SSCR1_SPO | XXLP_SSCR1_SPH;

  00080	e3a02018	 mov         r2, #0x18

; 132  : 	pSSPRegs->sscr0 |= XLLP_SSCR0_SSE;
; 133  : 	
; 134  : 	while(pSSPRegs->ssr & XXLP_SSSP_RNE)

  00084	e1a04005	 mov         r4, r5
  00088	e5853000	 str         r3, [r5]
  0008c	e5852004	 str         r2, [r5, #4]
  00090	e5953000	 ldr         r3, [r5]
  00094	e3833080	 orr         r3, r3, #0x80
  00098	e5853000	 str         r3, [r5]
  0009c	e5b43008	 ldr         r3, [r4, #8]!
  000a0	ea000003	 b           |$L42940|
  000a4		 |$L42899|

; 135  : 	{
; 136  : 		dwTmpData = pSSPRegs->ssdr;

  000a4	e5951010	 ldr         r1, [r5, #0x10]

; 137  : 		EdbgOutputDebugString("dwTmpData = 0x%X.\r\n", dwTmpData);

  000a8	e59f0028	 ldr         r0, [pc, #0x28]
  000ac	eb000000	 bl          EdbgOutputDebugString
  000b0	e5943000	 ldr         r3, [r4]
  000b4		 |$L42940|
  000b4	e3130008	 tst         r3, #8
  000b8	1afffff9	 bne         |$L42899|

; 138  : 	}
; 139  : 	EdbgOutputDebugString("pSSPRegs->ssr = 0x%X.\r\n", pSSPRegs->ssr);

  000bc	e5941000	 ldr         r1, [r4]
  000c0	e59f000c	 ldr         r0, [pc, #0xC]
  000c4	eb000000	 bl          EdbgOutputDebugString

; 140  : 	
; 141  : 	return TRUE;

  000c8	e3a00001	 mov         r0, #1

; 142  : }

  000cc	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  000d0	e12fff1e	 bx          lr
  000d4		 |$L42946|
  000d4	00000000	 DCD         |??_C@_0BI@FPOJCNOE@pSSPRegs?9?$DOssr?5?$DN?50x?$CFX?4?$AN?6?$AA@|
  000d8	00000000	 DCD         |??_C@_0BE@DEJFNFJC@dwTmpData?5?$DN?50x?$CFX?4?$AN?6?$AA@|
  000dc	00d2cf07	 DCD         0xd2cf07
  000e0	00000000	 DCD         |g_pGPIORegs|
  000e4		 |$M42942|

			 ENDP  ; |XllpInitSspLink|

	EXPORT	|SamsungLCDPowerOn|
	EXPORT	|??_C@_0N@POGKFH@Size?5?$DN?5?$CFd?4?$AN?6?$AA@| [ DATA ] ; `string'
	IMPORT	|Wait|

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

  00000			 AREA	 |.pdata$$SamsungLCDPowerOn|, PDATA, SELECTION=5, ASSOC=|.text| { |SamsungLCDPowerOn| } ; comdat associative
|$T42970| DCD	|$L42969|
	DCD	0x40003a01

  00000			 AREA	 |.rdata| { |??_C@_0N@POGKFH@Size?5?$DN?5?$CFd?4?$AN?6?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0N@POGKFH@Size?5?$DN?5?$CFd?4?$AN?6?$AA@| DCB "Size = %d.", 0xd, 0xa
	DCB	0x0					; `string'
; Function compile flags: /Ogsy

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

  00000		 |SamsungLCDPowerOn| PROC

; 89   : {

  00000		 |$L42969|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004		 |$M42967|

; 90   : 	DWORD	i;
; 91   : 	DWORD	dwTempData;
; 92   : 	
; 93   : 	ResetLCD();

  00004	eb000000	 bl          ResetLCD

; 94   : 	XllpInitSspLink(g_pSSP1Regs);

  00008	e59f40d4	 ldr         r4, [pc, #0xD4]
  0000c	e5940000	 ldr         r0, [r4]
  00010	eb000000	 bl          XllpInitSspLink

; 95   : 	EdbgOutputDebugString("Size = %d.\r\n", sizeof(LcmInitTable) / 6);

  00014	e59f00c4	 ldr         r0, [pc, #0xC4]
  00018	e3a01026	 mov         r1, #0x26
  0001c	eb000000	 bl          EdbgOutputDebugString
  00020	e59f50b4	 ldr         r5, [pc, #0xB4]
  00024	e3a06026	 mov         r6, #0x26
  00028		 |$L42869|

; 96   : 	for(i = 0; i < sizeof(LcmInitTable) / 6; i++)
; 97   : 	{
; 98   : 		GPIOSetControllerValue((XLLP_GPIO_T *)g_pGPIORegs, LCDCSB | GPIO_OUT_0);

  00028	e5940004	 ldr         r0, [r4, #4]
  0002c	e3a01013	 mov         r1, #0x13
  00030	eb000000	 bl          GPIOSetControllerValue

; 99   : 		dwTempData = (0x74  << 16) | LcmInitTable[i][0];
; 100  : 		g_pSSP1Regs->ssdr = dwTempData;

  00034	e1d530b0	 ldrh        r3, [r5]
  00038	e5942000	 ldr         r2, [r4]
  0003c	e383371d	 orr         r3, r3, #0x1D, 14
  00040	e5823010	 str         r3, [r2, #0x10]
  00044	e5942000	 ldr         r2, [r4]
  00048		 |$L42874|

; 101  : 		while(g_pSSP1Regs->ssr & XXLP_SSSP_TFL_MASK);

  00048	e5923008	 ldr         r3, [r2, #8]
  0004c	e3130c0f	 tst         r3, #0xF, 24
  00050	1afffffc	 bne         |$L42874|
  00054		 |$L42877|

; 102  : 		while(g_pSSP1Regs->ssr & XXLP_SSSP_BSY);

  00054	e5923008	 ldr         r3, [r2, #8]
  00058	e3130010	 tst         r3, #0x10
  0005c	1afffffc	 bne         |$L42877|

; 103  : 		//EdbgOutputDebugString("dwTempData = 0x%X.\r\n", dwTempData);
; 104  : 		GPIOSetControllerValue((XLLP_GPIO_T *)g_pGPIORegs, LCDCSB | GPIO_OUT_1);

  00060	e5940004	 ldr         r0, [r4, #4]
  00064	e3a01e11	 mov         r1, #0x11, 28
  00068	e3811003	 orr         r1, r1, #3
  0006c	eb000000	 bl          GPIOSetControllerValue

; 105  : 
; 106  : 		Wait(1);

  00070	e3a00001	 mov         r0, #1
  00074	eb000000	 bl          Wait

; 107  : 		GPIOSetControllerValue((XLLP_GPIO_T *)g_pGPIORegs, LCDCSB | GPIO_OUT_0);

  00078	e5940004	 ldr         r0, [r4, #4]
  0007c	e3a01013	 mov         r1, #0x13
  00080	eb000000	 bl          GPIOSetControllerValue

; 108  : 		dwTempData = (0x76  << 16) | LcmInitTable[i][1];
; 109  : 		g_pSSP1Regs->ssdr = dwTempData;

  00084	e1d530b2	 ldrh        r3, [r5, #2]
  00088	e5942000	 ldr         r2, [r4]
  0008c	e3833876	 orr         r3, r3, #0x76, 16
  00090	e5823010	 str         r3, [r2, #0x10]
  00094	e5942000	 ldr         r2, [r4]
  00098		 |$L42882|

; 110  : 		while(g_pSSP1Regs->ssr & XXLP_SSSP_TFL_MASK);

  00098	e5923008	 ldr         r3, [r2, #8]
  0009c	e3130c0f	 tst         r3, #0xF, 24
  000a0	1afffffc	 bne         |$L42882|
  000a4		 |$L42885|

; 111  : 		while(g_pSSP1Regs->ssr & XXLP_SSSP_BSY);

  000a4	e5923008	 ldr         r3, [r2, #8]
  000a8	e3130010	 tst         r3, #0x10
  000ac	1afffffc	 bne         |$L42885|

; 112  : 		//EdbgOutputDebugString("dwTempData = 0x%X.\r\n", dwTempData);
; 113  : 		GPIOSetControllerValue((XLLP_GPIO_T *)g_pGPIORegs, LCDCSB | GPIO_OUT_1);

  000b0	e5940004	 ldr         r0, [r4, #4]
  000b4	e3a01e11	 mov         r1, #0x11, 28
  000b8	e3811003	 orr         r1, r1, #3
  000bc	eb000000	 bl          GPIOSetControllerValue

; 114  : 		msWait(LcmInitTable[i][2]);

  000c0	e1d500b4	 ldrh        r0, [r5, #4]
  000c4	eb000000	 bl          msWait
  000c8	e2855006	 add         r5, r5, #6
  000cc	e2566001	 subs        r6, r6, #1
  000d0	1affffd4	 bne         |$L42869|

; 115  : 	}
; 116  : }

  000d4	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  000d8	e12fff1e	 bx          lr
  000dc		 |$L42972|
  000dc	00000000	 DCD         |LcmInitTable|
  000e0	00000000	 DCD         |??_C@_0N@POGKFH@Size?5?$DN?5?$CFd?4?$AN?6?$AA@|
  000e4	00000000	 DCD         |g_pSSP1Regs|
  000e8		 |$M42968|

			 ENDP  ; |SamsungLCDPowerOn|

	END

⌨️ 快捷键说明

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