阅读:1730回复:2
开机LOG由16BPP改成24BPP出现问题
QT2440的板子本来的开机LOGO是8BPP的!最近我想把他改成24bpp,哪想搞了好久都没搞定!特请教哪位兄弟帮忙看一下先!
原来的板子的开机LOG是16BPP的,我现在想把它改成24BPP的,但是总是出现的是4个图像,请高手帮忙看一下。 下面是一段LCD的INIT段 // == Params == // #define CLKVAL_TFT_240320 (4) #define MVAL (13) #define MVAL_USED (0) //Timing parameter for LTS350Q1(SAMSUNG) #define VBPD_240320 ((2-1)&0xff) #define VFPD_240320 ((3)&0xff) #define VSPW_240320 ((2) &0x3f) #define HBPD_240320 ((12)&0x7f) #define HFPD_240320 ((12)&0xff) #define HSPW_240320 ((30)&0xff) #define M5D(n) ((n) & 0x1fffff) // To get lower 21bits //TFT240320 #define HOZVAL_TFT_240320 (LCD_XSIZE_TFT_240320-1) #define LINEVAL_TFT_240320 (LCD_YSIZE_TFT_240320-1) //TFT 240320 #define LCD_XSIZE_TFT_240320 (240) #define LCD_YSIZE_TFT_240320 (320) //===========Lcd init==========// //LCDCON1设置,参照datasheet,我只修改bppmode,修改为24bpp, 所以设置为13<<1,其他都用default值 rLCDCON1=(CLKVAL_TFT_240320<<8)|(MVAL_USED<<7)|(3<<5)|(13<<1)|0; //LCDCON2,我不做修改,都用开始提供的初始值 rLCDCON2=(VBPD_240320<<24)|(LINEVAL_TFT_240320<<14)|(VFPD_240320<<6)|(VSPW_240320); //LCDCON3,我不做修改,都用开始提供的初始值 rLCDCON3=(HBPD_240320<<19)|(HOZVAL_TFT_240320<<8)|(HFPD_240320); //LCDCON4,我不做修改,都用开始提供的初始值 rLCDCON4=(MVAL<<8)|(HSPW_240320); //LCDCON5设置,参照datasheet,我只设置bpp24BL,设置为LSB, 所以设置为0<<12,其他都用default值 rLCDCON5=(0<<12)|(1<<9)|(1<<8); //LCDSADDR1,我不做修改,都用开始提供的初始值,我U32 *frameBuffer8BitTft240320 = 0x33800000 rLCDSADDR1=(((U32)frameBuffer8BitTft240320>>22)<<21)|M5D((U32)frameBuffer8BitTft240320>>1); //LCDSADDR2,因为是24bpp以一个4个字节来存储,所以我在下面pagewidth乘了个4 rLCDSADDR2=M5D( ((U32)frameBuffer8BitTft240320+(LCD_XSIZE_TFT_240320*4*LCD_YSIZE_TFT_240320/1))>>1 ) ; //LCDSADDR3,因为我不准备使用虚屏,所以offset设置为0<<11;而pagewidth应该也就是LCD_XSIZE_TFT_240320*4/2 rLCDSADDR3=(0<<11)|(LCD_XSIZE_TFT_240320*4/2); 其它设置直接使用初始值 |
|
沙发#
发布于:2008-02-28 09:34
哪位遇到过这种问题的给我点意见啊
|
|
板凳#
发布于:2008-03-13 18:54
自己回复,是由于输入的数据不对
|
|