微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 飞凌2440 lcd 调试

飞凌2440 lcd 调试

时间:11-21 来源:互联网 点击:
问题描述:lcd屏幕上 x方向画线正常,y方向画线的话就会出现重复如图



分析原因是:
时序不正确,也即lcddrv.h 和 lcddrv.c文件 不正确,需要修改。代码如下:

lcddrv.h:

#ifndef __LCDDRV_H__
#define __LCDDRV_H__

#include

#define LOWER21BITS(n) ((n) & 0x1fffff)

#define BPPMODE_1BPP 0x8
#define BPPMODE_2BPP 0x9
#define BPPMODE_4BPP 0xA
#define BPPMODE_8BPP 0xB
#define BPPMODE_16BPP 0xC
#define BPPMODE_24BPP 0xD

#define LCDTYPE_TFT 0x3

#define ENVID_DISABLE 0
#define ENVID_ENABLE 1

#define FORMAT8BPP_5551 0
#define FORMAT8BPP_565 1

#define HSYNC_NORM 0
#define HSYNC_INV 1

#define VSYNC_NORM 0
#define VSYNC_INV 1

#define BSWP 1
#define HWSWP 1

//TFT LCD Panel(240*320)
#define MODE_TFT_1BIT_240320 (0x4101)
#define MODE_TFT_8BIT_240320 (0x4102)
#define MODE_TFT_16BIT_240320 (0x4104)
#define MODE_TFT_24BIT_240320 (0x4108)

//TFT 240320
#define LCD_XSIZE_TFT_240320 (240)
#define LCD_YSIZE_TFT_240320 (320)

//TFT 240320
#define HOZVAL_TFT_240320(LCD_XSIZE_TFT_240320-1)
#define LINEVAL_TFT_240320(LCD_YSIZE_TFT_240320-1)

#define CLKVAL_TFT_240320(4)
// 60hz @133Mhz
// (9) 60hz @100Mhz

//Timing parameter for LTS350Q1(SAMSUNG)
#define VBPD_240320((6-1)&0xff)
#define VFPD_240320((4-1)&0xff)
#define VSPW_240320((2-1) &0x3f)
#define HBPD_240320((11-1)&0x7f)
#define HFPD_240320((2-1)&0xff)
#define HSPW_240320((1-1)&0xff)

//TFT LCD Panel(640*480)
#define MODE_TFT_1BIT_640480 (0x4201)
#define MODE_TFT_8BIT_640480 (0x4202)
#define MODE_TFT_16BIT_640480 (0x4204)
#define MODE_TFT_24BIT_640480 (0x4208)

//TFT 640480
#define LCD_XSIZE_TFT_640480 (640)
#define LCD_YSIZE_TFT_640480 (480)

//TFT640480
#define HOZVAL_TFT_640480(LCD_XSIZE_TFT_640480-1)
#define LINEVAL_TFT_640480(LCD_YSIZE_TFT_640480-1)

//Timing parameter for V16C6448AB(PRIME VIEW)
#define VBPD_640480((33-1)&0xff)
#define VFPD_640480((10-1)&0xff)
#define VSPW_640480((2-1) &0x3f)
#define HBPD_640480((48-1)&0x7f)
#define HFPD_640480((16-1)&0xff)
#define HSPW_640480((96-1)&0xff)

#define CLKVAL_TFT_640480 (1)
//53.5hz @90Mhz
//VSYNC,HSYNC should be inverted
//HBPD=47VCLK,HFPD=15VCLK,HSPW=95VCLK
//VBPD=32HSYNC,VFPD=9HSYNC,VSPW=1HSYNC

#define LCDFRAMEBUFFER 0x30400000

void Lcd_Port_Init(void);

void Tft_Lcd_Init(int type);

void Lcd_Palette8Bit_Init(void);

void Lcd_EnvidOnOff(int onoff);

void Lcd_PowerEnable(int invpwren, int pwren);

void ClearScrWithTmpPlt(UINT32 color);

void DisableTmpPlt(void);

void ChangePalette(UINT32 color);

#endif

