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

📄 touch.cod

📁 对触摸屏的接口函数(DDI DDSI)以及调用关系作了详细介绍 可作为出次接触Touch Driver的开发人员研究Touch的一个很好的起点
💻 COD
📖 第 1 页 / 共 5 页
字号:
; 632  : {

  00000		 |$L35517|
  00000		 |$M35515|

; 633  :     return(0);

  00000	e3a00000	 mov         r0, #0

; 634  : }

  00004	e12fff1e	 bx          lr
  00008		 |$M35516|

			 ENDP  ; |DdsiTouchPanelDetach|

	EXPORT	|??_C@_1HI@GDGDENLD@?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AAT?$AAo?$AAu?$AAc?$AAh?$AAT?$AAi?$AAm?$AAe@| [ DATA ] ; `string'
	IMPORT	|XllpOstConfigureTimer|

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

  00000			 AREA	 |.pdata$$?EnableTouchTimerInterrupt@@YAXI@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?EnableTouchTimerInterrupt@@YAXI@Z| } ; comdat associative
|$T35528| DCD	|$L35527|
	DCD	0x40002402

  00000			 AREA	 |.rdata| { |??_C@_1HI@GDGDENLD@?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AAT?$AAo?$AAu?$AAc?$AAh?$AAT?$AAi?$AAm?$AAe@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1HI@GDGDENLD@?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AAT?$AAo?$AAu?$AAc?$AAh?$AAT?$AAi?$AAm?$AAe@| DCB "*"
	DCB	0x0, "*", 0x0, "*", 0x0, "*", 0x0, "*", 0x0, "E", 0x0, "n"
	DCB	0x0, "a", 0x0, "b", 0x0, "l", 0x0, "e", 0x0, "T", 0x0, "o"
	DCB	0x0, "u", 0x0, "c", 0x0, "h", 0x0, "T", 0x0, "i", 0x0, "m"
	DCB	0x0, "e", 0x0, "r", 0x0, "I", 0x0, "n", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "r", 0x0, "u", 0x0, "p", 0x0, "t", 0x0, "*"
	DCB	0x0, "*", 0x0, "*", 0x0, "*", 0x0, "*", 0x0, "*", 0x0, "*"
	DCB	0x0, "(", 0x0, "g", 0x0, "_", 0x0, "p", 0x0, "I", 0x0, "C"
	DCB	0x0, "R", 0x0, "e", 0x0, "g", 0x0, "s", 0x0, "-", 0x0, ">"
	DCB	0x0, "i", 0x0, "c", 0x0, "m", 0x0, "r", 0x0, " ", 0x0, "="
	DCB	0x0, " ", 0x0, "%", 0x0, "x", 0x0, ")", 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy

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

  00000		 |?EnableTouchTimerInterrupt@@YAXI@Z| PROC ; EnableTouchTimerInterrupt

; 638  : {

  00000		 |$L35527|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M35525|
  00008	e1a04000	 mov         r4, r0

; 639  :     	UINT32 TimerMatch;
; 640  :     	XLLP_OST_HANDLE_T    XllpOSTHandle;
; 641  : 
; 642  :     	XllpOSTHandle.pOSTRegs  = (XLLP_OST_T *)  g_pOSTRegs;

  0000c	e59f5078	 ldr         r5, [pc, #0x78]

; 643  :     	XllpOSTHandle.pINTCRegs = (XLLP_INTC_T *) g_pICRegs;
; 644  :     	RETAILMSG(ZONE_VERBOSE, (TEXT("*****EnableTouchTimerInterrupt*******(g_pICRegs->icmr = %x)"),g_pICRegs->icmr));

  00010	e59f0070	 ldr         r0, [pc, #0x70]
  00014	e5952004	 ldr         r2, [r5, #4]
  00018	e5953000	 ldr         r3, [r5]
  0001c	e58d2004	 str         r2, [sp, #4]
  00020	e58d3000	 str         r3, [sp]
  00024	e5921004	 ldr         r1, [r2, #4]
  00028	eb000000	 bl          NKDbgPrintfW
  0002c	e5953004	 ldr         r3, [r5, #4]
  00030	e59f0050	 ldr         r0, [pc, #0x50]
  00034	e5931004	 ldr         r1, [r3, #4]
  00038	eb000000	 bl          WriteDbgMsgToBuffer

; 645  :     	TimerMatch = (XllpOSTHandle.pOSTRegs->oscr0 + 3250*  TimeInterval);

  0003c	e59d3000	 ldr         r3, [sp]

; 646  :     	XllpOstConfigureTimer (&XllpOSTHandle, MatchReg1, TimerMatch);

  00040	e3a01001	 mov         r1, #1
  00044	e28d0000	 add         r0, sp, #0
  00048	e5932010	 ldr         r2, [r3, #0x10]
  0004c	e3a03ecb	 mov         r3, #0xCB, 28
  00050	e3833002	 orr         r3, r3, #2
  00054	e0222394	 mla         r2, r4, r3, r2
  00058	eb000000	 bl          XllpOstConfigureTimer

; 647  :     	RETAILMSG(ZONE_VERBOSE, (TEXT("*****EnableTouchTimerInterrupt*******(g_pICRegs->icmr = %x)"),g_pICRegs->icmr));

  0005c	e5953004	 ldr         r3, [r5, #4]
  00060	e59f0020	 ldr         r0, [pc, #0x20]
  00064	e5931004	 ldr         r1, [r3, #4]
  00068	eb000000	 bl          NKDbgPrintfW
  0006c	e5953004	 ldr         r3, [r5, #4]
  00070	e59f0010	 ldr         r0, [pc, #0x10]
  00074	e5931004	 ldr         r1, [r3, #4]
  00078	eb000000	 bl          WriteDbgMsgToBuffer

; 648  : 
; 649  : }

  0007c	e28dd008	 add         sp, sp, #8
  00080	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  00084	e12fff1e	 bx          lr
  00088		 |$L35530|
  00088	00000000	 DCD         |??_C@_1HI@GDGDENLD@?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AAT?$AAo?$AAu?$AAc?$AAh?$AAT?$AAi?$AAm?$AAe@|
  0008c	00000000	 DCD         |g_pOSTRegs|
  00090		 |$M35526|

			 ENDP  ; |?EnableTouchTimerInterrupt@@YAXI@Z|, EnableTouchTimerInterrupt


  00000			 AREA	 |.text| { |?EnableTouchInterrupt@@YAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?EnableTouchInterrupt@@YAXXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?EnableTouchInterrupt@@YAXXZ| } ; comdat associative
|$T35536| DCD	|$L35535|
	DCD	0x40000100
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?EnableTouchInterrupt@@YAXXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?EnableTouchInterrupt@@YAXXZ| PROC	; EnableTouchInterrupt

; 653  : {

  00000		 |$L35535|
  00000		 |$M35533|

; 654  : 
; 655  :     //XllpOstDelayMicroSeconds((P_XLLP_OST_T) g_pOSTRegs, 1000);
; 656  : 
; 657  :     // Enable TSPX interrupt (active low).
; 658  :     //
; 659  :     //WriteAC97(UCB_FE_IE, TSPX_INT, DEV_TOUCH);
; 660  : }

  00000	e12fff1e	 bx          lr
  00004		 |$M35534|

			 ENDP  ; |?EnableTouchInterrupt@@YAXXZ|, EnableTouchInterrupt

	EXPORT	|?PrepareNextInterrupt@@YAHXZ|		; PrepareNextInterrupt

  00000			 AREA	 |.text| { |?PrepareNextInterrupt@@YAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?PrepareNextInterrupt@@YAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?PrepareNextInterrupt@@YAHXZ| } ; comdat associative
|$T35557| DCD	|$L35556|
	DCD	0x40002f02
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?PrepareNextInterrupt@@YAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?PrepareNextInterrupt@@YAHXZ| PROC	; PrepareNextInterrupt

; 664  : {

  00000		 |$L35556|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M35554|

; 665  : 
; 666  :     if (g_NextExpectedInterrupt == PEN_DOWN)

  00008	e59f50a8	 ldr         r5, [pc, #0xA8]
  0000c	e5953014	 ldr         r3, [r5, #0x14]
  00010	e3530000	 cmp         r3, #0
  00014	0a000022	 beq         |$L35544|

; 667  :     {
; 668  :         // Enable the touch controller interrupt and configure it for a falling edge detection.
; 669  :         EnableTouchInterrupt();
; 670  :     }
; 671  :     else
; 672  :     {
; 673  :         // Re/arm the sample timer.
; 674  :         EnableTouchTimerInterrupt(g_pDriverGlobals->tch.dwSamplingDelay);

  00018	e595e008	 ldr         lr, [r5, #8]
  0001c	e5954004	 ldr         r4, [r5, #4]
  00020	e5951000	 ldr         r1, [r5]
  00024	e5de2020	 ldrb        r2, [lr, #0x20]
  00028	e5de3021	 ldrb        r3, [lr, #0x21]
  0002c	e5de0022	 ldrb        r0, [lr, #0x22]
  00030	e58d1000	 str         r1, [sp]
  00034	e1823403	 orr         r3, r2, r3, lsl #8
  00038	e5de2023	 ldrb        r2, [lr, #0x23]
  0003c	e1833800	 orr         r3, r3, r0, lsl #16
  00040	e59f006c	 ldr         r0, [pc, #0x6C]
  00044	e58d4004	 str         r4, [sp, #4]
  00048	e5941004	 ldr         r1, [r4, #4]
  0004c	e1834c02	 orr         r4, r3, r2, lsl #24
  00050	eb000000	 bl          NKDbgPrintfW
  00054	e5953004	 ldr         r3, [r5, #4]
  00058	e59f0054	 ldr         r0, [pc, #0x54]
  0005c	e5931004	 ldr         r1, [r3, #4]
  00060	eb000000	 bl          WriteDbgMsgToBuffer
  00064	e59d3000	 ldr         r3, [sp]
  00068	e3a01001	 mov         r1, #1
  0006c	e28d0000	 add         r0, sp, #0
  00070	e5932010	 ldr         r2, [r3, #0x10]
  00074	e3a03ecb	 mov         r3, #0xCB, 28
  00078	e3833002	 orr         r3, r3, #2
  0007c	e0222394	 mla         r2, r4, r3, r2
  00080	eb000000	 bl          XllpOstConfigureTimer
  00084	e5953004	 ldr         r3, [r5, #4]
  00088	e59f0024	 ldr         r0, [pc, #0x24]
  0008c	e5931004	 ldr         r1, [r3, #4]
  00090	eb000000	 bl          NKDbgPrintfW
  00094	e5953004	 ldr         r3, [r5, #4]
  00098	e59f0014	 ldr         r0, [pc, #0x14]
  0009c	e5931004	 ldr         r1, [r3, #4]
  000a0	eb000000	 bl          WriteDbgMsgToBuffer
  000a4		 |$L35544|

; 675  :     }
; 676  : 
; 677  :     return(TRUE);

  000a4	e3a00001	 mov         r0, #1

; 678  : }

  000a8	e28dd008	 add         sp, sp, #8
  000ac	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  000b0	e12fff1e	 bx          lr
  000b4		 |$L35559|
  000b4	00000000	 DCD         |??_C@_1HI@GDGDENLD@?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AA?$CK?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AAT?$AAo?$AAu?$AAc?$AAh?$AAT?$AAi?$AAm?$AAe@|
  000b8	00000000	 DCD         |g_pOSTRegs|
  000bc		 |$M35555|

			 ENDP  ; |?PrepareNextInterrupt@@YAHXZ|, PrepareNextInterrupt

	EXPORT	|?IsPenDown@@YAHXZ|			; IsPenDown
	IMPORT	|ReadAC97|

  00000			 AREA	 |.text| { |?IsPenDown@@YAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?IsPenDown@@YAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?IsPenDown@@YAHXZ| } ; comdat associative
|$T35567| DCD	|$L35566|
	DCD	0x40000d02
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?IsPenDown@@YAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?IsPenDown@@YAHXZ| PROC		; IsPenDown

; 753  : {

  00000		 |$L35566|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd004	 sub         sp, sp, #4
  00008		 |$M35564|

; 754  :    	unsigned short adcDataReg;
; 755  : 
; 756  : 	// check stylus to see if pen is up
; 757  :  	if(ReadAC97(WM97_DIGITISER_DATA, &adcDataReg, DEV_TOUCH)==TRUE)

  00008	e3a02001	 mov         r2, #1
  0000c	e28d1000	 add         r1, sp, #0
  00010	e3a0007a	 mov         r0, #0x7A
  00014	eb000000	 bl          ReadAC97
  00018	e3500001	 cmp         r0, #1

; 758  :     		return ( TEST(adcDataReg,WM97_DATA_PENDOWN) ) ;

  0001c	01dd30b0	 ldreqh      r3, [sp]
  00020	02030902	 andeq       r0, r3, #2, 18

; 759  :     else
; 760  :     		return FALSE;

  00024	13a00000	 movne       r0, #0

; 761  : }

  00028	e28dd004	 add         sp, sp, #4
  0002c	e49de004	 ldr         lr, [sp], #4
  00030	e12fff1e	 bx          lr
  00034		 |$M35565|

			 ENDP  ; |?IsPenDown@@YAHXZ|, IsPenDown

	EXPORT	|?evaluateSample@@YAHGGGHPAH@Z|		; evaluateSample
	EXPORT	|??_C@_1CG@HFPKADKP@?$AA?$CL?$AA?$CL?$AAe?$AAv?$AAa?$AAl?$AAu?$AAa?$AAt?$AAe?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?$AN?$AA?6?$AA?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_1EO@KOJGMELB@?$AAv?$AAa?$AAl?$AA0?$AA?$DN?$AA?$CF?$AAd?$AA?0?$AA?5?$AAv?$AAa?$AAl?$AA1?$AA?$DN?$AA?$CF?$AAd?$AA?0?$AA?5?$AAv?$AAa@| [ DATA ] ; `string'
	EXPORT	|??_C@_1CG@CHOKPEJN@?$AA?9?$AA?9?$AAe?$AAv?$AAa?$AAl?$AAu?$AAa?$AAt?$AAe?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?$AN?$AA?6?$AA?$AA@| [ DATA ] ; `string'

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

  00000			 AREA	 |.pdata$$?evaluateSample@@YAHGGGHPAH@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?evaluateSample@@YAHGGGHPAH@Z| } ; comdat associative
|$T35596| DCD	|$L35595|
	DCD	0x40005902

  00000			 AREA	 |.rdata| { |??_C@_1CG@CHOKPEJN@?$AA?9?$AA?9?$AAe?$AAv?$AAa?$AAl?$AAu?$AAa?$AAt?$AAe?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?$AN?$AA?6?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CG@CHOKPEJN@?$AA?9?$AA?9?$AAe?$AAv?$AAa?$AAl?$AAu?$AAa?$AAt?$AAe?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?$AN?$AA?6?$AA?$AA@| DCB "-"
	DCB	0x0, "-", 0x0, "e", 0x0, "v", 0x0, "a", 0x0, "l", 0x0, "u"
	DCB	0x0, "a", 0x0, "t", 0x0, "e", 0x0, "S", 0x0, "a", 0x0, "m"
	DCB	0x0, "p", 0x0, "l", 0x0, "e", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
	DCB	0x0					; `string'

  00000			 AREA	 |.rdata| { |??_C@_1CG@HFPKADKP@?$AA?$CL?$AA?$CL?$AAe?$AAv?$AAa?$AAl?$AAu?$AAa?$AAt?$AAe?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?$AN?$AA?6?$AA?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1CG@HFPKADKP@?$AA?$CL?$AA?$CL?$AAe?$AAv?$AAa?$AAl?$AAu?$AAa?$AAt?$AAe?$AAS?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?$AN?$AA?6?$AA?$AA@| DCB "+"
	DCB	0x0, "+", 0x0, "e", 0x0, "v", 0x0, "a", 0x0, "l", 0x0, "u"
	DCB	0x0, "a", 0x0, "t", 0x0, "e", 0x0, "S", 0x0, "a", 0x0, "m"
	DCB	0x0, "p", 0x0, "l", 0x0, "e", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0
	DCB	0x0					; `string'

  00000			 AREA	 |.rdata| { |??_C@_1EO@KOJGMELB@?$AAv?$AAa?$AAl?$AA0?$AA?$DN?$AA?$CF?$AAd?$AA?0?$AA?5?$AAv?$AAa?$AAl?$AA1?$AA?$DN?$AA?$CF?$AAd?$AA?0?$AA?5?$AAv?$AAa@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EO@KOJGMELB@?$AAv?$AAa?$AAl?$AA0?$AA?$DN?$AA?$CF?$AAd?$AA?0?$AA?5?$AAv?$AAa?$AAl?$AA1?$AA?$DN?$AA?$CF?$AAd?$AA?0?$AA?5?$AAv?$AAa@| DCB "v"
	DCB	0x0, "a", 0x0, "l", 0x0

⌨️ 快捷键说明

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