|
本帖最后由 liruilirui89 于 2013-5-28 10:36 编辑
代码:1)更改cpu/s5pv210/makefile,将S5PV210_FB.MODULE改为S5PV210_FB.O
2)TQ210.H中改为#define CONFID_LCD_TYPE X480Y272
3)将字库,及显示画面C代码放到cpu/s5pv210
4)建立s5pv210.c文件,代码如下:
#include <s5pc110.h>
#include <lcd/s5pv210_fb.h>
#include <lcd/timage.h>
#include <lcd/gimage.h>
#define DISPLAY_CONTROL (*(volatile unsigned long *)0xE0107008)
#define VIDCON0 (*(volatile unsigned long *)0xF8000000)
#define VIDCON1 (*(volatile unsigned long *)0xF8000004)
#define VIDTCON0 (*(volatile unsigned long *)0xF8000010)
#define VIDTCON1 (*(volatile unsigned long *)0xF8000014)
#define VIDTCON2 (*(volatile unsigned long *)0xF8000018)
#define WINCON0 (*(volatile unsigned long *)0xF8000020)
#define SHADOWCON (*(volatile unsigned long *)0xF8000034)
#define VID0SD0A (*(volatile unsigned long *)0xF8000040)
#define VID0SD0B (*(volatile unsigned long *)0xF8000044)
#define VID0SD0C (*(volatile unsigned long *)0xF8000048)
#define VIDW00ADD0B0 (*(volatile unsigned long *)0xF80000A0)
#define VIDW00ADD1B0 (*(volatile unsigned long *)0xF80000D0)
#define LeftTopY 0
#define LeftTopX 0
#define RightBotY 272
#define RightBotX 480
extern unsigned char __VGA[];//Îa×Ö¿aìíŒóμÄéùÃ÷£¬ó¢ÎÄASCII±àÂë
extern unsigned char __CHS[];//Îa×Ö¿aìíŒóμÄéùÃ÷£¬oo×ó×Ö¿aêy×é
lcd_config_info *curren_info;
/*Ãèμã*/
void embedsky_paint_Dot(int x,int y,u32 bmp)
{
unsigned long * pixel = (unsigned long *)LCD_VIDEO_ADDR;
*(pixel + y * LCD_YSIZE_TFT + x) = bmp;
}
/*ÇåÆá*/
void lcd_clear_screen(int color)
{
int i, j;
for (i = 0; i < SCR_YSIZE_TFT; i++)
for (j = 0; j < SCR_XSIZE_TFT; j++)
embedsky_paint_Dot(i, j, color);
}
void tq210_lcd_init(void)
{
curren_info = &tq_lcd_config_info[2];
/*ÅäÖÃòyœÅÎaLCD1ŠÄü*/
(*(volatile unsigned long *)GPF0CON) = 0x22222222;
(*(volatile unsigned long *)GPF1CON) = 0X22222222;
(*(volatile unsigned long *)GPF2CON) = 0X22222222;
(*(volatile unsigned long *)GPF3CON) = 0X22222222;
/*DISPLAY_PATH_SEL = 10: RGB=FIMD I80=FIMD ITU=FIMD */
DISPLAY_CONTROL = 0x02;
/*VIDOUT=RGB,RGSPSEL=RGB parallel format;CLKVAL_F=17;CLKDIR=Divided by CLKVAL_F;CLKSEL_F=HCLK*/
VIDCON0 &= ~((1<<2)|(1<<18)|(3<<26));
VIDCON0 |= ((1<<0)|(1<<1)|(1<<4)|(17<<6));
/*IHSYNC=Inverted;IVSYNC=Inverted;IVDEN=Normal*/
VIDCON1 &= ~(1<<4);
VIDCON1 |= ((1<<5)|(1<<6));
/*ÅäÖÃê±Dòoí3 |
|