------------------------------------------------------------------

lcddrv.c文件:

#include
#include "s3c24xx.h"
#include "lcddrv.h"

unsigned int fb_base_addr;
unsigned int bpp;
unsigned int xsize;
unsigned int ysize;

static const unsigned short DEMO256pal[]={
0x0b5e,0xce9a,0xffd9,0x9d99,0xb63a,0xae7c,0xdd71,0x6c57,0xfd4d,0x00ae,0x9c4d,0xb5f8,0xad96,0x0131,0x0176,0xefff,0xcedd,0x9556,0xe4bf,0x00b6,0x22b7,0x002b,0x89de,0x002c,0x57df,0xab5f,0x3031,0x14bf,0x797e,0x5391,0x93ab,0x7239,0x7453,0xafdf,0x71b9,0x8c92,0x014d,0x302e,0x5175,0x0029,0x0969,0x004e,0x2a6d,0x0021,0x3155,0x4b6e,0xd677,0xf6b6,0x9b5f,0x4bb5,0xffd5,0x0027,0xdfdf,0x74d8,0x1256,0x6bcd,0x9b08,0x2ab2,0xbd72,0x84b5,0xfe52,0xd4ad,0x00ad,0xfffc,0x422b,0x73b0,0x0024,0x5246,0x8e5e,0x28b3,0x0050,0x3b52,0x2a4a,0x3a74,0x8559,0x3356,0x1251,0x9abf,0x4034,0x40b1,
0x8cb9,0x00b3,0x5c55,0xdf3d,0x61b7,0x1f5f,0x00d9,0x4c59,0x0926,0xac3f,0x925f,0x85bc,0x29d2,0xc73f,0xef5c,0xcb9f,0x827b,0x5279,0x4af5,0x01b9,0x4290,0xf718,0x126d,0x21a6,0x515e,0xefbd,0xd75e,0x42ab,0x00aa,0x10b3,0x7349,0x63b5,0x61a3,0xaadf,0xcb27,0x87df,0x6359,0xc7df,0x4876,0xb5bc,0x4114,0xfe2e,0xef5e,0x65be,0x43b9,0xe5df,0x21c9,0x7d16,0x6abb,0x5c11,0x49f7,0xbc0b,0x9e1a,0x3b0f,0x202b,0xff12,0x821b,0x842f,0xbccf,0xdefb,0x8a3e,0x68fa,0xa4f1,0x38ae,0x28b7,0x21ad,0x31d7,0x0073,0x182b,0x1831,0x3415,0xbdf6,0x2dbf,0x0a5d,0xc73d,0x182c,0x293e,0x7b3d,0x643d,0x3cbd,
0x92dd,0x09d4,0x1029,0x7cdd,0x6239,0x182e,0x5aea,0x11eb,0x8abc,0x7bfa,0x00a7,0x2153,0x1853,0x1318,0x0109,0x54fa,0x72a7,0x89e3,0x01cf,0x3a07,0x7b17,0x1a14,0x2150,0x23dc,0x4142,0x1b33,0x00a4,0xf6df,0x08fc,0x18ae,0x3a7e,0x18d1,0xa51c,0xff5a,0x1a0f,0x28fa,0xdfbe,0x82de,0x60d7,0x1027,0x48fa,0x5150,0x6213,0x89d6,0x110d,0x9bbb,0xbedd,0x28e1,0x1925,0xf449,0xaa79,0xd5f4,0x693c,0x110a,0x2889,0x08a2,0x923d,0x10a6,0xd9bc,0x5b2e,0x32ec,0xcf7f,0x1025,0x2148,0x74b4,0x6d59,0x9d14,0x0132,0x00f0,0x56bf,0x00f1,0xffff,0x0173,0x0133,0x00b0,0x00b1,0xf7ff,0x08b1,0xfffe,0x08b0,
0x0171,0xf7bf,0x10f3,0xf7fe,0x08ef,0x1192,0xefbe,0x1131,0x2177,0xff9f,0x1116,0xffbc,0x5914,0x22ef,0xb285,0xa6df,
};

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top