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

📄 lcdlib.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;166    
;;;167    
;;;168        case MODE_TFT_8BIT_240320:
;;;169    	frameBuffer8BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320/4])LCDFRAMEBUFFER;
                  |L1.1440|
0005a0  e3a015c6          MOV      r1,#0x31800000
0005a4  e59f288c          LDR      r2,|L1.3640|
0005a8  e5821000          STR      r1,[r2,#0]  ; frameBuffer8BitTft240320
;;;170    	rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(11<<1)|0;
0005ac  e59f1888          LDR      r1,|L1.3644|
0005b0  e3a0244d          MOV      r2,#0x4d000000
0005b4  e5821000          STR      r1,[r2,#0]
;;;171            // TFT LCD panel,8bpp TFT,ENVID=off
;;;172    	rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
0005b8  e59f1880          LDR      r1,|L1.3648|
0005bc  e3a0244d          MOV      r2,#0x4d000000
0005c0  e5821004          STR      r1,[r2,#4]
;;;173    	rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
0005c4  e59f1878          LDR      r1,|L1.3652|
0005c8  e3a0244d          MOV      r2,#0x4d000000
0005cc  e5821008          STR      r1,[r2,#8]
;;;174    	rLCDCON4=(MVAL<<8)|(HSPW_240320);
0005d0  e59f1870          LDR      r1,|L1.3656|
0005d4  e3a0244d          MOV      r2,#0x4d000000
0005d8  e582100c          STR      r1,[r2,#0xc]
;;;175    	rLCDCON5=(1<<11)|(1<<9)|(1<<8);	//FRM5:6:5,HSYNC and VSYNC are inverted
0005dc  e3a01eb0          MOV      r1,#0xb00
0005e0  e3a0244d          MOV      r2,#0x4d000000
0005e4  e5821010          STR      r1,[r2,#0x10]
;;;176    	rLCDSADDR1=(((U32)frameBuffer8BitTft240320>>22)<<21)|M5D((U32)frameBuffer8BitTft240320>>1);
0005e8  e59f1848          LDR      r1,|L1.3640|
0005ec  e5911000          LDR      r1,[r1,#0]  ; frameBuffer8BitTft240320
0005f0  e1a01b21          MOV      r1,r1,LSR #22
0005f4  e1a01a81          MOV      r1,r1,LSL #21
0005f8  e59f2838          LDR      r2,|L1.3640|
0005fc  e5922000          LDR      r2,[r2,#0]  ; frameBuffer8BitTft240320
000600  e1a02502          MOV      r2,r2,LSL #10
000604  e18115a2          ORR      r1,r1,r2,LSR #11
000608  e3a0244d          MOV      r2,#0x4d000000
00060c  e5821014          STR      r1,[r2,#0x14]
;;;177    	rLCDSADDR2=M5D( ((U32)frameBuffer8BitTft240320+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320/1))>>1 );
000610  e59f1820          LDR      r1,|L1.3640|
000614  e5911000          LDR      r1,[r1,#0]  ; frameBuffer8BitTft240320
000618  e2811b96          ADD      r1,r1,#0x25800
00061c  e1a01501          MOV      r1,r1,LSL #10
000620  e1a015a1          MOV      r1,r1,LSR #11
000624  e3a0244d          MOV      r2,#0x4d000000
000628  e5821018          STR      r1,[r2,#0x18]
;;;178    	rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/2)<<11)|(LCD_XSIZE_TFT_240320/2);
00062c  e59f1818          LDR      r1,|L1.3660|
000630  e3a0244d          MOV      r2,#0x4d000000
000634  e582101c          STR      r1,[r2,#0x1c]
;;;179    	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000638  e3a0144d          MOV      r1,#0x4d000000
00063c  e591105c          LDR      r1,[r1,#0x5c]
000640  e3811003          ORR      r1,r1,#3
000644  e3a0244d          MOV      r2,#0x4d000000
000648  e582105c          STR      r1,[r2,#0x5c]
;;;180    	rTCONSEL&=(~7); // Disable LPC3600
00064c  e3a0144d          MOV      r1,#0x4d000000
000650  e5911060          LDR      r1,[r1,#0x60]
000654  e3c11007          BIC      r1,r1,#7
000658  e3a0244d          MOV      r2,#0x4d000000
00065c  e5821060          STR      r1,[r2,#0x60]
;;;181    	rTPAL=0; // Disable Temp Palette
000660  e3a01000          MOV      r1,#0
000664  e3a0244d          MOV      r2,#0x4d000000
000668  e5821050          STR      r1,[r2,#0x50]
;;;182        break;
00066c  ea0001d7          B        |L1.3536|
;;;183        		
;;;184        case MODE_TFT_16BIT_240320:
;;;185    	frameBuffer16BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320/2])LCDFRAMEBUFFER;
                  |L1.1648|
000670  e3a015c6          MOV      r1,#0x31800000
000674  e59f27d4          LDR      r2,|L1.3664|
000678  e5821000          STR      r1,[r2,#0]  ; frameBuffer16BitTft240320
;;;186    	rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
00067c  e59f17d0          LDR      r1,|L1.3668|
000680  e3a0244d          MOV      r2,#0x4d000000
000684  e5821000          STR      r1,[r2,#0]
;;;187        	// TFT LCD panel,12bpp TFT,ENVID=off
;;;188    	rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
000688  e59f17b0          LDR      r1,|L1.3648|
00068c  e3a0244d          MOV      r2,#0x4d000000
000690  e5821004          STR      r1,[r2,#4]
;;;189    	rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
000694  e59f17a8          LDR      r1,|L1.3652|
000698  e3a0244d          MOV      r2,#0x4d000000
00069c  e5821008          STR      r1,[r2,#8]
;;;190    	rLCDCON4=(MVAL<<8)|(HSPW_240320);
0006a0  e59f17a0          LDR      r1,|L1.3656|
0006a4  e3a0244d          MOV      r2,#0x4d000000
0006a8  e582100c          STR      r1,[r2,#0xc]
;;;191    	rLCDCON5=(1<<11)|(1<<9)|(1<<8);	//FRM5:6:5,HSYNC and VSYNC are inverted
0006ac  e3a01eb0          MOV      r1,#0xb00
0006b0  e3a0244d          MOV      r2,#0x4d000000
0006b4  e5821010          STR      r1,[r2,#0x10]
;;;192    	rLCDSADDR1=(((U32)frameBuffer16BitTft240320>>22)<<21)|M5D((U32)frameBuffer16BitTft240320>>1);
0006b8  e59f1790          LDR      r1,|L1.3664|
0006bc  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16BitTft240320
0006c0  e1a01b21          MOV      r1,r1,LSR #22
0006c4  e1a01a81          MOV      r1,r1,LSL #21
0006c8  e59f2780          LDR      r2,|L1.3664|
0006cc  e5922000          LDR      r2,[r2,#0]  ; frameBuffer16BitTft240320
0006d0  e1a02502          MOV      r2,r2,LSL #10
0006d4  e18115a2          ORR      r1,r1,r2,LSR #11
0006d8  e3a0244d          MOV      r2,#0x4d000000
0006dc  e5821014          STR      r1,[r2,#0x14]
;;;193    	rLCDSADDR2=M5D( ((U32)frameBuffer16BitTft240320+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320*2))>>1 );
0006e0  e59f1768          LDR      r1,|L1.3664|
0006e4  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16BitTft240320
0006e8  e2811a4b          ADD      r1,r1,#0x4b000
0006ec  e1a01501          MOV      r1,r1,LSL #10
0006f0  e1a015a1          MOV      r1,r1,LSR #11
0006f4  e3a0244d          MOV      r2,#0x4d000000
0006f8  e5821018          STR      r1,[r2,#0x18]
;;;194    	rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)/1)<<11)|(LCD_XSIZE_TFT_240320/1);
0006fc  e59f1720          LDR      r1,|L1.3620|
000700  e3a0244d          MOV      r2,#0x4d000000
000704  e582101c          STR      r1,[r2,#0x1c]
;;;195    	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000708  e3a0144d          MOV      r1,#0x4d000000
00070c  e591105c          LDR      r1,[r1,#0x5c]
000710  e3811003          ORR      r1,r1,#3
000714  e3a0244d          MOV      r2,#0x4d000000
000718  e582105c          STR      r1,[r2,#0x5c]
;;;196    	rTCONSEL&=(~7); // Disable LPC3600
00071c  e3a0144d          MOV      r1,#0x4d000000
000720  e5911060          LDR      r1,[r1,#0x60]
000724  e3c11007          BIC      r1,r1,#7
000728  e3a0244d          MOV      r2,#0x4d000000
00072c  e5821060          STR      r1,[r2,#0x60]
;;;197    	rTPAL=0; // Disable Temp Palette
000730  e3a01000          MOV      r1,#0
000734  e3a0244d          MOV      r2,#0x4d000000
000738  e5821050          STR      r1,[r2,#0x50]
;;;198        break;
00073c  ea0001a3          B        |L1.3536|
;;;199    
;;;200    	case MODE_TFT_24BIT_240320:
;;;201    		frameBuffer24BitTft240320=(U32 (*)[SCR_XSIZE_TFT_240320])LCDFRAMEBUFFER;
                  |L1.1856|
000740  e3a015c6          MOV      r1,#0x31800000
000744  e59f270c          LDR      r2,|L1.3672|
000748  e5821000          STR      r1,[r2,#0]  ; frameBuffer24BitTft240320
;;;202    		rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(13<<1)|0;
00074c  e59f1708          LDR      r1,|L1.3676|
000750  e3a0244d          MOV      r2,#0x4d000000
000754  e5821000          STR      r1,[r2,#0]
;;;203    				// TFT LCD panel,12bpp TFT,ENVID=off
;;;204    		rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320);
000758  e59f16e0          LDR      r1,|L1.3648|
00075c  e3a0244d          MOV      r2,#0x4d000000
000760  e5821004          STR      r1,[r2,#4]
;;;205    		rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320);
000764  e59f16d8          LDR      r1,|L1.3652|
000768  e3a0244d          MOV      r2,#0x4d000000
00076c  e5821008          STR      r1,[r2,#8]
;;;206    		rLCDCON4=(MVAL<<8)|(HSPW_240320);
000770  e59f16d0          LDR      r1,|L1.3656|
000774  e3a0244d          MOV      r2,#0x4d000000
000778  e582100c          STR      r1,[r2,#0xc]
;;;207    		rLCDCON5=(0<12)|(1<<9)|(1<<8); //BPP24:MSB,HSYNC and VSYNC are inverted
00077c  e59f16dc          LDR      r1,|L1.3680|
000780  e3a0244d          MOV      r2,#0x4d000000
000784  e5821010          STR      r1,[r2,#0x10]
;;;208    		rLCDSADDR1=(((U32)frameBuffer24BitTft240320>>22)<<21)|M5D((U32)frameBuffer24BitTft240320>>1);
000788  e59f16c8          LDR      r1,|L1.3672|
00078c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer24BitTft240320
000790  e1a01b21          MOV      r1,r1,LSR #22
000794  e1a01a81          MOV      r1,r1,LSL #21
000798  e59f26b8          LDR      r2,|L1.3672|
00079c  e5922000          LDR      r2,[r2,#0]  ; frameBuffer24BitTft240320
0007a0  e1a02502          MOV      r2,r2,LSL #10
0007a4  e18115a2          ORR      r1,r1,r2,LSR #11
0007a8  e3a0244d          MOV      r2,#0x4d000000
0007ac  e5821014          STR      r1,[r2,#0x14]
;;;209    		rLCDSADDR2=M5D( ((U32)frameBuffer24BitTft240320+(SCR_XSIZE_TFT_240320*LCD_YSIZE_TFT_240320*4))>>1 );
0007b0  e59f16a0          LDR      r1,|L1.3672|
0007b4  e5911000          LDR      r1,[r1,#0]  ; frameBuffer24BitTft240320
0007b8  e2811a96          ADD      r1,r1,#0x96000
0007bc  e1a01501          MOV      r1,r1,LSL #10
0007c0  e1a015a1          MOV      r1,r1,LSR #11
0007c4  e3a0244d          MOV      r2,#0x4d000000
0007c8  e5821018          STR      r1,[r2,#0x18]
;;;210    		rLCDSADDR3=(((SCR_XSIZE_TFT_240320-LCD_XSIZE_TFT_240320)*2)<<11)|(LCD_XSIZE_TFT_240320*2);
0007cc  e59f1690          LDR      r1,|L1.3684|
0007d0  e3a0244d          MOV      r2,#0x4d000000
0007d4  e582101c          STR      r1,[r2,#0x1c]
;;;211    		rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
0007d8  e3a0144d          MOV      r1,#0x4d000000
0007dc  e591105c          LDR      r1,[r1,#0x5c]
0007e0  e3811003          ORR      r1,r1,#3
0007e4  e3a0244d          MOV      r2,#0x4d000000
0007e8  e582105c          STR      r1,[r2,#0x5c]
;;;212    		rTCONSEL&=(~7); // Disable LPC3600
0007ec  e3a0144d          MOV      r1,#0x4d000000
0007f0  e5911060          LDR      r1,[r1,#0x60]
0007f4  e3c11007          BIC      r1,r1,#7
0007f8  e3a0244d          MOV      r2,#0x4d000000
0007fc  e5821060          STR      r1,[r2,#0x60]
;;;213    		rTPAL=0; // Disable Temp Palette
000800  e3a01000          MOV      r1,#0
000804  e3a0244d          MOV      r2,#0x4d000000
000808  e5821050          STR      r1,[r2,#0x50]
;;;214    	break;
00080c  ea00016f          B        |L1.3536|
;;;215     
;;;216        case MODE_TFT_1BIT_640480:
;;;217        frameBuffer1BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480/32])LCDFRAMEBUFFER;
                  |L1.2064|
000810  e3a015c6          MOV      r1,#0x31800000
000814  e59f264c          LDR      r2,|L1.3688|
000818  e5821000          STR      r1,[r2,#0]  ; frameBuffer1BitTft640480
;;;218    	rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(8<<1)|0;
00081c  e3a01f5c          MOV      r1,#0x170
000820  e3a0244d          MOV      r2,#0x4d000000
000824  e5821000          STR      r1,[r2,#0]
;;;219    	rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
000828  e59f163c          LDR      r1,|L1.3692|
00082c  e3a0244d          MOV      r2,#0x4d000000
000830  e5821004          STR      r1,[r2,#4]
;;;220    	rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
000834  e59f1634          LDR      r1,|L1.3696|
000838  e3a0244d          MOV      r2,#0x4d000000
00083c  e5821008          STR      r1,[r2,#8]
;;;221    	rLCDCON4=(MVAL<<8)|(HSPW_640480);
000840  e59f162c          LDR      r1,|L1.3700|
000844  e3a0244d          MOV      r2,#0x4d000000
000848  e582100c          STR      r1,[r2,#0xc]
;;;222    	rLCDCON5=(1<<11)|(1<<9)|(1<<8);	//FRM5:6:5,HSYNC and VSYNC are inverted
00084c  e3a01eb0          MOV      r1,#0xb00
000850  e3a0244d          MOV      r2,#0x4d000000
000854  e5821010          STR      r1,[r2,#0x10]
;;;223    	rLCDSADDR1=(((U32)frameBuffer1BitTft640480>>22)<<21)|M5D((U32)frameBuffer1BitTft640480>>1);
000858  e59f1608          LDR      r1,|L1.3688|
00085c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer1BitTft640480
000860  e1a01b21          MOV      r1,r1,LSR #22
000864  e1a01a81          MOV      r1,r1,LSL #21
000868  e59f25f8          LDR      r2,|L1.3688|
00086c  e5922000          LDR      r2,[r2,#0]  ; frameBuffer1BitTft640480
000870  e1a02502          MOV      r2,r2,LSL #10
000874  e18115a2          ORR      r1,r1,r2,LSR #11
000878  e3a0244d          MOV      r2,#0x4d000000
00087c  e5821014          STR      r1,[r2,#0x14]
;;;224    	rLCDSADDR2=M5D( ((U32)frameBuffer1BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480/8))>>1 );
000880  e59f15e0          LDR      r1,|L1.3688|
000884  e5911000          LDR      r1,[r1,#0]  ; frameBuffer1BitTft640480
000888  e2811b4b          ADD      r1,r1,#0x12c00

⌨️ 快捷键说明

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