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

📄 hal_camera.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 5 页
字号:
	.loc	32
	ld.uh	%r13,%r13
	srl	%r13,0x1	; 	xsrl	%r13,1
	sub	%r13,0x1	; 	xsub	%r13,%r13,1
	ext	0x4		; 	xld.w	%r12,0x00000104		; 260
	ld.w	%r12,0x4
__LX7:				; __L7:
	and	%r13,0xf	; 	xand	%r13,%r13,0x0000000f
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl
__LX2:				; __L2:

	.loc	38
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkDivGet,	val	CamClkDivGet,	scl	2,	type	0x2d,	endef
	.global	CamClkDivGet

	.loc	47
	.def	ent,	scl	101,	type	0x0,	endef
CamClkDivGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	48
	cmp	%r12,0x1	; 	xcmp	%r12,1
	jreq	__LX11		; 	xjreq	__L11
	cmp	%r12,0x2	; 	xcmp	%r12,2
	jreq	__LX12		; 	xjreq	__L12
__LX11:				; __L11:

	.loc	52
	ext	0x4		; 	xld.w	%r12,0x00000100		; 256
	ld.w	%r12,0x0
	jp	__LX15		; 	xjp	__L15
__LX12:				; __L12:

	.loc	55
	ext	0x4		; 	xld.w	%r12,0x00000104		; 260
	ld.w	%r12,0x4
__LX15:				; __L15:
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl
	and	%r10,0xf	; 	xand	%r10,%r10,0x0000000f
	add	%r10,0x1	; 	xadd	%r10,%r10,1
	sll	%r10,0x1	; 	xsll	%r10,1

	.loc	58
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkFreqGet,	val	CamClkFreqGet,	scl	2,	type	0x2f,	endef
	.global	CamClkFreqGet

	.loc	67
	.def	ent,	scl	101,	type	0x0,	endef
CamClkFreqGet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r12
	.def	CameraNum,	val	0,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	68
	ld.w	%r12,0x0
	ext	GetSystemClock@rh	; 	xcall	GetSystemClock
	ext	GetSystemClock@rm
	call	GetSystemClock@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	call	CamClkDivGet	; 	xcall	CamClkDivGet
	ld.uh	%r13,%r10
	ld.w	%r12,%r1
	ext	__udivsi3@rh	; 	xcall	__udivsi3
	ext	__udivsi3@rm
	call	__udivsi3@rl

	.loc	69
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamIndexGet,	val	CamIndexGet,	scl	2,	type	0x2d,	endef
	.global	CamIndexGet

	.loc	78
	.def	ent,	scl	101,	type	0x0,	endef
CamIndexGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	79
	.def	begin,	scl	100,	type	0x0,	endef
	.def	signalSettingIndex,	val	10,	scl	4,	type	0xd,	endef

	.loc	81

	.loc	84
	ext	0x4		; 	xld.w	%r10,0x00000106		; 262
	ld.w	%r10,0x6

	.loc	81
	cmp	%r12,0x1	; 	xcmp	%r12,1
	jrne	__LX18		; 	xjrne	__L18

	.loc	82
	ext	0x4		; 	xld.w	%r10,0x00000102		; 258
	ld.w	%r10,0x2
__LX18:				; __L18:

	.loc	86
	ld.uh	%r10,%r10

	.loc	87
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkModeInternalSet,	val	CamClkModeInternalSet,	scl	2,	type	0x21,	endef
	.global	CamClkModeInternalSet

	.loc	101
	.def	ent,	scl	101,	type	0x0,	endef
CamClkModeInternalSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	ClkMode,	val	0,	scl	17,	type	0xc,	endef

	.loc	102
	.def	begin,	scl	100,	type	0x0,	endef
	call	CamIndexGet	; 	xcall	CamIndexGet

	.loc	103
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	105
	ext	0x3ff		; 	xand	%r10,%r10,0x0000ffdf
	and	%r10,0x1f

	.loc	106
	ld.ub	%r0,%r0
	sll	%r0,0x5		; 	xsll	%r0,5

	.loc	107
	ld.w	%r12,%r1
	ld.w	%r13,%r10
	or	%r13,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	108
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamClkModeInternalGet,	val	CamClkModeInternalGet,	scl	2,	type	0x2c,	endef
	.global	CamClkModeInternalGet

	.loc	119
	.def	ent,	scl	101,	type	0x0,	endef
CamClkModeInternalGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	120
	.def	begin,	scl	100,	type	0x0,	endef
	call	CamIndexGet	; 	xcall	CamIndexGet

	.loc	121
	ld.uh	%r12,%r10
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	123
	ld.uh	%r10,%r10
	srl	%r10,0x5	; 	xsrl	%r10,5

	.loc	124
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001

	.loc	125
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamHSyncHiActvSet,	val	CamHSyncHiActvSet,	scl	2,	type	0x21,	endef
	.global	CamHSyncHiActvSet

	.loc	137
	.def	ent,	scl	101,	type	0x0,	endef
CamHSyncHiActvSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	hSyncHiActv,	val	13,	scl	17,	type	0xc,	endef

	.loc	138
	.def	begin,	scl	100,	type	0x0,	endef
	call	CamIndexGet	; 	xcall	CamIndexGet

	.loc	139
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	141
	ext	0x3ff		; 	xand	%r10,%r10,0x0000fffb
	and	%r10,0x3b

	.loc	142
	sll	%r0,0x2		; 	xsll	%r0,2
	ld.ub	%r0,%r0

	.loc	143
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	or	%r13,%r10
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	144
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamHSyncHiActvGet,	val	CamHSyncHiActvGet,	scl	2,	type	0x2c,	endef
	.global	CamHSyncHiActvGet

	.loc	156
	.def	ent,	scl	101,	type	0x0,	endef
CamHSyncHiActvGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	157
	.def	begin,	scl	100,	type	0x0,	endef
	call	CamIndexGet	; 	xcall	CamIndexGet

	.loc	158
	ld.uh	%r12,%r10
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	160
	ld.uh	%r10,%r10
	srl	%r10,0x2	; 	xsrl	%r10,2

	.loc	161
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001

	.loc	162
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamVSyncHiActvSet,	val	CamVSyncHiActvSet,	scl	2,	type	0x21,	endef
	.global	CamVSyncHiActvSet

	.loc	173
	.def	ent,	scl	101,	type	0x0,	endef
CamVSyncHiActvSet:
;	.frame	%sp,12,$31		# vars= 0, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	ld.w	%r0,%r13
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef
	.def	vSyncHiActv,	val	0,	scl	17,	type	0xc,	endef

	.loc	174
	.def	begin,	scl	100,	type	0x0,	endef
	call	CamIndexGet	; 	xcall	CamIndexGet

	.loc	175
	ld.uh	%r1,%r10
	ld.w	%r12,%r1
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	177
	ext	0x3ff		; 	xand	%r10,%r10,0x0000fffd
	and	%r10,0x3d

	.loc	178
	ld.ub	%r0,%r0
	sll	%r0,0x1		; 	xsll	%r0,1

	.loc	179
	ld.w	%r12,%r1
	ld.w	%r13,%r10
	or	%r13,%r0
	ext	halWriteReg16@rh	; 	xcall	halWriteReg16
	ext	halWriteReg16@rm
	call	halWriteReg16@rl

	.loc	180
	.def	bend,	scl	110,	type	0x0,	endef
	popn	%r1
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamVSyncHiActvGet,	val	CamVSyncHiActvGet,	scl	2,	type	0x2c,	endef
	.global	CamVSyncHiActvGet

	.loc	190
	.def	ent,	scl	101,	type	0x0,	endef
CamVSyncHiActvGet:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	CameraNum,	val	12,	scl	17,	tag	__T0,	size	4,	type	0xa,	endef

	.loc	191
	.def	begin,	scl	100,	type	0x0,	endef
	call	CamIndexGet	; 	xcall	CamIndexGet

	.loc	192
	ld.uh	%r12,%r10
	ext	halReadReg16@rh	; 	xcall	halReadReg16
	ext	halReadReg16@rm
	call	halReadReg16@rl

	.loc	194
	ld.uh	%r10,%r10
	srl	%r10,0x1	; 	xsrl	%r10,1

	.loc	195
	and	%r10,0x1	; 	xand	%r10,%r10,0x00000001

	.loc	196
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	CamYUVDataFmtSelSet,	val	CamYUVDataFmtSelSet,	scl	2,	type	0x21,	endef
	.global	CamYUVDataFmtSelSet

	.loc	206
	.def	ent,	scl	101,	type	0x0,	endef

⌨️ 快捷键说明

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