📄 iic_s5x532.txt
字号:
0008a4 ea000005 B |L1.2240|
;;;211 else
;;;212 Rd_S5X532(SlaveID, S5X532_TV[i][0], &rdata[i]);
|L1.2216|
0008a8 e59f0080 LDR r0,|L1.2352|
0008ac e0802004 ADD r2,r0,r4
0008b0 e51f00a4 LDR r0,|L1.2068|
0008b4 e7d01084 LDRB r1,[r0,r4,LSL #1]
0008b8 e3a0005a MOV r0,#0x5a
0008bc ebfffffe BL Rd_S5X532
;;;213 }
|L1.2240|
0008c0 eaffffea B |L1.2160|
;;;214
;;;215 for(i=0; i<(sizeof(S5X532_TV)/2);i++)
|L1.2244|
0008c4 e3a04000 MOV r4,#0
|L1.2248|
0008c8 e354005d CMP r4,#0x5d
0008cc 2a000016 BCS |L1.2348|
0008d0 ea000001 B |L1.2268|
|L1.2260|
0008d4 e2844001 ADD r4,r4,#1
0008d8 eafffffa B |L1.2248|
;;;216 {
;;;217 if(S5X532_TV[i][0] == 0xec)
|L1.2268|
0008dc e51f00d0 LDR r0,|L1.2068|
0008e0 e7d00084 LDRB r0,[r0,r4,LSL #1]
0008e4 e35000ec CMP r0,#0xec
0008e8 1a000005 BNE |L1.2308|
;;;218 Uart_Printf("Page: 0x%2x\n", S5X532_TV[i][1]);
0008ec e51f00e0 LDR r0,|L1.2068|
0008f0 e0800084 ADD r0,r0,r4,LSL #1
0008f4 e5d01001 LDRB r1,[r0,#1]
0008f8 e28f0034 ADR r0,|L1.2356|
0008fc ebfffffe BL _printf
000900 ea000008 B |L1.2344|
;;;219 else
;;;220 Uart_Printf("Addr: 0x%2x, W: 0x%2x, R: 0x%2x\n", S5X532_TV[i][0], S5X532_TV[i][1], rdata[i]);
|L1.2308|
000904 e59f0024 LDR r0,|L1.2352|
000908 e7d03004 LDRB r3,[r0,r4]
00090c e51f0100 LDR r0,|L1.2068|
000910 e0800084 ADD r0,r0,r4,LSL #1
000914 e5d02001 LDRB r2,[r0,#1]
000918 e51f010c LDR r0,|L1.2068|
00091c e7d01084 LDRB r1,[r0,r4,LSL #1]
000920 e28f001c ADR r0,|L1.2372|
000924 ebfffffe BL _printf
;;;221 }
|L1.2344|
000928 eaffffe9 B |L1.2260|
;;;222 }
|L1.2348|
00092c e8bd8010 LDMFD sp!,{r4,pc}
|L1.2352|
000930 00000108 DCD ||.bss$2|| + 264
|L1.2356|
000934 65676150 DCB "Page"
000938 7830203a DCB ": 0x"
00093c 0a783225 DCB "%2x\n"
000940 00000000 DCB "\0\0\0\0"
|L1.2372|
000944 72646441 DCB "Addr"
000948 7830203a DCB ": 0x"
00094c 2c783225 DCB "%2x,"
000950 203a5720 DCB " W: "
000954 32257830 DCB "0x%2"
000958 52202c78 DCB "x, R"
00095c 7830203a DCB ": 0x"
000960 0a783225 DCB "%2x\n"
000964 00000000 DCB "\0\0\0\0"
ENDP
Test_s5x532_with_sccb PROC
;;;353 void Test_s5x532_with_sccb(void) // test not completed
;;;354 {
000968 e92d4038 STMFD sp!,{r3-r5,lr}
;;;355 int i;
;;;356 unsigned char indata;
;;;357
;;;358 //ChangeUPllValue(0x38,2,1); // 96MHz
;;;359 //rCLKDIVN|=(1<<3); // UCLK 48MHz setting
;;;360 //SetCAMClockDivider(3); //Set Camera Clock 12MHz
;;;361 rCLKCON |= ((1<<23)|(1<<21)); // enable camclk
00096c e3a00440 MOV r0,#0x40000000
000970 e5900020 LDR r0,[r0,#0x20]
000974 e38008a0 ORR r0,r0,#0xa00000
000978 e3a01440 MOV r1,#0x40000000
00097c e5810020 STR r0,[r1,#0x20]
;;;362
;;;363 // Selecting cam clock
;;;364 Uart_Printf("Input Camera Clock\n");
000980 e59f0058 LDR r0,|L1.2528|
000984 ebfffffe BL _printf
;;;365 Uart_Printf("0:48Mhz, 1:24Mhz, 2:16Mhz, 3:12Mhz, 4:9.6Mhz\n");
000988 e59f0054 LDR r0,|L1.2532|
00098c ebfffffe BL _printf
;;;366 i = Uart_GetIntNum();
000990 ebfffffe BL Uart_GetIntNum
000994 e1a04000 MOV r4,r0
;;;367 SetCAMClockDivider(i); //Set Camera Clock
000998 e1a00004 MOV r0,r4
00099c ebfffffe BL SetCAMClockDivider
;;;368 //camclk = 96000000/(((rCAMDIVN&0xf) +1)*2);
;;;369 //Uart_Printf("CAMCLK = %d Hz\n", camclk);
;;;370
;;;371 //Init_Sccb_Port();
;;;372 /*
;;;373 for(i=0; i<(sizeof(S5X532_YCbCr8bit_TV)/2);i++){
;;;374 setCIS(S5X532_YCbCr8bit_TV[i][0], S5X532_YCbCr8bit_TV[i][1]);
;;;375 Uart_Printf("Addr : 0x%x, Data : 0x%x\n", S5X532_YCbCr8bit_TV[i][0], S5X532_YCbCr8bit_TV[i][1]);
;;;376 Uart_Getch();
;;;377 }
;;;378 */ for(i=0; i<(sizeof(S5X532_TV)/2);i++){
0009a0 e3a04000 MOV r4,#0
|L1.2468|
0009a4 e354005d CMP r4,#0x5d
0009a8 2a00000b BCS |L1.2524|
0009ac ea000001 B |L1.2488|
|L1.2480|
0009b0 e2844001 ADD r4,r4,#1
0009b4 eafffffa B |L1.2468|
;;;379 // indata = getCIS(S5X532_YCbCr8bit_TV[i][0]);
;;;380 Uart_Printf("Addr: 0x%3x, W: 0x%3x, R: 0x%3x\n", S5X532_TV[i][0], S5X532_TV[i][1], indata);
|L1.2488|
0009b8 e51f01ac LDR r0,|L1.2068|
0009bc e0800084 ADD r0,r0,r4,LSL #1
0009c0 e5d02001 LDRB r2,[r0,#1]
0009c4 e51f01b8 LDR r0,|L1.2068|
0009c8 e7d01084 LDRB r1,[r0,r4,LSL #1]
0009cc e1a03005 MOV r3,r5
0009d0 e28f0010 ADR r0,|L1.2536|
0009d4 ebfffffe BL _printf
;;;381 //Uart_Getch();
;;;382 }
0009d8 eafffff4 B |L1.2480|
;;;383
;;;384 }
|L1.2524|
0009dc e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.2528|
0009e0 00000000 DCD |L1.1004|
|L1.2532|
0009e4 00000000 DCD |L1.1024|
|L1.2536|
0009e8 72646441 DCB "Addr"
0009ec 7830203a DCB ": 0x"
0009f0 2c783325 DCB "%3x,"
0009f4 203a5720 DCB " W: "
0009f8 33257830 DCB "0x%3"
0009fc 52202c78 DCB "x, R"
000a00 7830203a DCB ": 0x"
000a04 0a783325 DCB "%3x\n"
000a08 00000000 DCB "\0\0\0\0"
ENDP
AREA ||.data||, DATA, ALIGN=2
||.data$0||
func_S5X532_test
DCD S5X532_WriteByte
DCD ||.constdata$1||
DCD S5X532_ReadByte
DCD ||.constdata$1||+0x27
DCD S5X532_WriteBlock
DCD ||.constdata$1||+0x4d
DCD S5X532_ReadBlock
DCD ||.constdata$1||+0x7d
DCD 0x00000000
DCD 0x00000000
AREA ||.constdata||, DATA, READONLY, ALIGN=0
||.constdata$1||
DCB 0x57,0x72,0x69,0x74
DCB 0x65,0x20,0x31,0x20
DCB 0x62,0x79,0x74,0x65
DCB 0x20,0x64,0x61,0x74
DCB 0x61,0x20,0x69,0x6e
DCB 0x74,0x6f,0x20,0x53
DCB 0x35,0x58,0x35,0x33
DCB 0x32,0x20,0x72,0x65
DCB 0x67,0x69,0x73,0x74
DCB 0x65,0x72,0x00
DCB 0x52,0x65,0x61,0x64
DCB 0x20,0x31,0x20,0x62
DCB 0x79,0x74,0x65,0x20
DCB 0x64,0x61,0x74,0x61
DCB 0x20,0x66,0x72,0x6f
DCB 0x6d,0x20,0x53,0x35
DCB 0x58,0x35,0x33,0x32
DCB 0x20,0x72,0x65,0x67
DCB 0x69,0x73,0x74,0x65
DCB 0x72,0x00
DCB 0x57,0x72,0x69,0x74
DCB 0x65,0x20,0x61,0x20
DCB 0x62,0x6c,0x6f,0x63
DCB 0x6b,0x20,0x6f,0x66
DCB 0x20,0x62,0x79,0x74
DCB 0x65,0x20,0x64,0x61
DCB 0x74,0x61,0x20,0x69
DCB 0x6e,0x74,0x6f,0x20
DCB 0x53,0x35,0x58,0x35
DCB 0x33,0x32,0x20,0x72
DCB 0x65,0x67,0x69,0x73
DCB 0x74,0x65,0x72,0x00
DCB 0x52,0x65,0x61,0x64
DCB 0x20,0x61,0x20,0x62
DCB 0x6c,0x6f,0x63,0x6b
DCB 0x20,0x6f,0x66,0x20
DCB 0x62,0x79,0x74,0x65
DCB 0x20,0x64,0x61,0x74
DCB 0x61,0x20,0x66,0x72
DCB 0x6f,0x6d,0x20,0x53
DCB 0x35,0x58,0x35,0x33
DCB 0x32,0x20,0x72,0x65
DCB 0x67,0x69,0x73,0x74
DCB 0x65,0x72,0x00
S5X532_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,0x21,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,0x82
DCB 0x75,0x05
AREA ||.bss||, NOINIT, ALIGN=2
||rdata@S5X532_ReadByte_0||
||.bss$2||
% 8
||rdata@S5X532_WriteBlock_0||
% 256
||rdata@S5X532_ReadBlock_0||
% 256
_iicData
% 32
_iicDataCount
% 4
_iicStatus
% 4
_iicMode
% 4
_iicPt
% 4
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -