📄 mobile_demo.txt
字号:
000b98 e25ef004 SUBS pc,lr,#4
ENDP
Cam_Demo_DctqIsr PROC
;;;984 void __irq Cam_Demo_DctqIsr(void)
;;;985 {
000b9c e92d0007 STMFD sp!,{r0-r2}
;;;986 U32 dctq_flag;
;;;987
;;;988 ClearPending(BIT_DCTQ);
000ba0 e3a01040 MOV r1,#0x40
000ba4 e51f29c8 LDR r2,|L1.484|
000ba8 e5821000 STR r1,[r2,#0]
000bac e1c21001 BIC r1,r2,r1
000bb0 e5911010 LDR r1,[r1,#0x10]
000bb4 e5821010 STR r1,[r2,#0x10]
000bb8 e1a01002 MOV r1,r2
000bbc e5911010 LDR r1,[r1,#0x10]
;;;989
;;;990
;;;991 dctq_flag = _DCTQ_FLAG;
000bc0 e51f1198 LDR r1,|L1.2608|
000bc4 e5911000 LDR r1,[r1,#0] ; _DCTQ_FLAG
000bc8 e1a00001 MOV r0,r1
;;;992
;;;993 switch(dctq_flag){
000bcc e3500010 CMP r0,#0x10
000bd0 0a000006 BEQ |L1.3056|
000bd4 e3500020 CMP r0,#0x20
000bd8 0a000008 BEQ |L1.3072|
000bdc e3500030 CMP r0,#0x30
000be0 0a00000a BEQ |L1.3088|
000be4 e3500040 CMP r0,#0x40
000be8 1a000010 BNE |L1.3120|
000bec ea00000b B |L1.3104|
;;;994 case 0x00000010:
;;;995 _DCTQ_FLAG = 0x00000011;
|L1.3056|
000bf0 e3a01011 MOV r1,#0x11
000bf4 e51f21cc LDR r2,|L1.2608|
000bf8 e5821000 STR r1,[r2,#0] ; _DCTQ_FLAG
;;;996 break;
000bfc ea00000b B |L1.3120|
;;;997 case 0x00000020:
;;;998 _DCTQ_FLAG = 0x00000021;
|L1.3072|
000c00 e3a01021 MOV r1,#0x21
000c04 e51f21dc LDR r2,|L1.2608|
000c08 e5821000 STR r1,[r2,#0] ; _DCTQ_FLAG
;;;999 break;
000c0c ea000007 B |L1.3120|
;;;1000 case 0x00000030:
;;;1001 _DCTQ_FLAG = 0x00000031;
|L1.3088|
000c10 e3a01031 MOV r1,#0x31
000c14 e51f21ec LDR r2,|L1.2608|
000c18 e5821000 STR r1,[r2,#0] ; _DCTQ_FLAG
;;;1002 break;
000c1c ea000003 B |L1.3120|
;;;1003 case 0x00000040:
;;;1004 _DCTQ_FLAG = 0x00000041;
|L1.3104|
000c20 e3a01041 MOV r1,#0x41
000c24 e51f21fc LDR r2,|L1.2608|
000c28 e5821000 STR r1,[r2,#0] ; _DCTQ_FLAG
;;;1005 break;
000c2c e1a00000 NOP
;;;1006 }
;;;1007 //printf("{d}");
;;;1008 //FdStartMe(0,1);
;;;1009 }
|L1.3120|
000c30 e8bd0007 LDMFD sp!,{r0-r2}
000c34 e25ef004 SUBS pc,lr,#4
ENDP
Fim20DemoIsrUnmask PROC
;;;580 void Fim20DemoIsrUnmask(void)
;;;581 {
000c38 e3e00000 MVN r0,#0
;;;582 ClearPending(BIT_ALLMSK);
000c3c e51f1a60 LDR r1,|L1.484|
000c40 e5810000 STR r0,[r1,#0]
000c44 e0010000 AND r0,r1,r0
000c48 e5900010 LDR r0,[r0,#0x10]
000c4c e5810010 STR r0,[r1,#0x10]
000c50 e1a00001 MOV r0,r1
000c54 e5900010 LDR r0,[r0,#0x10]
;;;583 //rSUBSRCPND |= (BIT_SUB_VLX | BIT_SUB_POST);
;;;584 rSUBSRCPND |= BIT_SUB_POST;
000c58 e1a00001 MOV r0,r1
000c5c e5900018 LDR r0,[r0,#0x18]
000c60 e3800c80 ORR r0,r0,#0x8000
000c64 e5810018 STR r0,[r1,#0x18]
;;;585
;;;586 pISR_DCTQ=(U32)Cam_Demo_DctqIsr;
000c68 e59f02bc LDR r0,|L1.3884|
000c6c e51f1574 LDR r1,|L1.1792|
000c70 e5810f38 STR r0,[r1,#0xf38]
;;;587 rINTMSK&=~BIT_DCTQ;
000c74 e51f0a98 LDR r0,|L1.484|
000c78 e5900008 LDR r0,[r0,#8]
000c7c e3c00040 BIC r0,r0,#0x40
000c80 e51f1aa4 LDR r1,|L1.484|
000c84 e5810008 STR r0,[r1,#8]
;;;588
;;;589 pISR_ME=(U32)Cam_Demo_MeIsr;
000c88 e59f02a0 LDR r0,|L1.3888|
000c8c e51f1594 LDR r1,|L1.1792|
000c90 e5810f40 STR r0,[r1,#0xf40]
;;;590 rINTMSK&=~BIT_ME;
000c94 e51f0ab8 LDR r0,|L1.484|
000c98 e5900008 LDR r0,[r0,#8]
000c9c e3c00f40 BIC r0,r0,#0x100
000ca0 e51f1ac4 LDR r1,|L1.484|
000ca4 e5810008 STR r0,[r1,#8]
;;;591
;;;592 pISR_MC=(U32)Cam_Demo_McIsr;
000ca8 e59f0284 LDR r0,|L1.3892|
000cac e51f15b4 LDR r1,|L1.1792|
000cb0 e5810f3c STR r0,[r1,#0xf3c]
;;;593 rINTMSK&=~BIT_MC;
000cb4 e51f0ad8 LDR r0,|L1.484|
000cb8 e5900008 LDR r0,[r0,#8]
000cbc e3c00080 BIC r0,r0,#0x80
000cc0 e51f1ae4 LDR r1,|L1.484|
000cc4 e5810008 STR r0,[r1,#8]
;;;594
;;;595 pISR_VLX_SPI1=(U32)Cam_Demo_VlxIsr;
000cc8 e59f0268 LDR r0,|L1.3896|
000ccc e51f15d4 LDR r1,|L1.1792|
000cd0 e5810f94 STR r0,[r1,#0xf94]
;;;596 rINTSUBMSK &= ~ BIT_SUB_VLX;
000cd4 e51f0af8 LDR r0,|L1.484|
000cd8 e590001c LDR r0,[r0,#0x1c]
000cdc e3c00740 BIC r0,r0,#0x1000000
000ce0 e51f1b04 LDR r1,|L1.484|
000ce4 e581001c STR r0,[r1,#0x1c]
;;;597 rINTMSK&=~BIT_VLX_SPI1;
000ce8 e1a00001 MOV r0,r1
000cec e5900008 LDR r0,[r0,#8]
000cf0 e3c00580 BIC r0,r0,#0x20000000
000cf4 e5810008 STR r0,[r1,#8]
;;;598
;;;599 pISR_CAMIF_CODEC =(U32)Cam_Demo_Cam_CodecIsr;
000cf8 e59f023c LDR r0,|L1.3900|
000cfc e51f1604 LDR r1,|L1.1792|
000d00 e5810f5c STR r0,[r1,#0xf5c]
;;;600 rINTMSK &=~BIT_CAMIF_CODEC;
000d04 e51f0b28 LDR r0,|L1.484|
000d08 e5900008 LDR r0,[r0,#8]
000d0c e3c00c80 BIC r0,r0,#0x8000
000d10 e51f1b34 LDR r1,|L1.484|
000d14 e5810008 STR r0,[r1,#8]
;;;601
;;;602 pISR_LCD_POST =(U32)Cam_Demo_PostIsr;
000d18 e59f0220 LDR r0,|L1.3904|
000d1c e51f1624 LDR r1,|L1.1792|
000d20 e5810f58 STR r0,[r1,#0xf58]
;;;603 rINTSUBMSK &= ~(BIT_SUB_POST); // SUB-INT POST Enable
000d24 e51f0b48 LDR r0,|L1.484|
000d28 e590001c LDR r0,[r0,#0x1c]
000d2c e3c00c80 BIC r0,r0,#0x8000
000d30 e51f1b54 LDR r1,|L1.484|
000d34 e581001c STR r0,[r1,#0x1c]
;;;604 rINTMSK &= ~(BIT_LCD_POST); // INT_POST_LCD Enable
000d38 e1a00001 MOV r0,r1
000d3c e5900008 LDR r0,[r0,#8]
000d40 e3c00c40 BIC r0,r0,#0x4000
000d44 e5810008 STR r0,[r1,#8]
;;;605 rMODE |= (1<<7);//Post Interrupt Enable
000d48 e281069f ADD r0,r1,#0x9f00000
000d4c e5900000 LDR r0,[r0,#0]
000d50 e3800080 ORR r0,r0,#0x80
000d54 e281169f ADD r1,r1,#0x9f00000
000d58 e5810000 STR r0,[r1,#0]
;;;606
;;;607 }
000d5c e12fff1e BX lr
ENDP
AHB_I_Bus_Test PROC
;;;127 void AHB_I_Bus_Test(void)
;;;128 {
000d60 e92d4010 STMFD sp!,{r4,lr}
000d64 e24dd030 SUB sp,sp,#0x30
;;;129 int i;
;;;130 U32 pVlcData;
;;;131
;;;132 // step 1 : Initialize ISR
;;;133 Fim20DemoIsrUnmask();
000d68 ebfffffe BL Fim20DemoIsrUnmask
;;;134 // step 2 : Initialize memory map
;;;135 Fim20DemoMem();
000d6c ebfffffe BL Fim20DemoMem
;;;136 // step 3 : start scheduler
;;;137
;;;138 printf("ref[0] = %08x\n",refImage[0]);
000d70 e59f11cc LDR r1,|L1.3908|
000d74 e1a0000d MOV r0,sp
000d78 e891101c LDMIA r1,{r2-r4,r12}
000d7c e880101c STMIA r0,{r2-r4,r12}
000d80 e51f0634 LDR r0,|L1.1876|
000d84 e890000e LDMIA r0,{r1-r3} ; refImage, refImage, refImage
000d88 e28f0f6e ADR r0,|L1.3912|
000d8c ebfffffe BL _printf
;;;139 printf("cur[3] = %08x, pre[3]=%08x\n", currImage2[3],refImage[3]);
000d90 e3a0201c MOV r2,#0x1c
000d94 e59f11bc LDR r1,|L1.3928|
000d98 e28d0010 ADD r0,sp,#0x10
000d9c ebfffffe BL __rt_memcpy_w
000da0 e59f11b4 LDR r1,|L1.3932|
000da4 e1a0000d MOV r0,sp
000da8 e891101c LDMIA r1,{r2-r4,r12}
000dac e880101c STMIA r0,{r2-r4,r12}
000db0 e51f068c LDR r0,|L1.1836|
000db4 e2803054 ADD r3,r0,#0x54
000db8 e893000e LDMIA r3,{r1-r3} ; currImage2, currImage2, currImage2
000dbc e28f0f67 ADR r0,|L1.3936|
000dc0 ebfffffe BL _printf
;;;140 Uart_Printf("FC=%d\n", (rMODE&(0x3<<10))>>10);
000dc4 e59f01b0 LDR r0,|L1.3964|
000dc8 e5900000 LDR r0,[r0,#0]
000dcc e1a00a00 MOV r0,r0,LSL #20
000dd0 e1a01f20 MOV r1,r0,LSR #30
000dd4 e28f0f69 ADR r0,|L1.3968|
000dd8 ebfffffe BL _printf
;;;141 //Uart_Printf("rpriority=%d, %d\n", rPRIORITY0, rPRIORITY1);
;;;142 //rPRIORITY0=rPRIORITY1=0x1;
;;;143 //Fim20Scheduler();
;;;144 // Post_Envid_On();
;;;145
;;;146 // printf("dkdkdkd\n");
;;;147 // Uart_Printf("FC=%d\n", (rMODE&(0x3<<10))>>10);
;;;148
;;;149 Uart_TxEmpty(0);
000ddc e3a00000 MOV r0,#0
000de0 ebfffffe BL Uart_TxEmpty
;;;150
;;;151
;;;152 PostInit(384, 320, 352, 288, 16, 16,
000de4 e3a03011 MOV r3,#0x11
000de8 e3a0254c MOV r2,#0x13000000
000dec e3a01544 MOV r1,#0x11000000
000df0 e3a00000 MOV r0,#0
000df4 e28d401c ADD r4,sp,#0x1c
000df8 e884000f STMIA r4,{r0-r3}
000dfc e3a03000 MOV r3,#0
000e00 e3a02f50 MOV r2,#0x140
000e04 e3a010f0 MOV r1,#0xf0
000e08 e3a00f50 MOV r0,#0x140
000e0c e28d400c ADD r4,sp,#0xc
000e10 e884000f STMIA r4,{r0-r3}
000e14 e3a030f0 MOV r3,#0xf0
000e18 e3a02010 MOV r2,#0x10
000e1c e58d2000 STR r2,[sp,#0]
000e20 e98d000c STMIB sp,{r2,r3}
000e24 e3a03f48 MOV r3,#0x120
000e28 e3a02f58 MOV r2,#0x160
000e2c e3a01f50 MOV r1,#0x140
000e30 e3a00f60 MOV r0,#0x180
000e34 ebfffffe BL PostInit
;;;153 240, 320, 240, 320, 0, 0,
;;;154 0x11000000, LCDFRAMEBUFFERBG1, POST_IN_YCBYCR420|POST_OUT_RGB16B);
;;;155
;;;156 LcdEnvidOnOff(1);
000e38 e3a00001 MOV r0,#1
000e3c ebfffffe BL LcdEnvidOnOff
;;;157
;;;158
;;;159 Init_FIMV20_Isr();
000e40 ebfffffe BL Init_FIMV20_Isr
;;;160
;;;161 pVlcData=(U32 *)0x12300000;
000e44 e59f413c LDR r4,|L1.3976|
;;;162 VlcConfig4Dctq(352,(U32)pVlcData,(352/16)*(284/16),0);
000e48 e3a03000 MOV r3,#0
000e4c e59f2138 LDR r2,|L1.3980|
000e50 e1a01004 MOV r1,r4
000e54 e3a00f58 MOV r0,#0x160
000e58 ebfffffe BL VlcConfig4Dctq
;;;163 //DctqEngine(&currImage,&prevImage,&dctqCoeff,pQInfo,DCTQ_WITH_VLC_COEFF_WRITE);
;;;164
;;;165
;;;166 //DctqEngine(&currImage, &refImage[prevImageNum], &dctqCoeff[frameNum], pQInfo, DCTQ_FRAME_START_MODE);
;;;167 DctqEngine(&currImage, &refImage[prevImageNum], &dctqCoeff[frameNum], pQInfo, DCTQ_WITH_VLC_COEFF_WRITE);
000e5c e3a03002 MOV r3,#2
000e60 e59f0128 LDR r0,|L1.3984|
000e64 e58d3000 STR r3,[sp,#0]
000e68 e5900000 LDR r0,[r0,#0] ; frameNum
000e6c e0600180 RSB r0,r0,r0,LSL #3
000e70 e51f3720 LDR r3,|L1.1880|
000e74 e0832100 ADD r2,r3,r0,LSL #2
000e78 e59f0114 LDR r0,|L1.3988|
000e7c e5900000 LDR r0,[r0,#0] ; prevImageNum
000e80 e0600180 RSB r0,r0,r0,LSL #3
000e84 e51f3738 LDR r3,|L1.1876|
000e88 e0831100 ADD r1,r3,r0,LSL #2
000e8c e51f0724 LDR r0,|L1.1904|
000e90 e5903000 LDR r3,[r0,#0] ; pQInfo
000e94 e59f00fc LDR r0,|L1.3992|
000e98 ebfffffe BL DctqEngine
;;;168 MeEngine(&currImage, &refImage[prevImageNum], meVector[frameNum%4], 0);
000e9c e59f00ec LDR r0,|L1.3984|
000ea0 e5900000 LDR r0,[r0,#0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -