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

📄 camproset.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 4 页
字号:
                  |L1.1316|
000524  00000000          DCD      ||.constdata$1||
                  |L1.1320|
000528  000000b6          DCD      ||.constdata$1|| + 182
                  |L1.1324|
00052c  6f6c420a          DCB      "\nBlo"
000530  54206b63          DCB      "ck T"
000534  6e452058          DCB      "X En"
000538  2e646564          DCB      "ded."
00053c  000a2e2e          DCB      "..\n\0"
                          ENDP

                  Camera_ReadBlock PROC
;;;180    void Camera_ReadBlock(void)
;;;181    {
000540  e92d4010          STMFD    sp!,{r4,lr}
;;;182    	U32 i;
;;;183    	static U8 rdata[256];
;;;184    
;;;185    	pISR_IIC = (unsigned)Cam_IICInt; 
000544  e51f003c          LDR      r0,|L1.1296|
000548  e51f103c          LDR      r1,|L1.1300|
00054c  e5810f8c          STR      r0,[r1,#0xf8c]
;;;186    	rINTMSK &= ~(BIT_IIC);
000550  e51f004c          LDR      r0,|L1.1292|
000554  e5900008          LDR      r0,[r0,#8]
000558  e3c00680          BIC      r0,r0,#0x8000000
00055c  e51f1058          LDR      r1,|L1.1292|
000560  e5810008          STR      r0,[r1,#8]
;;;187    
;;;188    	//Enable ACK, Prescaler IICCLK=PCLK/512, Enable interrupt, Transmit clock value Tx clock=IICCLK/16
;;;189    	rIICCON  = (1<<7) | (1<<6) | (1<<5) | (0xf);
000564  e3a000ef          MOV      r0,#0xef
000568  e2811644          ADD      r1,r1,#0x4400000
00056c  e5810000          STR      r0,[r1,#0]
;;;190    
;;;191    	rIICADD  = 0x10;                    //24A0 slave address = [7:1]
000570  e3a00010          MOV      r0,#0x10
000574  e1c11000          BIC      r1,r1,r0
000578  e5810008          STR      r0,[r1,#8]
;;;192    	rIICSTAT = 0x10;                    //IIC bus data output enable(Rx/Tx)
00057c  e3a00010          MOV      r0,#0x10
000580  e1c11000          BIC      r1,r1,r0
000584  e5810004          STR      r0,[r1,#4]
;;;193    	rIICSDADLY  = (1<<2)|(3); 			// SDAOUT has 5clock cycle delay
000588  e3a00007          MOV      r0,#7
00058c  e1c11000          BIC      r1,r1,r0
000590  e5810010          STR      r0,[r1,#0x10]
;;;194    
;;;195    	switch(CAMTYPE) {
000594  e51f0084          LDR      r0,|L1.1304|
000598  e5900000          LDR      r0,[r0,#0]  ; CAMTYPE
00059c  e3500000          CMP      r0,#0
0005a0  0a000004          BEQ      |L1.1464|
0005a4  e3500001          CMP      r0,#1
0005a8  0a000021          BEQ      |L1.1588|
0005ac  e3500003          CMP      r0,#3
0005b0  1a000074          BNE      |L1.1928|
0005b4  ea00003d          B        |L1.1712|
;;;196    		case CAM_OV7620:
;;;197    			for(i=0; i<(sizeof(Ov7620_YCbCr8bit)/2);i++)
                  |L1.1464|
0005b8  e3a04000          MOV      r4,#0
                  |L1.1468|
0005bc  e3540041          CMP      r4,#0x41
0005c0  2a00000a          BCS      |L1.1520|
0005c4  ea000001          B        |L1.1488|
                  |L1.1480|
0005c8  e2844001          ADD      r4,r4,#1
0005cc  eafffffa          B        |L1.1468|
;;;198    				Rd_CamIIC(CAMIICID, Ov7620_YCbCr8bit[i][0], &rdata[i]); 
                  |L1.1488|
0005d0  e59f01cc          LDR      r0,|L1.1956|
0005d4  e0802004          ADD      r2,r0,r4
0005d8  e51f00c4          LDR      r0,|L1.1308|
0005dc  e7d01084          LDRB     r1,[r0,r4,LSL #1]
0005e0  e51f00c8          LDR      r0,|L1.1312|
0005e4  e5900000          LDR      r0,[r0,#0]  ; CAMIICID
0005e8  ebfffffe          BL       Rd_CamIIC
0005ec  eafffff5          B        |L1.1480|
;;;199    			for(i=0; i<(sizeof(Ov7620_YCbCr8bit)/2);i++)
                  |L1.1520|
0005f0  e3a04000          MOV      r4,#0
                  |L1.1524|
0005f4  e3540041          CMP      r4,#0x41
0005f8  2a00000c          BCS      |L1.1584|
0005fc  ea000001          B        |L1.1544|
                  |L1.1536|
000600  e2844001          ADD      r4,r4,#1
000604  eafffffa          B        |L1.1524|
;;;200    				Uart_Printf("Addr: 0x%2x, W: 0x%2x, R: 0x%2x\n", Ov7620_YCbCr8bit[i][0], Ov7620_YCbCr8bit[i][1], rdata[i]);
                  |L1.1544|
000608  e59f0194          LDR      r0,|L1.1956|
00060c  e7d03004          LDRB     r3,[r0,r4]
000610  e51f00fc          LDR      r0,|L1.1308|
000614  e0800084          ADD      r0,r0,r4,LSL #1
000618  e5d02001          LDRB     r2,[r0,#1]
00061c  e51f0108          LDR      r0,|L1.1308|
000620  e7d01084          LDRB     r1,[r0,r4,LSL #1]
000624  e28f0f5f          ADR      r0,|L1.1960|
000628  ebfffffe          BL       _printf
00062c  eafffff3          B        |L1.1536|
;;;201    			break;
                  |L1.1584|
000630  ea000055          B        |L1.1932|
;;;202    		case CAM_OV7620_16:
;;;203    			for(i=0; i<(sizeof(Ov7620_Yuv16bit)/2);i++)
                  |L1.1588|
000634  e3a04000          MOV      r4,#0
                  |L1.1592|
000638  e354001a          CMP      r4,#0x1a
00063c  2a00000a          BCS      |L1.1644|
000640  ea000001          B        |L1.1612|
                  |L1.1604|
000644  e2844001          ADD      r4,r4,#1
000648  eafffffa          B        |L1.1592|
;;;204    				Rd_CamIIC(CAMIICID, Ov7620_Yuv16bit[i][0], &rdata[i]); 
                  |L1.1612|
00064c  e59f0150          LDR      r0,|L1.1956|
000650  e0802004          ADD      r2,r0,r4
000654  e51f0138          LDR      r0,|L1.1316|
000658  e7d01084          LDRB     r1,[r0,r4,LSL #1]
00065c  e51f0144          LDR      r0,|L1.1312|
000660  e5900000          LDR      r0,[r0,#0]  ; CAMIICID
000664  ebfffffe          BL       Rd_CamIIC
000668  eafffff5          B        |L1.1604|
;;;205    			for(i=0; i<(sizeof(Ov7620_Yuv16bit)/2);i++)
                  |L1.1644|
00066c  e3a04000          MOV      r4,#0
                  |L1.1648|
000670  e354001a          CMP      r4,#0x1a
000674  2a00000c          BCS      |L1.1708|
000678  ea000001          B        |L1.1668|
                  |L1.1660|
00067c  e2844001          ADD      r4,r4,#1
000680  eafffffa          B        |L1.1648|
;;;206    				Uart_Printf("Addr: 0x%2x, W: 0x%2x, R: 0x%2x\n", Ov7620_Yuv16bit[i][0], Ov7620_Yuv16bit[i][1], rdata[i]);
                  |L1.1668|
000684  e59f0118          LDR      r0,|L1.1956|
000688  e7d03004          LDRB     r3,[r0,r4]
00068c  e51f0170          LDR      r0,|L1.1316|
000690  e0800084          ADD      r0,r0,r4,LSL #1
000694  e5d02001          LDRB     r2,[r0,#1]
000698  e51f017c          LDR      r0,|L1.1316|
00069c  e7d01084          LDRB     r1,[r0,r4,LSL #1]
0006a0  e28f0f40          ADR      r0,|L1.1960|
0006a4  ebfffffe          BL       _printf
0006a8  eafffff3          B        |L1.1660|
;;;207    			break;
                  |L1.1708|
0006ac  ea000036          B        |L1.1932|
;;;208    		case CAM_S5X532:
;;;209    			for(i=0; i<(sizeof(S5X532_YCbCr8bit_TV)/2);i++) {
                  |L1.1712|
0006b0  e3a04000          MOV      r4,#0
                  |L1.1716|
0006b4  e354005d          CMP      r4,#0x5d
0006b8  2a000017          BCS      |L1.1820|
0006bc  ea000001          B        |L1.1736|
                  |L1.1728|
0006c0  e2844001          ADD      r4,r4,#1
0006c4  eafffffa          B        |L1.1716|
;;;210    				if(S5X532_YCbCr8bit_TV[i][0] == 0xec)
                  |L1.1736|
0006c8  e51f01a8          LDR      r0,|L1.1320|
0006cc  e7d00084          LDRB     r0,[r0,r4,LSL #1]
0006d0  e35000ec          CMP      r0,#0xec
0006d4  1a000008          BNE      |L1.1788|
;;;211    					Wr_CamIIC(CAMIICID, S5X532_YCbCr8bit_TV[i][0], S5X532_YCbCr8bit_TV[i][1]);
0006d8  e51f01b8          LDR      r0,|L1.1320|
0006dc  e0800084          ADD      r0,r0,r4,LSL #1
0006e0  e5d02001          LDRB     r2,[r0,#1]
0006e4  e51f01c4          LDR      r0,|L1.1320|
0006e8  e7d01084          LDRB     r1,[r0,r4,LSL #1]
0006ec  e51f01d4          LDR      r0,|L1.1312|
0006f0  e5900000          LDR      r0,[r0,#0]  ; CAMIICID
0006f4  ebfffffe          BL       Wr_CamIIC
0006f8  ea000006          B        |L1.1816|
;;;212    				else
;;;213    					Rd_CamIIC(CAMIICID, S5X532_YCbCr8bit_TV[i][0], &rdata[i]); 
                  |L1.1788|
0006fc  e59f00a0          LDR      r0,|L1.1956|
000700  e0802004          ADD      r2,r0,r4
000704  e51f01e4          LDR      r0,|L1.1320|
000708  e7d01084          LDRB     r1,[r0,r4,LSL #1]
00070c  e51f01f4          LDR      r0,|L1.1312|
000710  e5900000          LDR      r0,[r0,#0]  ; CAMIICID
000714  ebfffffe          BL       Rd_CamIIC
;;;214    			}
                  |L1.1816|
000718  eaffffe8          B        |L1.1728|
;;;215    			for(i=0; i<(sizeof(S5X532_YCbCr8bit_TV)/2);i++) {
                  |L1.1820|
00071c  e3a04000          MOV      r4,#0
                  |L1.1824|
000720  e354005d          CMP      r4,#0x5d
000724  2a000016          BCS      |L1.1924|
000728  ea000001          B        |L1.1844|
                  |L1.1836|
00072c  e2844001          ADD      r4,r4,#1
000730  eafffffa          B        |L1.1824|
;;;216    				if(S5X532_YCbCr8bit_TV[i][0] == 0xec)
                  |L1.1844|
000734  e51f0214          LDR      r0,|L1.1320|
000738  e7d00084          LDRB     r0,[r0,r4,LSL #1]
00073c  e35000ec          CMP      r0,#0xec
000740  1a000005          BNE      |L1.1884|
;;;217    					Uart_Printf("Page: 0x%2x\n",  S5X532_YCbCr8bit_TV[i][1]);
000744  e51f0224          LDR      r0,|L1.1320|
000748  e0800084          ADD      r0,r0,r4,LSL #1
00074c  e5d01001          LDRB     r1,[r0,#1]
000750  e28f0074          ADR      r0,|L1.1996|
000754  ebfffffe          BL       _printf
000758  ea000008          B        |L1.1920|
;;;218    				else
;;;219    					Uart_Printf("Addr: 0x%2x, W: 0x%2x, R: 0x%2x\n", S5X532_YCbCr8bit_TV[i][0], S5X532_YCbCr8bit_TV[i][1], rdata[i]);
                  |L1.1884|
00075c  e59f0040          LDR      r0,|L1.1956|
000760  e7d03004          LDRB     r3,[r0,r4]
000764  e51f0244          LDR      r0,|L1.1320|
000768  e0800084          ADD      r0,r0,r4,LSL #1
00076c  e5d02001          LDRB     r2,[r0,#1]
000770  e51f0250          LDR      r0,|L1.1320|
000774  e7d01084          LDRB     r1,[r0,r4,LSL #1]
000778  e28f0028          ADR      r0,|L1.1960|
00077c  ebfffffe          BL       _printf
;;;220    			}
                  |L1.1920|
000780  eaffffe9          B        |L1.1836|
;;;221    			break;
                  |L1.1924|
000784  ea000000          B        |L1.1932|
;;;222    		default:
;;;223    			break;
                  |L1.1928|
000788  e1a00000          NOP      
;;;224    	}	
;;;225    
;;;226    	rINTMSK |= BIT_IIC;
                  |L1.1932|
00078c  e51f0288          LDR      r0,|L1.1292|
000790  e5900008          LDR      r0,[r0,#8]
000794  e3800680          ORR      r0,r0,#0x8000000
000798  e51f1294          LDR      r1,|L1.1292|
00079c  e5810008          STR      r0,[r1,#8]
;;;227    }
0007a0  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.1956|
0007a4  00000000          DCD      ||.bss$2||
                  |L1.1960|
0007a8  72646441          DCB      "Addr"
0007ac  7830203a          DCB      ": 0x"
0007b0  2c783225          DCB      "%2x,"
0007b4  203a5720          DCB      " W: "
0007b8  32257830          DCB      "0x%2"
0007bc  52202c78          DCB      "x, R"
0007c0  7830203a          DCB      ": 0x"
0007c4  0a783225          DCB      "%2x\n"
0007c8  00000000          DCB      "\0\0\0\0"
                  |L1.1996|
0007cc  65676150          DCB      "Page"
0007d0  7830203a          DCB      ": 0x"
0007d4  0a783225          DCB      "%2x\n"
0007d8  00000000          DCB      "\0\0\0\0"
                          ENDP

⌨️ 快捷键说明

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