免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4784 | 回复: 4
打印 上一主题 下一主题

[BootLoader] boot增加开机画面,图像下移问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-08 13:21 |只看该作者 |倒序浏览
目前我在做一个为am1808(一款ti的ARM9芯片)移植工作,需要给uboot增加开机启动画面。
由于uboot对am1808没有支持,所以只好自己添加源码。
我参考:http://blog.csdn.net/ma100/article/details/6063215 的文档,直接对LCD控制器的寄存器进行操作。

目前,已经可以显示出图像,问题是图像会缓慢的整体下移。
我在考虑是不是HFP,HBP,HSW,VFP,VBP,VSW等寄存器配置有误,但是无论我怎么修改,都没有任何改观,依然下移。

补充:若只绘制半个屏幕的图片,图片会从上边移植下移到最下面。然后图片头会跳到屏幕正中间,然后继续下移,如此反复。

谁能提供给我个解决思路,万分感谢,已经卡住好几天了..

论坛徽章:
0
2 [报告]
发表于 2011-08-08 16:28 |只看该作者
次实验发现,HFP,HBP等参数无论怎么设置居然没有什么影响,图片都可以显示出来,倒是自动下移的问题总是无法解决。
偶然实验,修改了LCDDMA_FB0_CEILING的值:
  1. LCDC->LCDDMA_FB0_BASE = FRAMEBUF_BASE; // Frame buffer start
  2.   LCDC->LCDDMA_FB0_CEILING = FRAMEBUF_BASE + (32 + (LCD_WIDTH * LCD_HEIGHT * 2) - 2); // Frame buffer end
复制代码
原先+32是因为调色板占据了32位的空间。所以计算出的结尾地址要加上调色板的空间。
参考博客:http://blog.csdn.net/ma100/article/details/6063215 在FRAMEBUF_BASE 声明时已经-32了,预留了调色板空间。而我也这样操作,所以调色板的空间被预留了两次。造成扫描时,每次都多出了32位的空间,成为第二次扫描数据的头部。
我想缓慢下移的原因就在于此。

如果大家有其它看法,欢迎到我的博客讨论。
http://blog.csdn.net/jaylondon

论坛徽章:
0
3 [报告]
发表于 2011-08-08 16:49 |只看该作者
我猜你的buffer有些问题。

论坛徽章:
0
4 [报告]
发表于 2011-08-09 09:54 |只看该作者
回复 2# jaylondon
昨日可以显示开机画面以后,移植了800X480 16位色的图片上去。
编译完成后,图片数据居然有750kb 这么大。
这样整个uboot超过了900kb

参考tq修改的uboot,他是将图片的信息放到nandflash中的。当中的函数都是自己修改的,涉及东西太多,不方便移植。

接下来有两种思路:
1。压缩图片,采用REL等压缩算法。
2。绘制简单的开机界面,如进度条等,减少图片数据量。


未完待续......

论坛徽章:
0
5 [报告]
发表于 2011-08-20 09:09 |只看该作者
也许是你的LCD信号接接错了,也许是关于垂直的信号线没有定义
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP