📄 camproset.txt
字号:
00087c e59f00c4 LDR r0,|L1.2376|
000880 e5900000 LDR r0,[r0,#0] ; CAMSIZE
000884 e3500e64 CMP r0,#0x640
000888 1a000047 BNE |L1.2476|
;;;239 for(i=0; i<(sizeof(S5K3BAFX_UXGA)/2);i++) {
00088c e3a04000 MOV r4,#0
|L1.2192|
000890 e254cfc0 SUBS r12,r4,#0x300
000894 225cc042 SUBCSS r12,r12,#0x42
000898 2a000017 BCS |L1.2300|
00089c ea000001 B |L1.2216|
|L1.2208|
0008a0 e2844001 ADD r4,r4,#1
0008a4 eafffff9 B |L1.2192|
;;;240 if(S5K3BAFX_UXGA[i][0] == 0xec)
|L1.2216|
0008a8 e59f00a0 LDR r0,|L1.2384|
0008ac e7d00084 LDRB r0,[r0,r4,LSL #1]
0008b0 e35000ec CMP r0,#0xec
0008b4 1a000008 BNE |L1.2268|
;;;241 Wr_CamIIC(CAMIICID, S5K3BAFX_UXGA[i][0], S5K3BAFX_UXGA[i][1]);
0008b8 e59f0090 LDR r0,|L1.2384|
0008bc e0800084 ADD r0,r0,r4,LSL #1
0008c0 e5d02001 LDRB r2,[r0,#1]
0008c4 e59f0084 LDR r0,|L1.2384|
0008c8 e7d01084 LDRB r1,[r0,r4,LSL #1]
0008cc e51f03b4 LDR r0,|L1.1312|
0008d0 e5900000 LDR r0,[r0,#0] ; CAMIICID
0008d4 ebfffffe BL Wr_CamIIC
0008d8 ea000006 B |L1.2296|
;;;242 else
;;;243 Rd_CamIIC(CAMIICID, S5K3BAFX_UXGA[i][0], &rdata[i]);
|L1.2268|
0008dc e59f002c LDR r0,|L1.2320|
0008e0 e0802004 ADD r2,r0,r4
0008e4 e59f0064 LDR r0,|L1.2384|
0008e8 e7d01084 LDRB r1,[r0,r4,LSL #1]
0008ec e51f03d4 LDR r0,|L1.1312|
0008f0 e5900000 LDR r0,[r0,#0] ; CAMIICID
0008f4 ebfffffe BL Rd_CamIIC
;;;244 }
|L1.2296|
0008f8 eaffffe8 B |L1.2208|
;;;245 for(i=0; i<(sizeof(S5K3BAFX_UXGA)/2);i++) {
|L1.2300|
0008fc e3a04000 MOV r4,#0
|L1.2304|
000900 e254cfc0 SUBS r12,r4,#0x300
000904 225cc042 SUBCSS r12,r12,#0x42
000908 2a000027 BCS |L1.2476|
00090c ea000012 B |L1.2396|
|L1.2320|
000910 00000000 DCD ||.bss$2||
|L1.2324|
000914 72646441 DCB "Addr"
000918 7830203a DCB ": 0x"
00091c 2c783225 DCB "%2x,"
000920 203a5720 DCB " W: "
000924 32257830 DCB "0x%2"
000928 52202c78 DCB "x, R"
00092c 7830203a DCB ": 0x"
000930 0a783225 DCB "%2x\n"
000934 00000000 DCB "\0\0\0\0"
|L1.2360|
000938 65676150 DCB "Page"
00093c 7830203a DCB ": 0x"
000940 0a783225 DCB "%2x\n"
000944 00000000 DCB "\0\0\0\0"
|L1.2376|
000948 00000000 DCD CAMSIZE
|L1.2380|
00094c 00000170 DCD ||.constdata$1|| + 368
|L1.2384|
000950 00000854 DCD ||.constdata$1|| + 2132
|L1.2388|
000954 e2844001 ADD r4,r4,#1
000958 eaffffe8 B |L1.2304|
;;;246 if(S5K3BAFX_UXGA[i][0] == 0xec)
|L1.2396|
00095c e51f0014 LDR r0,|L1.2384|
000960 e7d00084 LDRB r0,[r0,r4,LSL #1]
000964 e35000ec CMP r0,#0xec
000968 1a000005 BNE |L1.2436|
;;;247 Uart_Printf("Page: 0x%2x\n", S5K3BAFX_UXGA[i][1]);
00096c e51f0024 LDR r0,|L1.2384|
000970 e0800084 ADD r0,r0,r4,LSL #1
000974 e5d01001 LDRB r1,[r0,#1]
000978 e24f0048 ADR r0,|L1.2360|
00097c ebfffffe BL _printf
000980 ea000008 B |L1.2472|
;;;248 else
;;;249 Uart_Printf("Addr: 0x%2x, W: 0x%2x, R: 0x%2x\n", S5K3BAFX_UXGA[i][0], S5K3BAFX_UXGA[i][1], rdata[i]);
|L1.2436|
000984 e51f007c LDR r0,|L1.2320|
000988 e7d03004 LDRB r3,[r0,r4]
00098c e51f0044 LDR r0,|L1.2384|
000990 e0800084 ADD r0,r0,r4,LSL #1
000994 e5d02001 LDRB r2,[r0,#1]
000998 e51f0050 LDR r0,|L1.2384|
00099c e7d01084 LDRB r1,[r0,r4,LSL #1]
0009a0 e24f0094 ADR r0,|L1.2324|
0009a4 ebfffffe BL _printf
;;;250 }
|L1.2472|
0009a8 eaffffe9 B |L1.2388|
;;;251
;;;252 }
;;;253 break;
|L1.2476|
0009ac ea000000 B |L1.2484|
;;;254 default:
;;;255 break;
|L1.2480|
0009b0 e1a00000 NOP
;;;256 }
;;;257
;;;258 rINTMSK |= BIT_IIC;
|L1.2484|
0009b4 e51f04b0 LDR r0,|L1.1292|
0009b8 e5900008 LDR r0,[r0,#8]
0009bc e3800680 ORR r0,r0,#0x8000000
0009c0 e51f14bc LDR r1,|L1.1292|
0009c4 e5810008 STR r0,[r1,#8]
;;;259 }
0009c8 e8bd8010 LDMFD sp!,{r4,pc}
ENDP
CameraModuleSetting PROC
;;;262 void CameraModuleSetting(void)
;;;263 {
0009cc e92d4010 STMFD sp!,{r4,lr}
;;;264 U32 i;
;;;265 pISR_IIC = (unsigned)Cam_IICInt;
0009d0 e51f04c8 LDR r0,|L1.1296|
0009d4 e51f14c8 LDR r1,|L1.1300|
0009d8 e5810f8c STR r0,[r1,#0xf8c]
;;;266 rINTMSK &= ~(BIT_IIC);
0009dc e51f04d8 LDR r0,|L1.1292|
0009e0 e5900008 LDR r0,[r0,#8]
0009e4 e3c00680 BIC r0,r0,#0x8000000
0009e8 e51f14e4 LDR r1,|L1.1292|
0009ec e5810008 STR r0,[r1,#8]
;;;267
;;;268 //Enable ACK, Prescaler IICCLK=PCLK/512, Enable interrupt, Transmit clock value Tx clock=IICCLK/16
;;;269 rIICCON = (1<<7) | (1<<6) | (1<<5) | (0xf);
0009f0 e3a000ef MOV r0,#0xef
0009f4 e2811644 ADD r1,r1,#0x4400000
0009f8 e5810000 STR r0,[r1,#0]
;;;270
;;;271 rIICADD = 0x10; //24A0 slave address = [7:1]
0009fc e3a00010 MOV r0,#0x10
000a00 e1c11000 BIC r1,r1,r0
000a04 e5810008 STR r0,[r1,#8]
;;;272 rIICSTAT = 0x10; //IIC bus data output enable(Rx/Tx)
000a08 e3a00010 MOV r0,#0x10
000a0c e1c11000 BIC r1,r1,r0
000a10 e5810004 STR r0,[r1,#4]
;;;273 rIICSDADLY = (1<<2)|(3); // SDAOUT has 5clock cycle delay
000a14 e3a00007 MOV r0,#7
000a18 e1c11000 BIC r1,r1,r0
000a1c e5810010 STR r0,[r1,#0x10]
;;;274
;;;275 switch(CAMTYPE) {
000a20 e51f0510 LDR r0,|L1.1304|
000a24 e5900000 LDR r0,[r0,#0] ; CAMTYPE
000a28 e3500000 CMP r0,#0
000a2c 0a000006 BEQ |L1.2636|
000a30 e3500001 CMP r0,#1
000a34 0a000014 BEQ |L1.2700|
000a38 e3500003 CMP r0,#3
000a3c 0a000022 BEQ |L1.2764|
000a40 e3500004 CMP r0,#4
000a44 1a000068 BNE |L1.3052|
000a48 ea00002f B |L1.2828|
;;;276 case CAM_OV7620:
;;;277 for(i=0; i<(sizeof(Ov7620_YCbCr8bit)/2); i++)
|L1.2636|
000a4c e3a04000 MOV r4,#0
|L1.2640|
000a50 e3540041 CMP r4,#0x41
000a54 2a00000b BCS |L1.2696|
000a58 ea000001 B |L1.2660|
|L1.2652|
000a5c e2844001 ADD r4,r4,#1
000a60 eafffffa B |L1.2640|
;;;278 Wr_CamIIC(CAMIICID, Ov7620_YCbCr8bit[i][0], Ov7620_YCbCr8bit[i][1]);
|L1.2660|
000a64 e51f0550 LDR r0,|L1.1308|
000a68 e0800084 ADD r0,r0,r4,LSL #1
000a6c e5d02001 LDRB r2,[r0,#1]
000a70 e51f055c LDR r0,|L1.1308|
000a74 e7d01084 LDRB r1,[r0,r4,LSL #1]
000a78 e51f0560 LDR r0,|L1.1312|
000a7c e5900000 LDR r0,[r0,#0] ; CAMIICID
000a80 ebfffffe BL Wr_CamIIC
000a84 eafffff4 B |L1.2652|
;;;279 break;
|L1.2696|
000a88 ea000058 B |L1.3056|
;;;280 case CAM_OV7620_16:
;;;281 for(i=0; i<(sizeof(Ov7620_Yuv16bit)/2); i++)
|L1.2700|
000a8c e3a04000 MOV r4,#0
|L1.2704|
000a90 e354001a CMP r4,#0x1a
000a94 2a00000b BCS |L1.2760|
000a98 ea000001 B |L1.2724|
|L1.2716|
000a9c e2844001 ADD r4,r4,#1
000aa0 eafffffa B |L1.2704|
;;;282 Wr_CamIIC(CAMIICID, Ov7620_Yuv16bit[i][0], Ov7620_Yuv16bit[i][1]);
|L1.2724|
000aa4 e51f0588 LDR r0,|L1.1316|
000aa8 e0800084 ADD r0,r0,r4,LSL #1
000aac e5d02001 LDRB r2,[r0,#1]
000ab0 e51f0594 LDR r0,|L1.1316|
000ab4 e7d01084 LDRB r1,[r0,r4,LSL #1]
000ab8 e51f05a0 LDR r0,|L1.1312|
000abc e5900000 LDR r0,[r0,#0] ; CAMIICID
000ac0 ebfffffe BL Wr_CamIIC
000ac4 eafffff4 B |L1.2716|
;;;283 break;
|L1.2760|
000ac8 ea000048 B |L1.3056|
;;;284 case CAM_S5X532:
;;;285 for(i=0; i<(sizeof(S5X532_YCbCr8bit_TV)/2); i++)
|L1.2764|
000acc e3a04000 MOV r4,#0
|L1.2768|
000ad0 e354005d CMP r4,#0x5d
000ad4 2a00000b BCS |L1.2824|
000ad8 ea000001 B |L1.2788|
|L1.2780|
000adc e2844001 ADD r4,r4,#1
000ae0 eafffffa B |L1.2768|
;;;286 Wr_CamIIC(CAMIICID, S5X532_YCbCr8bit_TV[i][0], S5X532_YCbCr8bit_TV[i][1]);
|L1.2788|
000ae4 e51f05c4 LDR r0,|L1.1320|
000ae8 e0800084 ADD r0,r0,r4,LSL #1
000aec e5d02001 LDRB r2,[r0,#1]
000af0 e51f05d0 LDR r0,|L1.1320|
000af4 e7d01084 LDRB r1,[r0,r4,LSL #1]
000af8 e51f05e0 LDR r0,|L1.1312|
000afc e5900000 LDR r0,[r0,#0] ; CAMIICID
000b00 ebfffffe BL Wr_CamIIC
000b04 eafffff4 B |L1.2780|
;;;287 break;
|L1.2824|
000b08 ea000038 B |L1.3056|
;;;288 case CAM_S5K3BAFX:
;;;289 if(CAMSIZE == SVGA_XSIZE)
|L1.2828|
000b0c e51f01cc LDR r0,|L1.2376|
000b10 e5900000 LDR r0,[r0,#0] ; CAMSIZE
000b14 e3500fc8 CMP r0,#0x320
000b18 1a00000f BNE |L1.2908|
;;;290 for(i=0; i<(sizeof(S5K3BAFX_SVGA)/2); i++)
000b1c e3a04000 MOV r4,#0
|L1.2848|
000b20 e254cfc0 SUBS r12,r4,#0x300
000b24 225cc072 SUBCSS r12,r12,#0x72
000b28 2a00001f BCS |L1.2988|
000b2c ea000001 B |L1.2872|
|L1.2864|
000b30 e2844001 ADD r4,r4,#1
000b34 eafffff9 B |L1.2848|
;;;291 Wr_CamIIC(CAMIICID, S5K3BAFX_SVGA[i][0], S5K3BAFX_SVGA[i][1]);
|L1.2872|
000b38 e51f01f4 LDR r0,|L1.2380|
000b3c e0800084 ADD r0,r0,r4,LSL #1
000b40 e5d02001 LDRB r2,[r0,#1]
000b44 e51f0200 LDR r0,|L1.2380|
000b48 e7d01084 LDRB r1,[r0,r4,LSL #1]
000b4c e51f0634 LDR r0,|L1.1312|
000b50 e5900000 LDR r0,[r0,#0] ; CAMIICID
000b54 ebfffffe BL Wr_CamIIC
000b58 eafffff4 B |L1.2864|
;;;292 else if(CAMSIZE == MEGA2_XSIZE)
|L1.2908|
000b5c e51f021c LDR r0,|L1.2376|
000b60 e5900000 LDR r0,[r0,#0] ; CAMSIZE
000b64 e3500e64 CMP r0,#0x640
000b68 1a00000f BNE |L1.2988|
;;;293 /*for(i=0; i<(sizeof(S5K3BAFX_UXGA)/2); i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -