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

📄 post.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\post.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  PostDisplayFunction PROC
;;;47     void PostDisplayFunction(void)
;;;48     {
                  |L1.0|
000000  e92d4010          STMFD    sp!,{r4,lr}
;;;49     	int i;
;;;50     	
;;;51     	i=0;	
000004  e3a04000          MOV      r4,#0
;;;52     	Uart_Printf("\n\n");
000008  e28f0058          ADR      r0,|L1.104|
00000c  ebfffffe          BL       _printf
;;;53     	while(1)	{   //display menu
000010  e1a00000          NOP      
                  |L1.20|
000014  e1a00000          NOP      
;;;54     	    Uart_Printf("%2d:%s",i,post_function[i][1]);
000018  e59f004c          LDR      r0,|L1.108|
00001c  e0800184          ADD      r0,r0,r4,LSL #3
000020  e1a01004          MOV      r1,r4
000024  e5902004          LDR      r2,[r0,#4]
000028  e28f0040          ADR      r0,|L1.112|
00002c  ebfffffe          BL       _printf
;;;55     	    i++;
000030  e2844001          ADD      r4,r4,#1
;;;56     	    if((int)(post_function[i][0])==0) {
000034  e59f0030          LDR      r0,|L1.108|
000038  e7900184          LDR      r0,[r0,r4,LSL #3]
00003c  e3500000          CMP      r0,#0
000040  1a000002          BNE      |L1.80|
;;;57     			Uart_Printf("\n");
000044  e28f002c          ADR      r0,|L1.120|
000048  ebfffffe          BL       _printf
;;;58     			break;
00004c  ea000004          B        |L1.100|
;;;59     	    }
;;;60     	    if((i%2)==0) Uart_Printf("\n");
                  |L1.80|
000050  e3140001          TST      r4,#1
000054  1a000001          BNE      |L1.96|
000058  e28f0018          ADR      r0,|L1.120|
00005c  ebfffffe          BL       _printf
;;;61     	}
                  |L1.96|
000060  eaffffeb          B        |L1.20|
;;;62     }
                  |L1.100|
000064  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.104|
000068  00000a0a          DCB      "\n\n\0\0"
                  |L1.108|
00006c  00000000          DCD      post_function
                  |L1.112|
000070  3a643225          DCB      "%2d:"
000074  00007325          DCB      "%s\0\0"
                  |L1.120|
000078  0000000a          DCB      "\n\0\0\0"
                          ENDP

                  Ch27_POST PROC
;;;64     void Ch27_POST(void)
;;;65     {
00007c  e92d4010          STMFD    sp!,{r4,lr}
;;;66     	int i;
;;;67     
;;;68     	Uart_Printf("\n----Test of Post Processor----\n");
000080  e28f0054          ADR      r0,|L1.220|
000084  ebfffffe          BL       _printf
;;;69     
;;;70     	//LCD Initializtion
;;;71     
;;;72     	Uart_Printf("If you want to test Post Processor, then you must download image to memory before testing\n");
000088  e59f0070          LDR      r0,|L1.256|
00008c  ebfffffe          BL       _printf
;;;73     	
;;;74     	while(1) {
000090  e1a00000          NOP      
                  |L1.148|
000094  e1a00000          NOP      
;;;75     		PostDisplayFunction();
000098  ebfffffe          BL       PostDisplayFunction
;;;76     		Uart_Printf("\nSelect(-1 to exit): ");
00009c  e28f0060          ADR      r0,|L1.260|
0000a0  ebfffffe          BL       _printf
;;;77     		i = Uart_GetIntNum();
0000a4  ebfffffe          BL       Uart_GetIntNum
0000a8  e1a04000          MOV      r4,r0
;;;78     		if(i==-1) break;
0000ac  e3740001          CMN      r4,#1
0000b0  1a000000          BNE      |L1.184|
0000b4  ea000007          B        |L1.216|
;;;79     		
;;;80     		if(i>=0 && (i<(sizeof(post_function)/8)) ) 
                  |L1.184|
0000b8  e3540000          CMP      r4,#0
0000bc  ba000004          BLT      |L1.212|
0000c0  e354000d          CMP      r4,#0xd
0000c4  2a000002          BCS      |L1.212|
;;;81     	    	( (void (*)(void)) (post_function[i][0]) )();	// execute selected function.
0000c8  e51f1064          LDR      r1,|L1.108|
0000cc  e7910184          LDR      r0,[r1,r4,LSL #3]
0000d0  e12fff30          BLX      r0
;;;82     	}
                  |L1.212|
0000d4  eaffffee          B        |L1.148|
;;;83     
;;;84     }
                  |L1.216|
0000d8  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.220|
0000dc  2d2d2d0a          DCB      "\n---"
0000e0  7365542d          DCB      "-Tes"
0000e4  666f2074          DCB      "t of"
0000e8  736f5020          DCB      " Pos"
0000ec  72502074          DCB      "t Pr"
0000f0  7365636f          DCB      "oces"
0000f4  2d726f73          DCB      "sor-"
0000f8  0a2d2d2d          DCB      "---\n"
0000fc  00000000          DCB      "\0\0\0\0"
                  |L1.256|
000100  0000023c          DCD      ||.constdata$1|| + 572
                  |L1.260|
000104  6c65530a          DCB      "\nSel"
000108  28746365          DCB      "ect("
00010c  7420312d          DCB      "-1 t"
000110  7865206f          DCB      "o ex"
000114  3a297469          DCB      "it):"
000118  00000020          DCB      " \0\0\0"
                          ENDP

                  PostStartProcessing PROC
;;;1126   void PostStartProcessing(U32 FrameCnt)
;;;1127   {
00011c  e3a01000          MOV      r1,#0
;;;1128   
;;;1129   	postProcessingDone=0;
000120  e59f25a0          LDR      r2,|L1.1736|
000124  e5821000          STR      r1,[r2,#0]  ; postProcessingDone
;;;1130   
;;;1131   	rADDRStart_Y=ADDRStartY[FrameCnt];
000128  e59f159c          LDR      r1,|L1.1740|
00012c  e7911100          LDR      r1,[r1,r0,LSL #2]
000130  e59f2598          LDR      r2,|L1.1744|
000134  e5821020          STR      r1,[r2,#0x20]
;;;1132   	rADDREnd_Y=ADDREndY[FrameCnt];
000138  e59f1594          LDR      r1,|L1.1748|
00013c  e7911100          LDR      r1,[r1,r0,LSL #2]
000140  e5821030          STR      r1,[r2,#0x30]
;;;1133       
;;;1134   	rADDRStart_Cb=ADDRStartCb[FrameCnt];
000144  e59f158c          LDR      r1,|L1.1752|
000148  e7911100          LDR      r1,[r1,r0,LSL #2]
00014c  e5821024          STR      r1,[r2,#0x24]
;;;1135   	rADDREnd_Cb=ADDREndCb[FrameCnt];
000150  e59f1584          LDR      r1,|L1.1756|
000154  e7911100          LDR      r1,[r1,r0,LSL #2]
000158  e5821034          STR      r1,[r2,#0x34]
;;;1136   	
;;;1137   	rADDRStart_Cr=ADDRStartCr[FrameCnt];
00015c  e59f157c          LDR      r1,|L1.1760|
000160  e7911100          LDR      r1,[r1,r0,LSL #2]
000164  e5821028          STR      r1,[r2,#0x28]
;;;1138   	rADDREnd_Cr=ADDREndCr[FrameCnt];
000168  e59f1574          LDR      r1,|L1.1764|
00016c  e7911100          LDR      r1,[r1,r0,LSL #2]
000170  e5821038          STR      r1,[r2,#0x38]
;;;1139       
;;;1140   	rMODE|=(1<<5);
000174  e1a01002          MOV      r1,r2
000178  e5911000          LDR      r1,[r1,#0]
00017c  e3811020          ORR      r1,r1,#0x20
000180  e5821000          STR      r1,[r2,#0]
;;;1141   }
000184  e12fff1e          BX       lr
                          ENDP

                  PostIsr PROC
;;;1113   void __irq PostIsr(void)
;;;1114   {
000188  e92d0003          STMFD    sp!,{r0,r1}
;;;1115   	rINTSUBMSK=BIT_SUB_DISP_FIFO|BIT_SUB_DISP_FRAME|BIT_SUB_POST;
00018c  e3a00946          MOV      r0,#0x118000
000190  e59f1550          LDR      r1,|L1.1768|
000194  e581001c          STR      r0,[r1,#0x1c]
;;;1116   	   
;;;1117   	rMODE &= ~(1<<6);//Clear Source in POST Processor
000198  e281069f          ADD      r0,r1,#0x9f00000
00019c  e5900000          LDR      r0,[r0,#0]
0001a0  e3c00040          BIC      r0,r0,#0x40
0001a4  e281169f          ADD      r1,r1,#0x9f00000
0001a8  e5810000          STR      r0,[r1,#0]
;;;1118   	rSUBSRCPND=BIT_SUB_POST; //Clear SUB Interrupt Source Pending.
0001ac  e3a00c80          MOV      r0,#0x8000
0001b0  e241169f          SUB      r1,r1,#0x9f00000
0001b4  e5810018          STR      r0,[r1,#0x18]
;;;1119   	ClearPending(BIT_LCD_POST);//Clear Source Pending, Interrupt Pending	   
0001b8  e3a00c40          MOV      r0,#0x4000
0001bc  e1c11000          BIC      r1,r1,r0
0001c0  e5810000          STR      r0,[r1,#0]
0001c4  e1c10000          BIC      r0,r1,r0
0001c8  e5900010          LDR      r0,[r0,#0x10]
0001cc  e5810010          STR      r0,[r1,#0x10]
0001d0  e1a00001          MOV      r0,r1
0001d4  e5900010          LDR      r0,[r0,#0x10]
;;;1120   	
;;;1121   	postProcessingDone=1;
0001d8  e3a00001          MOV      r0,#1
0001dc  e59f14e4          LDR      r1,|L1.1736|
0001e0  e5810000          STR      r0,[r1,#0]  ; postProcessingDone
;;;1122   	rINTSUBMSK&= ~(BIT_SUB_POST);
0001e4  e59f04fc          LDR      r0,|L1.1768|
0001e8  e590001c          LDR      r0,[r0,#0x1c]
0001ec  e3c00c80          BIC      r0,r0,#0x8000
0001f0  e59f14f0          LDR      r1,|L1.1768|
0001f4  e581001c          STR      r0,[r1,#0x1c]
;;;1123   }
0001f8  e8bd0003          LDMFD    sp!,{r0,r1}
0001fc  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  PostInit PROC
;;;1147   			U32 InFrameBuffer,U32 OutFrameBuffer, U32 mode)
;;;1148   {
000200  e92d4ff0          STMFD    sp!,{r4-r11,lr}
000204  e24dd03c          SUB      sp,sp,#0x3c
000208  e1a04000          MOV      r4,r0
00020c  e1a09001          MOV      r9,r1
000210  e1a06002          MOV      r6,r2
000214  e1a05003          MOV      r5,r3
000218  e59d7080          LDR      r7,[sp,#0x80]
00021c  e59da060          LDR      r10,[sp,#0x60]
000220  e59db064          LDR      r11,[sp,#0x64]
;;;1149   	U32 src420, inrgb, interleave, inrgbformat, inycformat;
;;;1150   	U32 outrgb;	
;;;1151   	U32 H_Shift, V_Shift, PreHorRatio, PreVerRatio;
;;;1152   	U32 inmultiplier, outmultiplier;
;;;1153   	U32 OffsetY, OffsetC, OffsetRGB;
;;;1154   
;;;1155       
;;;1156   	switch(mode&POST_IN_MASK) {
000224  e59d0088          LDR      r0,[sp,#0x88]
000228  e20000f0          AND      r0,r0,#0xf0
00022c  e3500040          CMP      r0,#0x40
000230  0a000022          BEQ      |L1.704|
000234  ca000004          BGT      |L1.588|
000238  e3500010          CMP      r0,#0x10
00023c  0a000007          BEQ      |L1.608|
000240  e3500020          CMP      r0,#0x20
000244  1a000041          BNE      |L1.848|
000248  ea000010          B        |L1.656|
                  |L1.588|
00024c  e3500080          CMP      r0,#0x80
000250  0a000026          BEQ      |L1.752|
000254  e35000a0          CMP      r0,#0xa0
000258  1a00003c          BNE      |L1.848|
00025c  ea00002f          B        |L1.800|
;;;1157   		case POST_IN_YCBYCR420:
;;;1158   			src420=1;
                  |L1.608|
000260  e3a00001          MOV      r0,#1
000264  e58d0038          STR      r0,[sp,#0x38]
;;;1159   			inrgb=0;
000268  e3a01000          MOV      r1,#0
00026c  e58d1034          STR      r1,[sp,#0x34]
;;;1160   			interleave=0;
000270  e3a01000          MOV      r1,#0
000274  e58d1030          STR      r1,[sp,#0x30]
;;;1161   			inrgbformat=1;
000278  e3a01001          MOV      r1,#1
00027c  e58d102c          STR      r1,[sp,#0x2c]
;;;1162   			inycformat=0;
000280  e3a01000          MOV      r1,#0
000284  e58d1028          STR      r1,[sp,#0x28]
;;;1163   			inmultiplier=1;	
000288  e3a08001          MOV      r8,#1
;;;1164   			break;
00028c  ea000032          B        |L1.860|
;;;1165   		case POST_IN_YCBYCR422:
;;;1166   			src420=0;

⌨️ 快捷键说明

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