📄 camproset.txt
字号:
CameraModuleSetting PROC
;;;230 void CameraModuleSetting(void)
;;;231 {
0007dc e92d4010 STMFD sp!,{r4,lr}
;;;232 U32 i;
;;;233 pISR_IIC = (unsigned)Cam_IICInt;
0007e0 e51f02d8 LDR r0,|L1.1296|
0007e4 e51f12d8 LDR r1,|L1.1300|
0007e8 e5810f8c STR r0,[r1,#0xf8c]
;;;234 rINTMSK &= ~(BIT_IIC);
0007ec e51f02e8 LDR r0,|L1.1292|
0007f0 e5900008 LDR r0,[r0,#8]
0007f4 e3c00680 BIC r0,r0,#0x8000000
0007f8 e51f12f4 LDR r1,|L1.1292|
0007fc e5810008 STR r0,[r1,#8]
;;;235
;;;236 //Enable ACK, Prescaler IICCLK=PCLK/512, Enable interrupt, Transmit clock value Tx clock=IICCLK/16
;;;237 rIICCON = (1<<7) | (1<<6) | (1<<5) | (0xf);
000800 e3a000ef MOV r0,#0xef
000804 e2811644 ADD r1,r1,#0x4400000
000808 e5810000 STR r0,[r1,#0]
;;;238
;;;239 rIICADD = 0x10; //24A0 slave address = [7:1]
00080c e3a00010 MOV r0,#0x10
000810 e1c11000 BIC r1,r1,r0
000814 e5810008 STR r0,[r1,#8]
;;;240 rIICSTAT = 0x10; //IIC bus data output enable(Rx/Tx)
000818 e3a00010 MOV r0,#0x10
00081c e1c11000 BIC r1,r1,r0
000820 e5810004 STR r0,[r1,#4]
;;;241 rIICSDADLY = (1<<2)|(3); // SDAOUT has 5clock cycle delay
000824 e3a00007 MOV r0,#7
000828 e1c11000 BIC r1,r1,r0
00082c e5810010 STR r0,[r1,#0x10]
;;;242
;;;243 switch(CAMTYPE) {
000830 e51f0320 LDR r0,|L1.1304|
000834 e5900000 LDR r0,[r0,#0] ; CAMTYPE
000838 e3500000 CMP r0,#0
00083c 0a000004 BEQ |L1.2132|
000840 e3500001 CMP r0,#1
000844 0a000012 BEQ |L1.2196|
000848 e3500003 CMP r0,#3
00084c 1a000030 BNE |L1.2324|
000850 ea00001f B |L1.2260|
;;;244 case CAM_OV7620:
;;;245 for(i=0; i<(sizeof(Ov7620_YCbCr8bit)/2); i++)
|L1.2132|
000854 e3a04000 MOV r4,#0
|L1.2136|
000858 e3540041 CMP r4,#0x41
00085c 2a00000b BCS |L1.2192|
000860 ea000001 B |L1.2156|
|L1.2148|
000864 e2844001 ADD r4,r4,#1
000868 eafffffa B |L1.2136|
;;;246 Wr_CamIIC(CAMIICID, Ov7620_YCbCr8bit[i][0], Ov7620_YCbCr8bit[i][1]);
|L1.2156|
00086c e51f0358 LDR r0,|L1.1308|
000870 e0800084 ADD r0,r0,r4,LSL #1
000874 e5d02001 LDRB r2,[r0,#1]
000878 e51f0364 LDR r0,|L1.1308|
00087c e7d01084 LDRB r1,[r0,r4,LSL #1]
000880 e51f0368 LDR r0,|L1.1312|
000884 e5900000 LDR r0,[r0,#0] ; CAMIICID
000888 ebfffffe BL Wr_CamIIC
00088c eafffff4 B |L1.2148|
;;;247 break;
|L1.2192|
000890 ea000020 B |L1.2328|
;;;248 case CAM_OV7620_16:
;;;249 for(i=0; i<(sizeof(Ov7620_Yuv16bit)/2); i++)
|L1.2196|
000894 e3a04000 MOV r4,#0
|L1.2200|
000898 e354001a CMP r4,#0x1a
00089c 2a00000b BCS |L1.2256|
0008a0 ea000001 B |L1.2220|
|L1.2212|
0008a4 e2844001 ADD r4,r4,#1
0008a8 eafffffa B |L1.2200|
;;;250 Wr_CamIIC(CAMIICID, Ov7620_Yuv16bit[i][0], Ov7620_Yuv16bit[i][1]);
|L1.2220|
0008ac e51f0390 LDR r0,|L1.1316|
0008b0 e0800084 ADD r0,r0,r4,LSL #1
0008b4 e5d02001 LDRB r2,[r0,#1]
0008b8 e51f039c LDR r0,|L1.1316|
0008bc e7d01084 LDRB r1,[r0,r4,LSL #1]
0008c0 e51f03a8 LDR r0,|L1.1312|
0008c4 e5900000 LDR r0,[r0,#0] ; CAMIICID
0008c8 ebfffffe BL Wr_CamIIC
0008cc eafffff4 B |L1.2212|
;;;251 break;
|L1.2256|
0008d0 ea000010 B |L1.2328|
;;;252 case CAM_S5X532:
;;;253 for(i=0; i<(sizeof(S5X532_YCbCr8bit_TV)/2); i++)
|L1.2260|
0008d4 e3a04000 MOV r4,#0
|L1.2264|
0008d8 e354005d CMP r4,#0x5d
0008dc 2a00000b BCS |L1.2320|
0008e0 ea000001 B |L1.2284|
|L1.2276|
0008e4 e2844001 ADD r4,r4,#1
0008e8 eafffffa B |L1.2264|
;;;254 Wr_CamIIC(CAMIICID, S5X532_YCbCr8bit_TV[i][0], S5X532_YCbCr8bit_TV[i][1]);
|L1.2284|
0008ec e51f03cc LDR r0,|L1.1320|
0008f0 e0800084 ADD r0,r0,r4,LSL #1
0008f4 e5d02001 LDRB r2,[r0,#1]
0008f8 e51f03d8 LDR r0,|L1.1320|
0008fc e7d01084 LDRB r1,[r0,r4,LSL #1]
000900 e51f03e8 LDR r0,|L1.1312|
000904 e5900000 LDR r0,[r0,#0] ; CAMIICID
000908 ebfffffe BL Wr_CamIIC
00090c eafffff4 B |L1.2276|
;;;255 break;
|L1.2320|
000910 ea000000 B |L1.2328|
;;;256 default:
;;;257 break;
|L1.2324|
000914 e1a00000 NOP
;;;258 }
;;;259
;;;260 Uart_Printf("\nBlock TX Ended...\n");
|L1.2328|
000918 e24f0ffd ADR r0,|L1.1324|
00091c ebfffffe BL _printf
;;;261 rINTMSK |= BIT_IIC;
000920 e51f041c LDR r0,|L1.1292|
000924 e5900008 LDR r0,[r0,#8]
000928 e3800680 ORR r0,r0,#0x8000000
00092c e51f1428 LDR r1,|L1.1292|
000930 e5810008 STR r0,[r1,#8]
;;;262
;;;263 }
000934 e8bd8010 LDMFD sp!,{r4,pc}
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=0
||.constdata$1||
Ov7620_Yuv16bit
DCB 0x12,0x80,0x17,0x2f
DCB 0x18,0xcf,0x19,0x06
DCB 0x1a,0xf5,0x01,0x80
DCB 0x02,0x80,0x03,0xb0
DCB 0x06,0x70,0x07,0x00
DCB 0x0c,0x24,0x0d,0x24
DCB 0x10,0xff,0x11,0x40
DCB 0x12,0x24,0x15,0x01
DCB 0x16,0x03,0x12,0x64
DCB 0x13,0x01,0x14,0x84
DCB 0x24,0x3a,0x25,0x60
DCB 0x28,0x20,0x2d,0x95
DCB 0x67,0x92,0x74,0x00
Ov7620_YCbCr8bit
DCB 0x12,0x80,0x00,0x00
DCB 0x01,0x80,0x02,0x80
DCB 0x03,0xb0,0x06,0x60
DCB 0x0c,0x24,0x0d,0x24
DCB 0x10,0xff,0x11,0x80
DCB 0x13,0x21,0x14,0x94
DCB 0x16,0x03,0x17,0x2f
DCB 0x18,0xcf,0x19,0x06
DCB 0x1a,0xf5,0x1b,0x00
DCB 0x20,0x00,0x21,0x80
DCB 0x22,0x80,0x23,0x00
DCB 0x26,0xa2,0x27,0xea
DCB 0x29,0x00,0x2a,0x00
DCB 0x2b,0x00,0x2c,0x88
DCB 0x2e,0x80,0x2f,0x44
DCB 0x60,0x27,0x61,0x82
DCB 0x62,0x5f,0x63,0xd5
DCB 0x64,0x57,0x65,0x83
DCB 0x66,0x55,0x68,0xcf
DCB 0x69,0x76,0x6a,0x22
DCB 0x6b,0x00,0x6c,0x08
DCB 0x6d,0x48,0x6e,0x80
DCB 0x6f,0x0c,0x70,0x89
DCB 0x71,0x00,0x72,0x14
DCB 0x73,0x54,0x75,0x0e
DCB 0x76,0x00,0x77,0xff
DCB 0x78,0x80,0x79,0x80
DCB 0x7a,0x80,0x7b,0xe6
DCB 0x7c,0x00,0x24,0x10
DCB 0x25,0x8a,0x28,0x20
DCB 0x2d,0x95,0x67,0x92
DCB 0x74,0x00,0x15,0x41
DCB 0x12,0x34
S5X532_YCbCr8bit_TV
DCB 0xec,0x05,0x08,0x55
DCB 0x0a,0x75,0x0c,0x90
DCB 0x0e,0x18,0x12,0x09
DCB 0x14,0x9d,0x16,0x90
DCB 0x1a,0x18,0x1c,0x0c
DCB 0x1e,0x09,0x20,0x06
DCB 0x22,0x20,0x2a,0x00
DCB 0x2d,0x04,0x12,0x24
DCB 0xec,0x03,0x0c,0x09
DCB 0x6c,0x09,0x2b,0x10
DCB 0xec,0x02,0x03,0x09
DCB 0x05,0x08,0x06,0x01
DCB 0x07,0xf8,0x15,0x25
DCB 0x30,0x29,0x36,0x12
DCB 0x38,0x04,0x1b,0x77
DCB 0x1c,0x77,0xec,0x01
DCB 0x00,0x03,0x0a,0x08
DCB 0x10,0x26,0x50,0x21
DCB 0x51,0x00,0x52,0xa1
DCB 0x53,0x02,0x54,0x01
DCB 0x55,0x00,0x56,0xe1
DCB 0x57,0x01,0x58,0x21
DCB 0x59,0x00,0x5a,0xa1
DCB 0x5b,0x02,0x5c,0x03
DCB 0x5d,0x00,0x5e,0x05
DCB 0x5f,0x00,0x70,0x0e
DCB 0x71,0xd6,0x72,0x30
DCB 0x73,0xdb,0x74,0x0e
DCB 0x75,0xd6,0x76,0x18
DCB 0x77,0xf5,0x78,0x0e
DCB 0x79,0xd6,0x7a,0x28
DCB 0x7b,0xe6,0x50,0x00
DCB 0x5c,0x00,0xec,0x00
DCB 0x79,0x01,0x58,0x90
DCB 0x59,0xa0,0x5a,0x50
DCB 0x5b,0x70,0x5c,0xd0
DCB 0x5d,0xc0,0x5e,0x28
DCB 0x5f,0x08,0x50,0x90
DCB 0x51,0xa0,0x52,0x50
DCB 0x53,0x70,0x54,0xd0
DCB 0x55,0xc0,0x56,0x28
DCB 0x57,0x00,0x48,0x90
DCB 0x49,0xa0,0x4a,0x50
DCB 0x4b,0x70,0x4c,0xd0
DCB 0x4d,0xc0,0x4e,0x28
DCB 0x4f,0x08,0x72,0xd2
DCB 0x75,0x05
AREA ||.bss||, NOINIT, ALIGN=2
||rdata@Camera_ReadBlock_0||
||.bss$2||
% 256
_CAMiicData
% 32
_CAMiicDataCount
% 4
_CAMiicMode
% 4
_CAMiicPt
% 4
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -