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

📄 lcdlib.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;96     
;;;97         case MODE_CSTN_8BIT:
;;;98         	frameBuffer8Bit=(U32 (*)[SCR_XSIZE_CSTN/4])LCDFRAMEBUFFER;
                  |L1.736|
0002e0  e3a015c6          MOV      r1,#0x31800000
0002e4  e59f2b18          LDR      r2,|L1.3588|
0002e8  e5821000          STR      r1,[r2,#0]  ; frameBuffer8Bit
;;;99     	rLCDCON1=(CLKVAL_CSTN<<8)|(MVAL_USED<<7)|(2<<5)|(3<<1)|0;
0002ec  e59f1b14          LDR      r1,|L1.3592|
0002f0  e3a0244d          MOV      r2,#0x4d000000
0002f4  e5821000          STR      r1,[r2,#0]
;;;100        	// 8-bit single scan,8bpp CSTN,ENVID=off
;;;101    	rLCDCON2=(0<<24)|(LINEVAL_CSTN<<14)|(0<<6)|(0<<0);
0002f8  e3a019ef          MOV      r1,#0x3bc000
0002fc  e3a0244d          MOV      r2,#0x4d000000
000300  e5821004          STR      r1,[r2,#4]
;;;102    	rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);
000304  e59f1b00          LDR      r1,|L1.3596|
000308  e3a0244d          MOV      r2,#0x4d000000
00030c  e5821008          STR      r1,[r2,#8]
;;;103    	rLCDCON4=(MVAL<<8)|(WLH_CSTN<<0);
000310  e3a01ed0          MOV      r1,#0xd00
000314  e3a0244d          MOV      r2,#0x4d000000
000318  e582100c          STR      r1,[r2,#0xc]
;;;104    	rLCDCON5=0;
00031c  e3a01000          MOV      r1,#0
000320  e3a0244d          MOV      r2,#0x4d000000
000324  e5821010          STR      r1,[r2,#0x10]
;;;105    	//BPP24BL:x,FRM565:x,INVVCLK:x,INVVLINE:x,INVVFRAME:x,INVVD:x,
;;;106    	//INVVDEN:x,INVPWREN:x,INVLEND:x,PWREN:x,ENLEND:x,BSWP:x,HWSWP:x
;;;107    	rLCDSADDR1=(((U32)frameBuffer8Bit>>22)<<21 )|M5D((U32)frameBuffer8Bit>>1);
000328  e59f1ad4          LDR      r1,|L1.3588|
00032c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer8Bit
000330  e1a01b21          MOV      r1,r1,LSR #22
000334  e1a01a81          MOV      r1,r1,LSL #21
000338  e59f2ac4          LDR      r2,|L1.3588|
00033c  e5922000          LDR      r2,[r2,#0]  ; frameBuffer8Bit
000340  e1a02502          MOV      r2,r2,LSL #10
000344  e18115a2          ORR      r1,r1,r2,LSR #11
000348  e3a0244d          MOV      r2,#0x4d000000
00034c  e5821014          STR      r1,[r2,#0x14]
;;;108    	rLCDSADDR2=M5D( ((U32)frameBuffer8Bit+(SCR_XSIZE_CSTN*LCD_YSIZE_CSTN/1))>>1 );
000350  e59f1aac          LDR      r1,|L1.3588|
000354  e5911000          LDR      r1,[r1,#0]  ; frameBuffer8Bit
000358  e2811b96          ADD      r1,r1,#0x25800
00035c  e1a01501          MOV      r1,r1,LSL #10
000360  e1a015a1          MOV      r1,r1,LSR #11
000364  e3a0244d          MOV      r2,#0x4d000000
000368  e5821018          STR      r1,[r2,#0x18]
;;;109    	rLCDSADDR3=(((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)/2)<<11)|(LCD_XSIZE_CSTN/2);
00036c  e59f1a9c          LDR      r1,|L1.3600|
000370  e3a0244d          MOV      r2,#0x4d000000
000374  e582101c          STR      r1,[r2,#0x1c]
;;;110    	rDITHMODE=0x0;
000378  e3a01000          MOV      r1,#0
00037c  e3a0244d          MOV      r2,#0x4d000000
000380  e582104c          STR      r1,[r2,#0x4c]
;;;111    	rREDLUT  =0xfdb96420;
000384  e59f1a88          LDR      r1,|L1.3604|
000388  e3a0244d          MOV      r2,#0x4d000000
00038c  e5821020          STR      r1,[r2,#0x20]
;;;112    	rGREENLUT=0xfdb96420;
000390  e3a0244d          MOV      r2,#0x4d000000
000394  e5821024          STR      r1,[r2,#0x24]
;;;113    	rBLUELUT =0xfb40;
000398  e59f1a78          LDR      r1,|L1.3608|
00039c  e3a0244d          MOV      r2,#0x4d000000
0003a0  e5821028          STR      r1,[r2,#0x28]
;;;114        break;
0003a4  ea000289          B        |L1.3536|
;;;115    	
;;;116        case MODE_CSTN_12BIT:
;;;117        	frameBuffer12Bit=(U32 (*)[SCR_XSIZE_CSTN*3/8])LCDFRAMEBUFFER;
                  |L1.936|
0003a8  e3a015c6          MOV      r1,#0x31800000
0003ac  e59f2a68          LDR      r2,|L1.3612|
0003b0  e5821000          STR      r1,[r2,#0]  ; frameBuffer12Bit
;;;118        	// Packed Type : The L.C.M of 12 and 32 is 96.
;;;119        	rLCDCON1=(CLKVAL_CSTN<<8)|(MVAL_USED<<7)|(2<<5)|(4<<1)|0;
0003b4  e59f1a64          LDR      r1,|L1.3616|
0003b8  e3a0244d          MOV      r2,#0x4d000000
0003bc  e5821000          STR      r1,[r2,#0]
;;;120        	// 8-bit single scan,12bpp CSTN,ENVID=off
;;;121        	rLCDCON2=(0<<24)|(LINEVAL_CSTN<<14)|(0<<6)|0;
0003c0  e3a019ef          MOV      r1,#0x3bc000
0003c4  e3a0244d          MOV      r2,#0x4d000000
0003c8  e5821004          STR      r1,[r2,#4]
;;;122        	rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);
0003cc  e59f1a38          LDR      r1,|L1.3596|
0003d0  e3a0244d          MOV      r2,#0x4d000000
0003d4  e5821008          STR      r1,[r2,#8]
;;;123        	rLCDCON4=(MVAL<<8)|(WLH_CSTN<<0);
0003d8  e3a01ed0          MOV      r1,#0xd00
0003dc  e3a0244d          MOV      r2,#0x4d000000
0003e0  e582100c          STR      r1,[r2,#0xc]
;;;124        	rLCDCON5=0;
0003e4  e3a01000          MOV      r1,#0
0003e8  e3a0244d          MOV      r2,#0x4d000000
0003ec  e5821010          STR      r1,[r2,#0x10]
;;;125        	//BPP24BL:x,FRM565:x,INVVCLK:x,INVVLINE:x,INVVFRAME:x,INVVD:x,
;;;126    	//INVVDEN:x,INVPWREN:x,INVLEND:x,PWREN:x,ENLEND:x,BSWP:x,HWSWP:x
;;;127        	rLCDSADDR1=(((U32)frameBuffer12Bit>>22)<<21)|M5D((U32)frameBuffer12Bit>>1);
0003f0  e59f1a24          LDR      r1,|L1.3612|
0003f4  e5911000          LDR      r1,[r1,#0]  ; frameBuffer12Bit
0003f8  e1a01b21          MOV      r1,r1,LSR #22
0003fc  e1a01a81          MOV      r1,r1,LSL #21
000400  e59f2a14          LDR      r2,|L1.3612|
000404  e5922000          LDR      r2,[r2,#0]  ; frameBuffer12Bit
000408  e1a02502          MOV      r2,r2,LSL #10
00040c  e18115a2          ORR      r1,r1,r2,LSR #11
000410  e3a0244d          MOV      r2,#0x4d000000
000414  e5821014          STR      r1,[r2,#0x14]
;;;128        	rLCDSADDR2=M5D(((U32)frameBuffer12Bit+((SCR_XSIZE_CSTN*3/2)*LCD_YSIZE_CSTN))>>1);
000418  e59f19fc          LDR      r1,|L1.3612|
00041c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer12Bit
000420  e2811be1          ADD      r1,r1,#0x38400
000424  e1a01501          MOV      r1,r1,LSL #10
000428  e1a015a1          MOV      r1,r1,LSR #11
00042c  e3a0244d          MOV      r2,#0x4d000000
000430  e5821018          STR      r1,[r2,#0x18]
;;;129        	rLCDSADDR3=(((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)*3/4)<<11)|(LCD_XSIZE_CSTN*3/4);
000434  e59f19e8          LDR      r1,|L1.3620|
000438  e3a0244d          MOV      r2,#0x4d000000
00043c  e582101c          STR      r1,[r2,#0x1c]
;;;130    	rDITHMODE=0;
000440  e3a01000          MOV      r1,#0
000444  e3a0244d          MOV      r2,#0x4d000000
000448  e582104c          STR      r1,[r2,#0x4c]
;;;131        break;
00044c  ea00025f          B        |L1.3536|
;;;132    
;;;133    	case MODE_CSTN_12BIT_UP: // for 2442A
;;;134    		frameBuffer16Bit=(U32 (*)[SCR_XSIZE_CSTN/2])LCDFRAMEBUFFER;
                  |L1.1104|
000450  e3a015c6          MOV      r1,#0x31800000
000454  e59f29cc          LDR      r2,|L1.3624|
000458  e5821000          STR      r1,[r2,#0]  ; frameBuffer16Bit
;;;135    		// Unpacked Type : 12
;;;136    		rLCDCON1=(CLKVAL_CSTN<<8)|(MVAL_USED<<7)|(2<<5)|(5<<1)|0;
00045c  e59f19c8          LDR      r1,|L1.3628|
000460  e3a0244d          MOV      r2,#0x4d000000
000464  e5821000          STR      r1,[r2,#0]
;;;137    		// 8-bit single scan,16bpp CSTN,ENVID=off
;;;138    		rLCDCON2=(0<<24)|(LINEVAL_CSTN<<14)|(0<<6)|0;
000468  e3a019ef          MOV      r1,#0x3bc000
00046c  e3a0244d          MOV      r2,#0x4d000000
000470  e5821004          STR      r1,[r2,#4]
;;;139    		rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);
000474  e59f1990          LDR      r1,|L1.3596|
000478  e3a0244d          MOV      r2,#0x4d000000
00047c  e5821008          STR      r1,[r2,#8]
;;;140    		rLCDCON4=(MVAL<<8)|(WLH_CSTN<<0);
000480  e3a01ed0          MOV      r1,#0xd00
000484  e3a0244d          MOV      r2,#0x4d000000
000488  e582100c          STR      r1,[r2,#0xc]
;;;141    		rLCDCON5=0;
00048c  e3a01000          MOV      r1,#0
000490  e3a0244d          MOV      r2,#0x4d000000
000494  e5821010          STR      r1,[r2,#0x10]
;;;142    		//BPP24BL:x,FRM565:x,INVVCLK:x,INVVLINE:x,INVVFRAME:x,INVVD:x,
;;;143    		//INVVDEN:x,INVPWREN:x,INVLEND:x,PWREN:x,ENLEND:x,BSWP:x,HWSWP:x
;;;144    		rLCDSADDR1=(((U32)frameBuffer16Bit>>22)<<21)|M5D((U32)frameBuffer16Bit>>1);
000498  e59f1988          LDR      r1,|L1.3624|
00049c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16Bit
0004a0  e1a01b21          MOV      r1,r1,LSR #22
0004a4  e1a01a81          MOV      r1,r1,LSL #21
0004a8  e59f2978          LDR      r2,|L1.3624|
0004ac  e5922000          LDR      r2,[r2,#0]  ; frameBuffer16Bit
0004b0  e1a02502          MOV      r2,r2,LSL #10
0004b4  e18115a2          ORR      r1,r1,r2,LSR #11
0004b8  e3a0244d          MOV      r2,#0x4d000000
0004bc  e5821014          STR      r1,[r2,#0x14]
;;;145    		rLCDSADDR2=M5D(((U32)frameBuffer16Bit+(SCR_XSIZE_CSTN*LCD_YSIZE_CSTN*2))>>1);
0004c0  e59f1960          LDR      r1,|L1.3624|
0004c4  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16Bit
0004c8  e2811a4b          ADD      r1,r1,#0x4b000
0004cc  e1a01501          MOV      r1,r1,LSL #10
0004d0  e1a015a1          MOV      r1,r1,LSR #11
0004d4  e3a0244d          MOV      r2,#0x4d000000
0004d8  e5821018          STR      r1,[r2,#0x18]
;;;146    		rLCDSADDR3=((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)<<11)|(LCD_XSIZE_CSTN);
0004dc  e59f194c          LDR      r1,|L1.3632|
0004e0  e3a0244d          MOV      r2,#0x4d000000
0004e4  e582101c          STR      r1,[r2,#0x1c]
;;;147    	rDITHMODE=0;
0004e8  e3a01000          MOV      r1,#0
0004ec  e3a0244d          MOV      r2,#0x4d000000
0004f0  e582104c          STR      r1,[r2,#0x4c]
;;;148    	break;
0004f4  ea000235          B        |L1.3536|
;;;149    
;;;150    	case MODE_CSTN_16BIT: // for 2442A
;;;151    		frameBuffer16Bit=(U32 (*)[SCR_XSIZE_CSTN/2])LCDFRAMEBUFFER;
                  |L1.1272|
0004f8  e3a015c6          MOV      r1,#0x31800000
0004fc  e59f2924          LDR      r2,|L1.3624|
000500  e5821000          STR      r1,[r2,#0]  ; frameBuffer16Bit
;;;152    		// Packed Type : 16.
;;;153    		rLCDCON1=(CLKVAL_CSTN<<8)|(MVAL_USED<<7)|(2<<5)|(6<<1)|0;
000504  e59f1928          LDR      r1,|L1.3636|
000508  e3a0244d          MOV      r2,#0x4d000000
00050c  e5821000          STR      r1,[r2,#0]
;;;154    		// 8-bit single scan,16bpp CSTN,ENVID=off
;;;155    		rLCDCON2=(0<<24)|(LINEVAL_CSTN<<14)|(0<<6)|0;
000510  e3a019ef          MOV      r1,#0x3bc000
000514  e3a0244d          MOV      r2,#0x4d000000
000518  e5821004          STR      r1,[r2,#4]
;;;156    		rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);
00051c  e59f18e8          LDR      r1,|L1.3596|
000520  e3a0244d          MOV      r2,#0x4d000000
000524  e5821008          STR      r1,[r2,#8]
;;;157    		rLCDCON4=(MVAL<<8)|(WLH_CSTN<<0);
000528  e3a01ed0          MOV      r1,#0xd00
00052c  e3a0244d          MOV      r2,#0x4d000000
000530  e582100c          STR      r1,[r2,#0xc]
;;;158    		rLCDCON5=0;
000534  e3a01000          MOV      r1,#0
000538  e3a0244d          MOV      r2,#0x4d000000
00053c  e5821010          STR      r1,[r2,#0x10]
;;;159    		//BPP24BL:x,FRM565:x,INVVCLK:x,INVVLINE:x,INVVFRAME:x,INVVD:x,
;;;160    		//INVVDEN:x,INVPWREN:x,INVLEND:x,PWREN:x,ENLEND:x,BSWP:x,HWSWP:x
;;;161    		rLCDSADDR1=(((U32)frameBuffer16Bit>>22)<<21)|M5D((U32)frameBuffer16Bit>>1);
000540  e59f18e0          LDR      r1,|L1.3624|
000544  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16Bit
000548  e1a01b21          MOV      r1,r1,LSR #22
00054c  e1a01a81          MOV      r1,r1,LSL #21
000550  e59f28d0          LDR      r2,|L1.3624|
000554  e5922000          LDR      r2,[r2,#0]  ; frameBuffer16Bit
000558  e1a02502          MOV      r2,r2,LSL #10
00055c  e18115a2          ORR      r1,r1,r2,LSR #11
000560  e3a0244d          MOV      r2,#0x4d000000
000564  e5821014          STR      r1,[r2,#0x14]
;;;162    		rLCDSADDR2=M5D(((U32)frameBuffer16Bit+(SCR_XSIZE_CSTN*LCD_YSIZE_CSTN*2))>>1);
000568  e59f18b8          LDR      r1,|L1.3624|
00056c  e5911000          LDR      r1,[r1,#0]  ; frameBuffer16Bit
000570  e2811a4b          ADD      r1,r1,#0x4b000
000574  e1a01501          MOV      r1,r1,LSL #10
000578  e1a015a1          MOV      r1,r1,LSR #11
00057c  e3a0244d          MOV      r2,#0x4d000000
000580  e5821018          STR      r1,[r2,#0x18]
;;;163    		rLCDSADDR3=((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)<<11)|(LCD_XSIZE_CSTN);
000584  e59f18a4          LDR      r1,|L1.3632|
000588  e3a0244d          MOV      r2,#0x4d000000
00058c  e582101c          STR      r1,[r2,#0x1c]
;;;164    	rDITHMODE=0;
000590  e3a01000          MOV      r1,#0
000594  e3a0244d          MOV      r2,#0x4d000000
000598  e582104c          STR      r1,[r2,#0x4c]
;;;165    	break;
00059c  ea00020b          B        |L1.3536|

⌨️ 快捷键说明

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