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

📄 lcdlib.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00088c  e1a01501          MOV      r1,r1,LSL #10
000890  e1a015a1          MOV      r1,r1,LSR #11
000894  e3a0244d          MOV      r2,#0x4d000000
000898  e5821018          STR      r1,[r2,#0x18]
;;;225    	rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)/16)<<11)|(LCD_XSIZE_TFT_640480/16);
00089c  e59f154c          LDR      r1,|L1.3568|
0008a0  e3a0244d          MOV      r2,#0x4d000000
0008a4  e582101c          STR      r1,[r2,#0x1c]
;;;226    	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
0008a8  e3a0144d          MOV      r1,#0x4d000000
0008ac  e591105c          LDR      r1,[r1,#0x5c]
0008b0  e3811003          ORR      r1,r1,#3
0008b4  e3a0244d          MOV      r2,#0x4d000000
0008b8  e582105c          STR      r1,[r2,#0x5c]
;;;227    	rTCONSEL&=(~7); // Disable LPC3600
0008bc  e3a0144d          MOV      r1,#0x4d000000
0008c0  e5911060          LDR      r1,[r1,#0x60]
0008c4  e3c11007          BIC      r1,r1,#7
0008c8  e3a0244d          MOV      r2,#0x4d000000
0008cc  e5821060          STR      r1,[r2,#0x60]
;;;228    	rTPAL=0; // Disable Temp Palette
0008d0  e3a01000          MOV      r1,#0
0008d4  e3a0244d          MOV      r2,#0x4d000000
0008d8  e5821050          STR      r1,[r2,#0x50]
;;;229        break;
0008dc  ea00013b          B        |L1.3536|
;;;230    
;;;231        case MODE_TFT_8BIT_640480:
;;;232       	frameBuffer8BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480/4])LCDFRAMEBUFFER;
                  |L1.2272|
0008e0  e3a015c6          MOV      r1,#0x31800000
0008e4  e59f258c          LDR      r2,|L1.3704|
0008e8  e5821000          STR      r1,[r2,#0]  ; frameBuffer8BitTft640480
;;;233    	rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(11<<1)|0;
0008ec  e59f1588          LDR      r1,|L1.3708|
0008f0  e3a0244d          MOV      r2,#0x4d000000
0008f4  e5821000          STR      r1,[r2,#0]
;;;234       	// TFT LCD panel,8bpp TFT,ENVID=off
;;;235    	rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
0008f8  e59f156c          LDR      r1,|L1.3692|
0008fc  e3a0244d          MOV      r2,#0x4d000000
000900  e5821004          STR      r1,[r2,#4]
;;;236    	rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
000904  e59f1564          LDR      r1,|L1.3696|
000908  e3a0244d          MOV      r2,#0x4d000000
00090c  e5821008          STR      r1,[r2,#8]
;;;237    	rLCDCON4=(MVAL<<8)|(HSPW_640480);
000910  e59f155c          LDR      r1,|L1.3700|
000914  e3a0244d          MOV      r2,#0x4d000000
000918  e582100c          STR      r1,[r2,#0xc]
;;;238    	rLCDCON5=(1<<11)|(1<<9)|(1<<8);	//FRM5:6:5,HSYNC and VSYNC are inverted
00091c  e3a01eb0          MOV      r1,#0xb00
000920  e3a0244d          MOV      r2,#0x4d000000
000924  e5821010          STR      r1,[r2,#0x10]
;;;239    	rLCDSADDR1=(((U32)frameBuffer8BitTft640480>>22)<<21)|M5D((U32)frameBuffer8BitTft640480>>1);
000928  e59f1548          LDR      r1,|L1.3704|
00092c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer8BitTft640480
000930  e1a01b21          MOV      r1,r1,LSR #22
000934  e1a01a81          MOV      r1,r1,LSL #21
000938  e59f2538          LDR      r2,|L1.3704|
00093c  e5922000          LDR      r2,[r2,#0]  ; frameBuffer8BitTft640480
000940  e1a02502          MOV      r2,r2,LSL #10
000944  e18115a2          ORR      r1,r1,r2,LSR #11
000948  e3a0244d          MOV      r2,#0x4d000000
00094c  e5821014          STR      r1,[r2,#0x14]
;;;240    	rLCDSADDR2=M5D( ((U32)frameBuffer8BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480/1))>>1 );
000950  e59f1520          LDR      r1,|L1.3704|
000954  e5911000          LDR      r1,[r1,#0]  ; frameBuffer8BitTft640480
000958  e2811a96          ADD      r1,r1,#0x96000
00095c  e1a01501          MOV      r1,r1,LSL #10
000960  e1a015a1          MOV      r1,r1,LSR #11
000964  e3a0244d          MOV      r2,#0x4d000000
000968  e5821018          STR      r1,[r2,#0x18]
;;;241    	rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)/2)<<11)|(LCD_XSIZE_TFT_640480/2);
00096c  e59f14bc          LDR      r1,|L1.3632|
000970  e3a0244d          MOV      r2,#0x4d000000
000974  e582101c          STR      r1,[r2,#0x1c]
;;;242    	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000978  e3a0144d          MOV      r1,#0x4d000000
00097c  e591105c          LDR      r1,[r1,#0x5c]
000980  e3811003          ORR      r1,r1,#3
000984  e3a0244d          MOV      r2,#0x4d000000
000988  e582105c          STR      r1,[r2,#0x5c]
;;;243    	rTCONSEL&=(~7); // Disable LPC3600
00098c  e3a0144d          MOV      r1,#0x4d000000
000990  e5911060          LDR      r1,[r1,#0x60]
000994  e3c11007          BIC      r1,r1,#7
000998  e3a0244d          MOV      r2,#0x4d000000
00099c  e5821060          STR      r1,[r2,#0x60]
;;;244    	rTPAL=0; // Disable Temp Palette
0009a0  e3a01000          MOV      r1,#0
0009a4  e3a0244d          MOV      r2,#0x4d000000
0009a8  e5821050          STR      r1,[r2,#0x50]
;;;245        break;
0009ac  ea000107          B        |L1.3536|
;;;246        	
;;;247        case MODE_TFT_16BIT_640480:
;;;248        frameBuffer16BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480/2])LCDFRAMEBUFFER;
                  |L1.2480|
0009b0  e3a015c6          MOV      r1,#0x31800000
0009b4  e59f24c4          LDR      r2,|L1.3712|
0009b8  e5821000          STR      r1,[r2,#0]  ; frameBuffer16BitTft640480
;;;249    	rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;
0009bc  e3a01f5e          MOV      r1,#0x178
0009c0  e3a0244d          MOV      r2,#0x4d000000
0009c4  e5821000          STR      r1,[r2,#0]
;;;250            // TFT LCD panel,16bpp TFT,ENVID=off
;;;251    	rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
0009c8  e59f149c          LDR      r1,|L1.3692|
0009cc  e3a0244d          MOV      r2,#0x4d000000
0009d0  e5821004          STR      r1,[r2,#4]
;;;252    	rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
0009d4  e59f1494          LDR      r1,|L1.3696|
0009d8  e3a0244d          MOV      r2,#0x4d000000
0009dc  e5821008          STR      r1,[r2,#8]
;;;253    	rLCDCON4=(MVAL<<8)|(HSPW_640480);
0009e0  e59f148c          LDR      r1,|L1.3700|
0009e4  e3a0244d          MOV      r2,#0x4d000000
0009e8  e582100c          STR      r1,[r2,#0xc]
;;;254    	rLCDCON5=(1<<11)|(1<<9)|(1<<8);	//FRM5:6:5,HSYNC and VSYNC are inverted
0009ec  e3a01eb0          MOV      r1,#0xb00
0009f0  e3a0244d          MOV      r2,#0x4d000000
0009f4  e5821010          STR      r1,[r2,#0x10]
;;;255    	rLCDSADDR1=(((U32)frameBuffer16BitTft640480>>22)<<21)|M5D((U32)frameBuffer16BitTft640480>>1);
0009f8  e59f1480          LDR      r1,|L1.3712|
0009fc  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16BitTft640480
000a00  e1a01b21          MOV      r1,r1,LSR #22
000a04  e1a01a81          MOV      r1,r1,LSL #21
000a08  e59f2470          LDR      r2,|L1.3712|
000a0c  e5922000          LDR      r2,[r2,#0]  ; frameBuffer16BitTft640480
000a10  e1a02502          MOV      r2,r2,LSL #10
000a14  e18115a2          ORR      r1,r1,r2,LSR #11
000a18  e3a0244d          MOV      r2,#0x4d000000
000a1c  e5821014          STR      r1,[r2,#0x14]
;;;256    	rLCDSADDR2=M5D( ((U32)frameBuffer16BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480*2))>>1 );
000a20  e59f1458          LDR      r1,|L1.3712|
000a24  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16BitTft640480
000a28  e281194b          ADD      r1,r1,#0x12c000
000a2c  e1a01501          MOV      r1,r1,LSL #10
000a30  e1a015a1          MOV      r1,r1,LSR #11
000a34  e3a0244d          MOV      r2,#0x4d000000
000a38  e5821018          STR      r1,[r2,#0x18]
;;;257    	rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)/1)<<11)|(LCD_XSIZE_TFT_640480/1);
000a3c  e59f1440          LDR      r1,|L1.3716|
000a40  e3a0244d          MOV      r2,#0x4d000000
000a44  e582101c          STR      r1,[r2,#0x1c]
;;;258    	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000a48  e3a0144d          MOV      r1,#0x4d000000
000a4c  e591105c          LDR      r1,[r1,#0x5c]
000a50  e3811003          ORR      r1,r1,#3
000a54  e3a0244d          MOV      r2,#0x4d000000
000a58  e582105c          STR      r1,[r2,#0x5c]
;;;259    	rTCONSEL&=(~7); // Disable LPC3600
000a5c  e3a0144d          MOV      r1,#0x4d000000
000a60  e5911060          LDR      r1,[r1,#0x60]
000a64  e3c11007          BIC      r1,r1,#7
000a68  e3a0244d          MOV      r2,#0x4d000000
000a6c  e5821060          STR      r1,[r2,#0x60]
;;;260    	rTPAL=0; // Disable Temp Palette
000a70  e3a01000          MOV      r1,#0
000a74  e3a0244d          MOV      r2,#0x4d000000
000a78  e5821050          STR      r1,[r2,#0x50]
;;;261        break;
000a7c  ea0000d3          B        |L1.3536|
;;;262    
;;;263        case MODE_TFT_24BIT_640480:
;;;264        frameBuffer24BitTft640480=(U32 (*)[SCR_XSIZE_TFT_640480])LCDFRAMEBUFFER;
                  |L1.2688|
000a80  e3a015c6          MOV      r1,#0x31800000
000a84  e59f23fc          LDR      r2,|L1.3720|
000a88  e5821000          STR      r1,[r2,#0]  ; frameBuffer24BitTft640480
;;;265    	rLCDCON1=(CLKVAL_TFT_640480<<8)|(MVAL_USED<<7)|(3<<5)|(13<<1)|0;
000a8c  e59f13f8          LDR      r1,|L1.3724|
000a90  e3a0244d          MOV      r2,#0x4d000000
000a94  e5821000          STR      r1,[r2,#0]
;;;266            // TFT LCD panel,24bpp TFT,ENVID=off
;;;267    	rLCDCON2=(VBPD_640480<<24)|(LINEVAL_TFT_640480<<14)|(VFPD_640480<<6)|(VSPW_640480);
000a98  e59f13cc          LDR      r1,|L1.3692|
000a9c  e3a0244d          MOV      r2,#0x4d000000
000aa0  e5821004          STR      r1,[r2,#4]
;;;268    	rLCDCON3=(HBPD_640480<<19)|(HOZVAL_TFT_640480<<8)|(HFPD_640480);
000aa4  e59f13c4          LDR      r1,|L1.3696|
000aa8  e3a0244d          MOV      r2,#0x4d000000
000aac  e5821008          STR      r1,[r2,#8]
;;;269    	rLCDCON4=(MVAL<<8)|(HSPW_640480);
000ab0  e59f13bc          LDR      r1,|L1.3700|
000ab4  e3a0244d          MOV      r2,#0x4d000000
000ab8  e582100c          STR      r1,[r2,#0xc]
;;;270    	rLCDCON5=(1<<12)|(1<<9)|(1<<8);	// BPP24:MSB,HSYNC and VSYNC are inverted
000abc  e3a01d4c          MOV      r1,#0x1300
000ac0  e3a0244d          MOV      r2,#0x4d000000
000ac4  e5821010          STR      r1,[r2,#0x10]
;;;271    	rLCDSADDR1=(((U32)frameBuffer24BitTft640480>>22)<<21)|M5D((U32)frameBuffer24BitTft640480>>1);
000ac8  e59f13b8          LDR      r1,|L1.3720|
000acc  e5911000          LDR      r1,[r1,#0]  ; frameBuffer24BitTft640480
000ad0  e1a01b21          MOV      r1,r1,LSR #22
000ad4  e1a01a81          MOV      r1,r1,LSL #21
000ad8  e59f23a8          LDR      r2,|L1.3720|
000adc  e5922000          LDR      r2,[r2,#0]  ; frameBuffer24BitTft640480
000ae0  e1a02502          MOV      r2,r2,LSL #10
000ae4  e18115a2          ORR      r1,r1,r2,LSR #11
000ae8  e3a0244d          MOV      r2,#0x4d000000
000aec  e5821014          STR      r1,[r2,#0x14]
;;;272    	rLCDSADDR2=M5D( ((U32)frameBuffer24BitTft640480+(SCR_XSIZE_TFT_640480*LCD_YSIZE_TFT_640480*4))>>1 );
000af0  e59f1390          LDR      r1,|L1.3720|
000af4  e5911000          LDR      r1,[r1,#0]  ; frameBuffer24BitTft640480
000af8  e2811996          ADD      r1,r1,#0x258000
000afc  e1a01501          MOV      r1,r1,LSL #10
000b00  e1a015a1          MOV      r1,r1,LSR #11
000b04  e3a0244d          MOV      r2,#0x4d000000
000b08  e5821018          STR      r1,[r2,#0x18]
;;;273    	rLCDSADDR3=(((SCR_XSIZE_TFT_640480-LCD_XSIZE_TFT_640480)*2)<<11)|(LCD_XSIZE_TFT_640480*2);
000b0c  e59f137c          LDR      r1,|L1.3728|
000b10  e3a0244d          MOV      r2,#0x4d000000
000b14  e582101c          STR      r1,[r2,#0x1c]
;;;274    	rLCDINTMSK|=(3); // MASK LCD Sub Interrupt
000b18  e3a0144d          MOV      r1,#0x4d000000
000b1c  e591105c          LDR      r1,[r1,#0x5c]
000b20  e3811003          ORR      r1,r1,#3
000b24  e3a0244d          MOV      r2,#0x4d000000
000b28  e582105c          STR      r1,[r2,#0x5c]
;;;275    	rTCONSEL&=(~7); // Disable LPC3600
000b2c  e3a0144d          MOV      r1,#0x4d000000
000b30  e5911060          LDR      r1,[r1,#0x60]
000b34  e3c11007          BIC      r1,r1,#7
000b38  e3a0244d          MOV      r2,#0x4d000000
000b3c  e5821060          STR      r1,[r2,#0x60]
;;;276    	rTPAL=0; // Disable Temp Palette
000b40  e3a01000          MOV      r1,#0
000b44  e3a0244d          MOV      r2,#0x4d000000
000b48  e5821050          STR      r1,[r2,#0x50]
;;;277        break;
000b4c  ea00009f          B        |L1.3536|
;;;278    
;;;279        case MODE_TFT_1BIT_800600:
;;;280    	frameBuffer1BitTft800600=(U32 (*)[SCR_XSIZE_TFT_800600/32])LCDFRAMEBUFFER;
                  |L1.2896|
000b50  e3a015c6          MOV      r1,#0x31800000
000b54  e59f2338          LDR      r2,|L1.3732|
000b58  e5821000          STR      r1,[r2,#0]  ; frameBuffer1BitTft800600
;;;281       	rLCDCON1=(CLKVAL_TFT_800600<<8)|(MVAL_USED<<7)|(3<<5)|(8<<1)|0;
000b5c  e3a01070          MOV      r1,#0x70
000b60  e3a0244d          MOV      r2,#0x4d000000
000b64  e5821000          STR      r1,[r2,#0]
;;;282            // TFT LCD panel,1bpp TFT,ENVID=off
;;;283    	rLCDCON2=(VBPD_800600<<24)|(LINEVAL_TFT_800600<<14)|(VFPD_800600<<6)|(VSPW_800600);
000b68  e59f1328          LDR      r1,|L1.3736|
000b6c  e3a0244d          MOV      r2,#0x4d000000
000b70  e5821004          STR      r1,[r2,#4]
;;;284    	rLCDCON3=(HBPD_800600<<19)|(HOZVAL_TFT_800600<<8)|(HFPD_800600);

⌨️ 快捷键说明

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