mini2440 X35 移植LCD驅動

2021-07-04 20:51:34 字數 2205 閱讀 8017

友善之臂mini2440配套的x35 lcd顯示屏可謂是比較蛋疼,說是sony的,但是沒有找到相關手冊,從裸機編寫程式就一直有問題。為了讓以後的廣大同胞少走彎路,在此將我遇到的一些問題做一些總結:

相關的裸板和驅動程式見鏈結:

lcd pin : gpc,gpd,gpg :gpd[0:15] = vd[8:23] ;gpc[8:15] = vd[0:7] ; gpg4為lcd_pwren引腳,x35 lcd沒有背光引腳,mini2440的背光電路是通過gp4引腳來開啟的。

gpc[0:7]即為lcd控制引腳,設定為lcd模式即可gpc

lcd控制器暫存器介紹:

重點的是 :

1)  (vbpd,vfpd,hbpd,hfpd需要根據自己的螢幕進行調整,我當時就是一點一點的調整到最佳的)

2) vden 一定要翻轉,否則無影象

暫存器介紹如下,按照下面操作進行就沒問題了。

/*bit[17:8] : vclk = hclk / [(clkval+1) x 2]    

*             (10mhz) 100ns = 100mhz / [(clkval+1) * 2]

*            clkval = 4;

*  bit[6:5]  :pnrmode = tftlcd ;

*  bit[4:1]  :bppmode = 0b1100  (16bpp)

*  bit[0]     : 0  disable the video output and the lcd control signal....

*/lcd_regs->lcdcon1 = (4<<8)  |  (3<<5)  |  (0x0c<<1) ;  

/**  垂直方向的時間引數

*  bit[31 : 24] : vbpd, vsync 之後再過多長時間才能發出第一行資料,lcd手冊 t0 - t2 -t1

*              vbpd = 0

*  bit[23 : 14] : 多少行,320 行, lineval = 320 - 1 = 319

*  bit[13 : 6 ]    : vfpd 發出最後一行資料之後,再過多長時間才能發出vsync,lcd 手冊t2 - t5

*              vfpd = 0

*  bit[5  :  0 ]  :vspw ,vsync訊號的脈衝寬度,lcd手冊= 1,所以vspw = 1-1=0

*              vspw =      9;

*  */

lcd_regs->lcdcon2 = (0<<24)  |  (319<<14)  |  (0<<6)  |  (9<<0);

/**  水平方向的時間引數

*  bit[25:19]: hbpd, hsync 之後再過多長時間才能發出第乙個畫素的資料t0 - t2 -t1

*              hbpd = 25

*  bit[18:8]  : 多少列,240 ,hozval = 240 -1 =239        

*  bit[7  :0]  : hfpd =0 **/

lcd_regs->lcdcon3 = (25<<19) | (239<<8) | (0<<0);

/**  水平方向時間引數

*  bit[7:0]  :  hspw,hsync訊號的脈衝寬度,t7-1

*/lcd_regs->lcdcon4 = 4;

/**  訊號的極性

*  bit[11] : 1 = 565 format

*  bit[10] : 1 = the video data is fetched at vclk rising edge             此處有差別

*  bit[ 9]  : 1 = hsync 訊號要反轉, 即低電平有效

*  bit[ 8]  : 1 = vsync 訊號要反轉, 即低電平有效       

*  bit[ 6]  : 1 = vden 反轉                                  一定要翻轉,否則無影象

*  bit[ 0]  : 1 = bswp: hwswp = 0:1  2440手冊 p413    **/

lcd_regs->lcdcon5 = (1<<11) | (0<<10) | (1<<9) | (1<<8) |(1 << 6)  | (1<<0);

lcdsaddr1 -3 為視訊記憶體暫存器,用來儲存將要在lcd上顯示的資訊。

Madplay移植到mini2440全過程詳解

madplay交叉編譯 交叉編譯器 arm linux gcc 3.4.1 pc環境 ubuntu 8.10 注意 最好在root許可權下執行以下移植,否則在make install時可能許可權不夠。一 移植madplay前的準備 madplay的移植需要以下的幾個包 libid3tag 0.15....

mini2440移植之目標環境搭建

一.建立環境 1.目標環境 linux 2.6.32.2 smdk2440 mini2440 2.指定交叉編譯變數 修改總目錄下的makefile,設定預設目標平台及預設編譯器 原export kbuild buildhost subarch arch subarch cross compile 改...

mini2440 linux 3 7移植記錄(二)

3.把yaffs2 補丁打上 alex arch embedded linux 3.7 cd alex arch embedded la total68392 drwxr xr x24 alex root 4096 jan 3 14 14 linux 3.7 rw r r 1 alex root 6...