天嵌 ARM开发社区

 找回密码
 注册
查看: 4514|回复: 15

想在TQ210上移植4.3寸LCD屏,但是没有移植成功,求助

[复制链接]
liruilirui89 发表于 2013-5-28 10:36:19 | 显示全部楼层 |阅读模式
本帖最后由 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[];//&#206;a×&#214;&#191;aìí&#338;óμ&#196;éù&#195;÷£&#172;ó¢&#206;&#196;ASCII±à&#194;&#235;   
extern unsigned char __CHS[];//&#206;a×&#214;&#191;aìí&#338;óμ&#196;éù&#195;÷£&#172;oo×ó×&#214;&#191;aêy×é

lcd_config_info *curren_info;

/*&#195;èμ&#227;*/
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;
}

/*&#199;&#229;&#198;á*/
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];
        /*&#197;&#228;&#214;&#195;òy&#339;&#197;&#206;aLCD1&#352;&#196;ü*/
        (*(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));
        /*&#197;&#228;&#214;&#195;ê±Dòoí3
 楼主| liruilirui89 发表于 2013-5-28 10:38:57 | 显示全部楼层
这是完全的代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| liruilirui89 发表于 2013-5-28 10:39:30 | 显示全部楼层
实在不知道哪的问题了,求助
 楼主| liruilirui89 发表于 2013-5-28 11:34:13 | 显示全部楼层
亚瑟王 发表于 2013-5-28 17:35:33 | 显示全部楼层
4.3寸屏的做法:修改include/configs/TQ210.h的74行,将#define CONFIG_LCD_TYPE   X800Y480改为:#define CONFIG_LCD_TYPE   X480Y272,然后编译后的镜像默认就是4.3寸屏了。如果你使用的4.3寸屏的参数和天嵌科技的不一样,需要修改cpu/s5pv210/tq_input.c文件的LCD参数。
 楼主| liruilirui89 发表于 2013-5-29 09:43:47 | 显示全部楼层
这样是可以实现,但是对LCD理解不深啊,所以想重新编写s5pv210_fb.c文件,但是编写完成后,启动不正常,代码在上面,可以帮忙分析一下吗?
亚瑟王 发表于 2013-6-7 18:27:47 | 显示全部楼层
liruilirui89 发表于 2013-5-29 09:43
这样是可以实现,但是对LCD理解不深啊,所以想重新编写s5pv210_fb.c文件,但是编写完成后,启动不正常,代码 ...

仔细阅读S5PV210的datasheet的LCD章节吧,我们的驱动也是根据寄存器来编写的。主要就是对寄存器的设置。
fhqsuhpv 发表于 2013-9-10 21:18:27 | 显示全部楼层
为什么要更改cpu/s5pv210/makefile,将S5PV210_FB.MODULE改为S5PV210_FB.O?

我也要移植一个TFT LCD 8位RGB串行 1.5寸 480*240的屏还不知道如何下手呢。。。高手给讲讲!
fhqsuhpv 发表于 2013-9-10 21:26:59 | 显示全部楼层
亚瑟王 发表于 2013-5-28 17:35
4.3寸屏的做法:修改include/configs/TQ210.h的74行,将#define CONFIG_LCD_TYPE   X800Y480改为:#define  ...

tq_input.c文件我看了一下,但要具体怎么改呢?如果想加一个参数和天嵌不一样的屏
亚瑟王 发表于 2013-9-11 09:28:14 | 显示全部楼层
fhqsuhpv 发表于 2013-9-10 21:26
tq_input.c文件我看了一下,但要具体怎么改呢?如果想加一个参数和天嵌不一样的屏

随便修改其中一组参数吧。
fhqsuhpv 发表于 2013-9-11 16:03:09 | 显示全部楼层
亚瑟王 发表于 2013-9-11 09:28
随便修改其中一组参数吧。

哦,谢谢!我试试
fhqsuhpv 发表于 2013-9-12 21:41:31 | 显示全部楼层
亚瑟王 发表于 2013-5-28 17:35
4.3寸屏的做法:修改include/configs/TQ210.h的74行,将#define CONFIG_LCD_TYPE   X800Y480改为:#define  ...

#include <lcd/timage.h>
#include <lcd/gimage.h>

这两个文件在哪了?我在内核 和 Uboot里面都没有找到呢?
fhqsuhpv 发表于 2013-9-12 22:46:38 | 显示全部楼层
liruilirui89 发表于 2013-5-28 10:38
这是完全的代码

这个代码,你是怎么编译通过的?
亚瑟王 发表于 2013-9-16 09:00:03 | 显示全部楼层
fhqsuhpv 发表于 2013-9-12 21:41
#include
#include

这两行代码从哪里来的?
fhqsuhpv 发表于 2013-9-17 14:58:58 | 显示全部楼层
亚瑟王 发表于 2013-9-16 09:00
这两行代码从哪里来的?

从上面那个大哥发的源码里来的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-17 18:07 , Processed in 1.031250 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表