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

📄 lcdlib.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 842]

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

                          AREA ||.text||, CODE, READONLY

                  LcdBGInit PROC
;;;42     void LcdBGInit(U32 displaytype)
;;;43     {
                  |L1.0|
000000  e92d4ff1          STMFD    sp!,{r0,r4-r11,lr}
000004  e24dd014          SUB      sp,sp,#0x14
;;;44     	U32 pagewidth, offsize, bytefactor;
;;;45     	U32 clkval, pnrmode, bppmode;
;;;46     	U32 vbpd, vfpd, vspw, hbpd, hfpd, hspw;
;;;47     	U32 lineval, hozval;
;;;48     	U32 hwswp;
;;;49     	U32 framebuffer1, framebuffer2;
;;;50     
;;;51     	if(displaytype&0x1000)
000008  e59d0014          LDR      r0,[sp,#0x14]
00000c  e3100d40          TST      r0,#0x1000
000010  0a000002          BEQ      |L1.32|
;;;52     		pnrmode=PNRMODE_SER_RGB;
000014  e3a0b002          MOV      r11,#2
000018  e58db00c          STR      r11,[sp,#0xc]
00001c  ea000001          B        |L1.40|
;;;53     	else
;;;54     		pnrmode=PNRMODE_PAR_RGB;
                  |L1.32|
000020  e3a0b000          MOV      r11,#0
000024  e58db00c          STR      r11,[sp,#0xc]
;;;55     
;;;56     	switch(displaytype&0xf) {
                  |L1.40|
000028  e59d0014          LDR      r0,[sp,#0x14]
00002c  e200000f          AND      r0,r0,#0xf
000030  e3500007          CMP      r0,#7
000034  908ff100          ADDLS    pc,pc,r0,LSL #2
000038  ea00001f          B        |L1.188|
00003c  ea000006          B        |L1.92|
000040  ea000008          B        |L1.104|
000044  ea00000a          B        |L1.116|
000048  ea00000c          B        |L1.128|
00004c  ea00000e          B        |L1.140|
000050  ea000010          B        |L1.152|
000054  ea000012          B        |L1.164|
000058  ea000014          B        |L1.176|
;;;57     		case 0x0:
;;;58     			bytefactor=1;
                  |L1.92|
00005c  e3a01001          MOV      r1,#1
;;;59     			bppmode=BPPMODE_1BPP;
000060  e3a0c000          MOV      r12,#0
;;;60     			break;
000064  ea000015          B        |L1.192|
;;;61     		case 0x1:
;;;62     			bytefactor=2;
                  |L1.104|
000068  e3a01002          MOV      r1,#2
;;;63     			bppmode=BPPMODE_2BPP;
00006c  e3a0c001          MOV      r12,#1
;;;64     			break;
000070  ea000012          B        |L1.192|
;;;65     		case 0x2:
;;;66     			bytefactor=4;
                  |L1.116|
000074  e3a01004          MOV      r1,#4
;;;67     			bppmode=BPPMODE_4BPP;
000078  e3a0c002          MOV      r12,#2
;;;68     			break;
00007c  ea00000f          B        |L1.192|
;;;69     		case 0x3:
;;;70     			bytefactor=8;
                  |L1.128|
000080  e3a01008          MOV      r1,#8
;;;71     			bppmode=BPPMODE_8BPP;
000084  e3a0c003          MOV      r12,#3
;;;72     			break;
000088  ea00000c          B        |L1.192|
;;;73     		case 0x4:	
;;;74     			bytefactor=8;
                  |L1.140|
00008c  e3a01008          MOV      r1,#8
;;;75     			bppmode=BPPMODE_8BPPNP;
000090  e3a0c004          MOV      r12,#4
;;;76     			break;
000094  ea000009          B        |L1.192|
;;;77     		case 0x5:
;;;78     			bytefactor=16;
                  |L1.152|
000098  e3a01010          MOV      r1,#0x10
;;;79     			bppmode=BPPMODE_16BPP565;
00009c  e3a0c005          MOV      r12,#5
;;;80     			break;
0000a0  ea000006          B        |L1.192|
;;;81     		case 0x6:
;;;82     			bytefactor=16;
                  |L1.164|
0000a4  e3a01010          MOV      r1,#0x10
;;;83     			bppmode=BPPMODE_16BPP5551;
0000a8  e3a0c006          MOV      r12,#6
;;;84     			break;
0000ac  ea000003          B        |L1.192|
;;;85     		case 0x7:
;;;86     			bytefactor=32;
                  |L1.176|
0000b0  e3a01020          MOV      r1,#0x20
;;;87     			bppmode=BPPMODE_18BPP;
0000b4  e3a0c007          MOV      r12,#7
;;;88     			break;			
0000b8  ea000000          B        |L1.192|
;;;89     		default:
;;;90     			break;
                  |L1.188|
0000bc  e1a00000          NOP      
;;;91     	}		
;;;92     			
;;;93     	switch(displaytype&0xff00) {
                  |L1.192|
0000c0  e59d0014          LDR      r0,[sp,#0x14]
0000c4  e2000cff          AND      r0,r0,#0xff00
0000c8  e3500d88          CMP      r0,#0x2200
0000cc  0a00002c          BEQ      |L1.388|
0000d0  ca000004          BGT      |L1.232|
0000d4  e3500d44          CMP      r0,#0x1100
0000d8  0a000007          BEQ      |L1.252|
0000dc  e3500d84          CMP      r0,#0x2100
0000e0  1a00005a          BNE      |L1.592|
0000e4  ea000015          B        |L1.320|
                  |L1.232|
0000e8  e3500d90          CMP      r0,#0x2400
0000ec  0a000035          BEQ      |L1.456|
0000f0  e3500da0          CMP      r0,#0x2800
0000f4  1a000055          BNE      |L1.592|
0000f8  ea000043          B        |L1.524|
;;;94     		case 0x1100:
;;;95     			clkval=CLKVAL_SER_176220;
                  |L1.252|
0000fc  e3a0b006          MOV      r11,#6
000100  e58db010          STR      r11,[sp,#0x10]
;;;96     			vbpd=VBPD_176220;
000104  e3a04004          MOV      r4,#4
;;;97     			vfpd=VFPD_176220;
000108  e3a05006          MOV      r5,#6
;;;98     			vspw=VSPW_176220;
00010c  e3a06003          MOV      r6,#3
;;;99     			hbpd=HBPD_176220;
000110  e3a0700b          MOV      r7,#0xb
;;;100    			hfpd=HFPD_176220;
000114  e3a08017          MOV      r8,#0x17
;;;101    			hspw=HSPW_176220;
000118  e3a0900b          MOV      r9,#0xb
;;;102    			lineval=LINEVAL_176220;
00011c  e3a0e0bf          MOV      lr,#0xbf
;;;103    			hozval=HOZVAL_176220;
000120  e3a0a0af          MOV      r10,#0xaf
;;;104    			pagewidth=BG_XSIZE_176220*bytefactor/8;
000124  e3a000b0          MOV      r0,#0xb0
000128  e00b0190          MUL      r11,r0,r1
00012c  e1a031ab          MOV      r3,r11,LSR #3
;;;105    			offsize=(BG_VXSIZE_176220-BG_XSIZE_176220)*bytefactor/8;
000130  e3a000b0          MOV      r0,#0xb0
000134  e00b0190          MUL      r11,r0,r1
000138  e1a021ab          MOV      r2,r11,LSR #3
;;;106    			break;
00013c  ea000044          B        |L1.596|
;;;107    		case 0x2100:	
;;;108    			clkval=CLKVAL_PAR_176220;
                  |L1.320|
000140  e3a0b006          MOV      r11,#6
000144  e58db010          STR      r11,[sp,#0x10]
;;;109    			vbpd=VBPD_176220;
000148  e3a04004          MOV      r4,#4
;;;110    			vfpd=VFPD_176220;
00014c  e3a05006          MOV      r5,#6
;;;111    			vspw=VSPW_176220;
000150  e3a06003          MOV      r6,#3
;;;112    			hbpd=HBPD_176220;
000154  e3a0700b          MOV      r7,#0xb
;;;113    			hfpd=HFPD_176220;
000158  e3a08017          MOV      r8,#0x17
;;;114    			hspw=HSPW_176220;
00015c  e3a0900b          MOV      r9,#0xb
;;;115    			lineval=LINEVAL_176220;
000160  e3a0e0bf          MOV      lr,#0xbf
;;;116    			hozval=HOZVAL_176220;
000164  e3a0a0af          MOV      r10,#0xaf
;;;117    			pagewidth=BG_XSIZE_176220*bytefactor/8;
000168  e3a000b0          MOV      r0,#0xb0
00016c  e00b0190          MUL      r11,r0,r1
000170  e1a031ab          MOV      r3,r11,LSR #3
;;;118    			offsize=(BG_VXSIZE_176220-BG_XSIZE_176220)*bytefactor/8;			
000174  e3a000b0          MOV      r0,#0xb0
000178  e00b0190          MUL      r11,r0,r1
00017c  e1a021ab          MOV      r2,r11,LSR #3
;;;119    			break;
000180  ea000033          B        |L1.596|
;;;120    		case 0x2200:
;;;121    			clkval=CLKVAL_PAR_240320;
                  |L1.388|
000184  e3a0b008          MOV      r11,#8
000188  e58db010          STR      r11,[sp,#0x10]
;;;122    			vbpd=VBPD_240320;
00018c  e3a04008          MOV      r4,#8
;;;123    			vfpd=VFPD_240320;
000190  e3a05009          MOV      r5,#9
;;;124    			vspw=VSPW_240320;
000194  e3a06002          MOV      r6,#2
;;;125    			hbpd=HBPD_240320;
000198  e3a07000          MOV      r7,#0
;;;126    			hfpd=HFPD_240320;
00019c  e3a08005          MOV      r8,#5
;;;127    			hspw=HSPW_240320;
0001a0  e3a09002          MOV      r9,#2
;;;128    			lineval=LINEVAL_240320;
0001a4  e59fe8dc          LDR      lr,|L1.2696|
;;;129    			hozval=HOZVAL_240320;
0001a8  e3a0a0ef          MOV      r10,#0xef
;;;130    			pagewidth=BG_XSIZE_240320*bytefactor/8;
0001ac  e3a000f0          MOV      r0,#0xf0
0001b0  e00b0190          MUL      r11,r0,r1
0001b4  e1a031ab          MOV      r3,r11,LSR #3
;;;131    			offsize=(BG_VXSIZE_240320-BG_XSIZE_240320)*bytefactor/8;			
0001b8  e3a000f0          MOV      r0,#0xf0
0001bc  e00b0190          MUL      r11,r0,r1
0001c0  e1a021ab          MOV      r2,r11,LSR #3
;;;132    			break;
0001c4  ea000022          B        |L1.596|
;;;133    		case 0x2400:
;;;134    			clkval=CLKVAL_PAR_640480;
                  |L1.456|
0001c8  e3a0b001          MOV      r11,#1
0001cc  e58db010          STR      r11,[sp,#0x10]
;;;135    			vbpd=VBPD_640480;
0001d0  e3a04020          MOV      r4,#0x20
;;;136    			vfpd=VFPD_640480;
0001d4  e3a05009          MOV      r5,#9
;;;137    			vspw=VSPW_640480;
0001d8  e3a06001          MOV      r6,#1
;;;138    			hbpd=HBPD_640480;
0001dc  e3a0702f          MOV      r7,#0x2f
;;;139    			hfpd=HFPD_640480;
0001e0  e3a0800f          MOV      r8,#0xf
;;;140    			hspw=HSPW_640480;
0001e4  e3a0905f          MOV      r9,#0x5f
;;;141    			lineval=LINEVAL_640480;
0001e8  e287ef6c          ADD      lr,r7,#0x1b0
;;;142    			hozval=HOZVAL_640480;
0001ec  e287af94          ADD      r10,r7,#0x250
;;;143    			pagewidth=BG_XSIZE_640480*bytefactor/8;
0001f0  e3a00fa0          MOV      r0,#0x280
0001f4  e00b0190          MUL      r11,r0,r1
0001f8  e1a031ab          MOV      r3,r11,LSR #3
;;;144    			offsize=(BG_VXSIZE_640480-BG_XSIZE_640480)*bytefactor/8;			
0001fc  e3a00fa0          MOV      r0,#0x280
000200  e00b0190          MUL      r11,r0,r1
000204  e1a021ab          MOV      r2,r11,LSR #3
;;;145    			break;
000208  ea000011          B        |L1.596|
;;;146    		case 0x2800:
;;;147    			clkval=CLKVAL_PAR_800600;
                  |L1.524|
00020c  e3a0b001          MOV      r11,#1
000210  e58db010          STR      r11,[sp,#0x10]
;;;148    			vbpd=VBPD_800600;
000214  e3a04020          MOV      r4,#0x20
;;;149    			vfpd=VFPD_800600;
000218  e3a05009          MOV      r5,#9
;;;150    			vspw=VSPW_800600;
00021c  e3a06001          MOV      r6,#1
;;;151    			hbpd=HBPD_800600;
000220  e3a0702f          MOV      r7,#0x2f
;;;152    			hfpd=HFPD_800600;
000224  e3a0800f          MOV      r8,#0xf
;;;153    			hspw=HSPW_800600;
000228  e3a0905f          MOV      r9,#0x5f
;;;154    			lineval=LINEVAL_800600;
00022c  e287ef8a          ADD      lr,r7,#0x228
;;;155    			hozval=HOZVAL_800600;
000230  e287afbc          ADD      r10,r7,#0x2f0
;;;156    			pagewidth=BG_XSIZE_800600*bytefactor/8;
000234  e3a00fc8          MOV      r0,#0x320
000238  e00b0190          MUL      r11,r0,r1
00023c  e1a031ab          MOV      r3,r11,LSR #3
;;;157    			offsize=(BG_VXSIZE_800600-BG_XSIZE_800600)*bytefactor/8;			
000240  e3a00fc8          MOV      r0,#0x320
000244  e00b0190          MUL      r11,r0,r1
000248  e1a021ab          MOV      r2,r11,LSR #3
;;;158    			break;
00024c  ea000000          B        |L1.596|
;;;159    		default:
;;;160    			break;
                  |L1.592|
000250  e1a00000          NOP      
;;;161    	}	
;;;162    
;;;163    	framebuffer1=LCDFRAMEBUFFERBG1;
                  |L1.596|
000254  e3a0054c          MOV      r0,#0x13000000
000258  e58d0004          STR      r0,[sp,#4]
;;;164    	framebuffer2=LCDFRAMEBUFFERBG2;
00025c  e2800980          ADD      r0,r0,#0x200000
000260  e58d0000          STR      r0,[sp,#0]
;;;165    
;;;166    #if 1	
;;;167    	hwswp=0;	
000264  e3a00000          MOV      r0,#0
000268  e58d0008          STR      r0,[sp,#8]
;;;168    	if(displaytype&MODE_NO_VIRTUAL_16B) {
00026c  e59d0014          LDR      r0,[sp,#0x14]
000270  e3100010          TST      r0,#0x10
000274  0a000002          BEQ      |L1.644|
;;;169    		offsize=0;
000278  e3a02000          MOV      r2,#0
;;;170    		hwswp=1;
00027c  e3a00001          MOV      r0,#1

⌨️ 快捷键说明

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