主题 : Uboot移植中出现的关于LCD字符显示出现重影的问题(已解决) 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 34156
精华: 0
发帖: 38
金钱: 200 两
威望: 40 点
贡献值: 0 点
综合积分: 76 分
注册时间: 2010-12-11
最后登录: 2012-12-07
楼主  发表于: 2012-03-26 10:16

 Uboot移植中出现的关于LCD字符显示出现重影的问题(已解决)

这个问题我在网上还没找到同我一样遇到的,恳请高手帮忙解决一下。
 
我用的UBOOT的版本是uboot2010.09
Board是友善的mini2440,256M nand ,64M Dram, 2M norflash, DM9000配置
参考tekkamanninja的博客移植的,前面移植的过程中也出现了go命令无法使用等问题,我都逐个解决了,可是这个LCD的问题我查了很多资料也不知其原因,网上说的每个原因我都试过,还是不能解决问题。
我的问题具体情况是,在uboot中添加lcd显示功能的时候,左上角的图片正确显示,但是下面的CONSOLE_INFO显示不正常,但是却能看出来显示的是什么,又不清楚,就像附件“不成功”中的效果

后来我在网上下载下来tekkamanninja移植好的u-boot-2010.03-tekkaman编译下载到板子上效果很友好,如附件“友好效果”


tekkamanninja的原代码编译出的bin文件左边没有顶格输出,因为他的屏的参数和我的不一致。Tekkamanninja用的是NEC3.5屏,我的屏是统宝T3.5,参数啊那些的都没多大关系,我试过了,关键目前我这是能显示且显示的也是我想要的东西,可是显示不正常。
我甚至将我的移植代码与tekkamanninja的移植代码按修改逐一对比了,都还是不行,求高手帮帮忙。
代码我就不贴了,现在我都是直接把tekkamanninjaLCD部分代码加到了2010.09uboot的代码中了,屏的参数也是按照tekkamanninja的来设置的。他的代码编译出来的bin文件就正常,我的代码编译出来的bin就不正常,这是为什么呢,板子启动过程中要设置的时钟参数也和tekkamanninja的一样,lcd驱动过程中的stdio_init(),drv_video_init(),video_init(), 以及video_hw_init()与最后的board_video_init都与tekkamanninja的代码改为一致了都不行啊。
 
还有就是我的板子在include/configs/mini2440.h中加入了CONFIG_CFB_CONSOLE,

与CONFIG_CONSOLE_IS_IN_ENV宏后,串口应该输出的uboot命令行都显示在T35上,我想在T35上只显示logo,但stdin,stdout,stderr仍是串口终端,可是不管我怎么改,它都不鸟我。。。。。。

 
[ 此帖被licong_0108在2012-03-26 23:42重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2012-03-26 13:19
有没有比较过tekkamanninja的u-boot 2010.03(https://github.com/tekkamanninja/u-boot-2010.03-tekkaman)的drivers/video/cfb_console.c?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 34156
精华: 0
发帖: 38
金钱: 200 两
威望: 40 点
贡献值: 0 点
综合积分: 76 分
注册时间: 2010-12-11
最后登录: 2012-12-07
2楼  发表于: 2012-03-26 15:37
引用第1楼kasim于2012-03-26 13:19发表的 :
有没有比较过tekkamanninja的u-boot 2010.03(https://github.com/tekkamanninja/u-boot-2010.03-tekkaman)的drivers/video/cfb_console.c?

就是与这个版本比较的,现在直接把他的cfb_console.c文件copy到我的drivers目录下,编译出来的也不行。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2012-03-26 16:26
不好意思,看起来是u-boot 2010.03上的cfb_console.c里加出了一个VIDEO_FB_16BPP_WORD_SWAP的定义

https://github.com/tekkamanninja/u-boot-2010.03-tekkaman/blob/master/include/configs/mini2440.h, 第341行

#define VIDEO_FB_16BPP_WORD_SWAP
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 34156
精华: 0
发帖: 38
金钱: 200 两
威望: 40 点
贡献值: 0 点
综合积分: 76 分
注册时间: 2010-12-11
最后登录: 2012-12-07
4楼  发表于: 2012-03-26 18:36
引用第3楼kasim于2012-03-26 16:26发表的 :
不好意思,看起来是u-boot 2010.03上的cfb_console.c里加出了一个VIDEO_FB_16BPP_WORD_SWAP的定义

https://github.com/tekkamanninja/u-boot-2010.03-tekkaman/blob/master/include/configs/mini2440.h, 第341行

#define VIDEO_FB_16BPP_WORD_SWAP

哇噻,真的是哦,我开始有加#define VIDEO_FB_16BPP_PIXEL_SWAP,而没加#define VIDEO_FB_16BPP_WORD_SWAP,是不是就是图片显示正确而字符显示不正常的原因哦。谢谢大侠啊,牛人就是牛人,谢谢。呵呵。