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

📄 camif.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\camif.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  CameraDisplayFunction PROC
;;;84     void CameraDisplayFunction(void)
;;;85     {
                  |L1.0|
000000  e92d4010          STMFD    sp!,{r4,lr}
;;;86     	int i;
;;;87     
;;;88     	rPRIORITY1=0x2;
000004  e3a00002          MOV      r0,#2
000008  e59f1064          LDR      r1,|L1.116|
00000c  e5810004          STR      r0,[r1,#4]
;;;89     	i=0;	
000010  e3a04000          MOV      r4,#0
;;;90     	Uart_Printf("\n\n");
000014  e28f005c          ADR      r0,|L1.120|
000018  ebfffffe          BL       _printf
;;;91     	while(1)	{   //display menu
00001c  e1a00000          NOP      
                  |L1.32|
000020  e1a00000          NOP      
;;;92     	    Uart_Printf("%2d:%s",i,camera_function[i][1]);
000024  e59f0050          LDR      r0,|L1.124|
000028  e0800184          ADD      r0,r0,r4,LSL #3
00002c  e1a01004          MOV      r1,r4
000030  e5902004          LDR      r2,[r0,#4]
000034  e28f0044          ADR      r0,|L1.128|
000038  ebfffffe          BL       _printf
;;;93     	    i++;
00003c  e2844001          ADD      r4,r4,#1
;;;94     	    if((int)(camera_function[i][0])==0) {
000040  e59f0034          LDR      r0,|L1.124|
000044  e7900184          LDR      r0,[r0,r4,LSL #3]
000048  e3500000          CMP      r0,#0
00004c  1a000002          BNE      |L1.92|
;;;95     			Uart_Printf("\n");
000050  e28f0030          ADR      r0,|L1.136|
000054  ebfffffe          BL       _printf
;;;96     			break;
000058  ea000004          B        |L1.112|
;;;97     	    }
;;;98     	    if((i%2)==0) Uart_Printf("\n");
                  |L1.92|
00005c  e3140001          TST      r4,#1
000060  1a000001          BNE      |L1.108|
000064  e28f001c          ADR      r0,|L1.136|
000068  ebfffffe          BL       _printf
;;;99     	}
                  |L1.108|
00006c  eaffffeb          B        |L1.32|
;;;100    }
                  |L1.112|
000070  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.116|
000074  40ce0000          DCD      0x40ce0000
                  |L1.120|
000078  00000a0a          DCB      "\n\n\0\0"
                  |L1.124|
00007c  00000000          DCD      camera_function
                  |L1.128|
000080  3a643225          DCB      "%2d:"
000084  00007325          DCB      "%s\0\0"
                  |L1.136|
000088  0000000a          DCB      "\n\0\0\0"
                          ENDP

                  CamReset PROC
;;;407    void CamReset()
;;;408    {
00008c  e92d4008          STMFD    sp!,{r3,lr}
;;;409    
;;;410    	//rCLKDIVN=(rCLKDIVN&~(0xf<<8))|(0x1<<8);
;;;411    
;;;412    	switch(CAMTYPE) {
000090  e59f0338          LDR      r0,|L1.976|
000094  e5900000          LDR      r0,[r0,#0]  ; CAMTYPE
000098  e3500000          CMP      r0,#0
00009c  0a000004          BEQ      |L1.180|
0000a0  e3500001          CMP      r0,#1
0000a4  0a000003          BEQ      |L1.184|
0000a8  e3500003          CMP      r0,#3
0000ac  1a00003d          BNE      |L1.424|
0000b0  ea00001e          B        |L1.304|
;;;413    		case CAM_OV7620:
;;;414    		case CAM_OV7620_16:
                  |L1.180|
0000b4  e1a00000          NOP      
;;;415    			rCIGCTRL|= (1<<31)|(1<<29); //camera I/F soft reset
                  |L1.184|
0000b8  e3a00448          MOV      r0,#0x48000000
0000bc  e5900008          LDR      r0,[r0,#8]
0000c0  e38004a0          ORR      r0,r0,#0xa0000000
0000c4  e3a01448          MOV      r1,#0x48000000
0000c8  e5810008          STR      r0,[r1,#8]
;;;416    			Delay(1);
0000cc  e3a00001          MOV      r0,#1
0000d0  ebfffffe          BL       Delay
;;;417    			rCIGCTRL&= ~(1<<31);
0000d4  e3a00448          MOV      r0,#0x48000000
0000d8  e5900008          LDR      r0,[r0,#8]
0000dc  e3c00480          BIC      r0,r0,#0x80000000
0000e0  e3a01448          MOV      r1,#0x48000000
0000e4  e5810008          STR      r0,[r1,#8]
;;;418    
;;;419    			rCIGCTRL|=(1<<30);	//external camera reset assertion (OV7620=high active)	
0000e8  e3a00448          MOV      r0,#0x48000000
0000ec  e5900008          LDR      r0,[r0,#8]
0000f0  e3800440          ORR      r0,r0,#0x40000000
0000f4  e3a01448          MOV      r1,#0x48000000
0000f8  e5810008          STR      r0,[r1,#8]
;;;420    			Delay(200);
0000fc  e3a000c8          MOV      r0,#0xc8
000100  ebfffffe          BL       Delay
;;;421    			rCIGCTRL&=~(1<<30);		//external camera reset deassertion
000104  e3a00448          MOV      r0,#0x48000000
000108  e5900008          LDR      r0,[r0,#8]
00010c  e3c00440          BIC      r0,r0,#0x40000000
000110  e3a01448          MOV      r1,#0x48000000
000114  e5810008          STR      r0,[r1,#8]
;;;422    
;;;423    			rCIGCTRL|=(1<<26);  // XciPCLK Polarity setting
000118  e3a00448          MOV      r0,#0x48000000
00011c  e5900008          LDR      r0,[r0,#8]
000120  e3800640          ORR      r0,r0,#0x4000000
000124  e3a01448          MOV      r1,#0x48000000
000128  e5810008          STR      r0,[r1,#8]
;;;424    			break;
00012c  ea00001e          B        |L1.428|
;;;425    		case CAM_S5X532:
;;;426    			rCIGCTRL|= (1<<31)|(1<<30)|(1<<29); //camera I/F soft reset
                  |L1.304|
000130  e3a00448          MOV      r0,#0x48000000
000134  e5900008          LDR      r0,[r0,#8]
000138  e38004e0          ORR      r0,r0,#0xe0000000
00013c  e3a01448          MOV      r1,#0x48000000
000140  e5810008          STR      r0,[r1,#8]
;;;427    			Delay(1);
000144  e3a00001          MOV      r0,#1
000148  ebfffffe          BL       Delay
;;;428    			rCIGCTRL&= ~(1<<31);
00014c  e3a00448          MOV      r0,#0x48000000
000150  e5900008          LDR      r0,[r0,#8]
000154  e3c00480          BIC      r0,r0,#0x80000000
000158  e3a01448          MOV      r1,#0x48000000
00015c  e5810008          STR      r0,[r1,#8]
;;;429    			
;;;430    			rCIGCTRL&=~(1<<30);	//external camera reset assertion (S5X433,AU70H=low active)	
000160  e3a00448          MOV      r0,#0x48000000
000164  e5900008          LDR      r0,[r0,#8]
000168  e3c00440          BIC      r0,r0,#0x40000000
00016c  e3a01448          MOV      r1,#0x48000000
000170  e5810008          STR      r0,[r1,#8]
;;;431    			Delay(1000);
000174  e3a00ffa          MOV      r0,#0x3e8
000178  ebfffffe          BL       Delay
;;;432    			rCIGCTRL|=(1<<30);		//external camera reset deassertion	
00017c  e3a00448          MOV      r0,#0x48000000
000180  e5900008          LDR      r0,[r0,#8]
000184  e3800440          ORR      r0,r0,#0x40000000
000188  e3a01448          MOV      r1,#0x48000000
00018c  e5810008          STR      r0,[r1,#8]
;;;433    
;;;434    			rCIGCTRL|=(1<<26);  // XciPCLK Polarity setting
000190  e3a00448          MOV      r0,#0x48000000
000194  e5900008          LDR      r0,[r0,#8]
000198  e3800640          ORR      r0,r0,#0x4000000
00019c  e3a01448          MOV      r1,#0x48000000
0001a0  e5810008          STR      r0,[r1,#8]
;;;435    			break;
0001a4  ea000000          B        |L1.428|
;;;436    		default:
;;;437    			break;
                  |L1.424|
0001a8  e1a00000          NOP      
;;;438    	}	
;;;439    
;;;440    }
                  |L1.428|
0001ac  e8bd8008          LDMFD    sp!,{r3,pc}
                          ENDP

                  Ch21_CAMERA PROC
;;;102    void Ch21_CAMERA(void)
;;;103    {
0001b0  e92d4010          STMFD    sp!,{r4,lr}
;;;104    	int i;
;;;105    
;;;106    	Uart_Printf("\n----Test of Camera Interface----\n");
0001b4  e28f0f86          ADR      r0,|L1.980|
0001b8  ebfffffe          BL       _printf
;;;107    
;;;108    	//LCD Initializtion
;;;109    
;;;110    	camCodecOutput=CAM_CCIR420;
0001bc  e3a00000          MOV      r0,#0
0001c0  e59f1230          LDR      r1,|L1.1016|
0001c4  e5810000          STR      r0,[r1,#0]  ; camCodecOutput
;;;111    	camCodecInput=CAM_CCIR420;
0001c8  e3a00000          MOV      r0,#0
0001cc  e59f1228          LDR      r1,|L1.1020|
0001d0  e5810000          STR      r0,[r1,#0]  ; camCodecInput
;;;112    	camPviewOutput=CAM_RGB16B;
0001d4  e3a00000          MOV      r0,#0
0001d8  e59f1220          LDR      r1,|L1.1024|
0001dc  e5810000          STR      r0,[r1,#0]  ; camPviewOutput
;;;113    
;;;114    	Uart_Printf("Select camera type\n");
0001e0  e28f0f87          ADR      r0,|L1.1028|
0001e4  ebfffffe          BL       _printf
;;;115    	Uart_Printf("0:S5X532, 1:OV7620 8bit, 2:OV7620 16bit\n");
0001e8  e28f0f8a          ADR      r0,|L1.1048|
0001ec  ebfffffe          BL       _printf
;;;116    	Uart_Printf("Choose one:");
0001f0  e28f0f93          ADR      r0,|L1.1092|
0001f4  ebfffffe          BL       _printf
;;;117    	i=Uart_GetIntNum();
0001f8  ebfffffe          BL       Uart_GetIntNum
0001fc  e1a04000          MOV      r4,r0
;;;118    	switch(i) {
000200  e3540000          CMP      r4,#0
000204  0a000004          BEQ      |L1.540|
000208  e3540001          CMP      r4,#1
00020c  0a000009          BEQ      |L1.568|
000210  e3540002          CMP      r4,#2
000214  1a000015          BNE      |L1.624|
000218  ea00000d          B        |L1.596|
;;;119    		case 0:
;;;120    			CAMTYPE=CAM_S5X532;
                  |L1.540|
00021c  e3a00003          MOV      r0,#3
000220  e59f11a8          LDR      r1,|L1.976|
000224  e5810000          STR      r0,[r1,#0]  ; CAMTYPE
;;;121    			CAMIICID=0x5a;
000228  e3a0005a          MOV      r0,#0x5a
00022c  e59f121c          LDR      r1,|L1.1104|
000230  e5810000          STR      r0,[r1,#0]  ; CAMIICID
;;;122    			break;
000234  ea000014          B        |L1.652|
;;;123    		case 1:
;;;124    			CAMTYPE=CAM_OV7620;
                  |L1.568|
000238  e3a00000          MOV      r0,#0
00023c  e59f118c          LDR      r1,|L1.976|
000240  e5810000          STR      r0,[r1,#0]  ; CAMTYPE
;;;125    			CAMIICID=0x42;
000244  e3a00042          MOV      r0,#0x42
000248  e59f1200          LDR      r1,|L1.1104|
00024c  e5810000          STR      r0,[r1,#0]  ; CAMIICID
;;;126    			break;
000250  ea00000d          B        |L1.652|
;;;127    		case 2:
;;;128    			CAMTYPE=CAM_OV7620_16;
                  |L1.596|
000254  e3a00001          MOV      r0,#1
000258  e59f1170          LDR      r1,|L1.976|
00025c  e5810000          STR      r0,[r1,#0]  ; CAMTYPE
;;;129    			CAMIICID=0x42;
000260  e3a00042          MOV      r0,#0x42
000264  e59f11e4          LDR      r1,|L1.1104|
000268  e5810000          STR      r0,[r1,#0]  ; CAMIICID
;;;130    			break;			
00026c  ea000006          B        |L1.652|
;;;131    		default:
;;;132    			CAMTYPE=CAM_S5X532;
                  |L1.624|
000270  e3a00003          MOV      r0,#3
000274  e59f1154          LDR      r1,|L1.976|
000278  e5810000          STR      r0,[r1,#0]  ; CAMTYPE
;;;133    			CAMIICID=0x5a;
00027c  e3a0005a          MOV      r0,#0x5a
000280  e59f11c8          LDR      r1,|L1.1104|
000284  e5810000          STR      r0,[r1,#0]  ; CAMIICID
;;;134    			break;
000288  e1a00000          NOP      
;;;135    	}
;;;136    
;;;137    	Uart_Printf("Select camera size\n");
                  |L1.652|
00028c  e28f0f70          ADR      r0,|L1.1108|
000290  ebfffffe          BL       _printf
;;;138    	Uart_Printf("0:VGA,    1:1 Mega,     2:2 Mega\n");
000294  e28f0f73          ADR      r0,|L1.1128|
000298  ebfffffe          BL       _printf
;;;139    	Uart_Printf("Choose one:");
00029c  e28f0f68          ADR      r0,|L1.1092|
0002a0  ebfffffe          BL       _printf
;;;140    	i=Uart_GetIntNum();
0002a4  ebfffffe          BL       Uart_GetIntNum
0002a8  e1a04000          MOV      r4,r0
;;;141    	switch(i) {
0002ac  e3540000          CMP      r4,#0
0002b0  0a000004          BEQ      |L1.712|
0002b4  e3540001          CMP      r4,#1
0002b8  0a000006          BEQ      |L1.728|
0002bc  e3540002          CMP      r4,#2
0002c0  1a00000c          BNE      |L1.760|
0002c4  ea000007          B        |L1.744|
;;;142    		case 0:
;;;143    			CAMSIZE=VGA_XSIZE;
                  |L1.712|
0002c8  e3a00fa0          MOV      r0,#0x280
0002cc  e59f11b8          LDR      r1,|L1.1164|
0002d0  e5810000          STR      r0,[r1,#0]  ; CAMSIZE
;;;144    			break;
0002d4  ea00000b          B        |L1.776|

⌨️ 快捷键说明

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