2520|4

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于开机logo,还有一个小问题,请大家帮忙看看。 [复制链接]

我的代码原来使用了一张图片,转成数组文件后,大小是2.1M。我现在要更改一张图片,转成数组文件后,大小是2.4M。按理说新的图片应该全部覆盖就的图片吧,但是我启动的时候,先看到新的图片,然后竟然还会显示1秒钟左右的旧的图片,才会进入wince桌面。
请问这个是怎么回事呢?
我实在oal里面加入图片显示的,在OEMinit中,执行两个函数,一个是LCDInitial,一个是SplashImage。其他代码部分包括bootloader部分都么有图片显示的设置。我现在的image都是写入flash的,是哪里没有清空吗?又该如何清空呢?非常感谢。
其中LCDInitial重要执行一个clearbuffer,代码如下:

  1. void ClearFrameBuffer()
  2. {       
  3.        
  4.        
  5.         DWORD i;
  6.         unsigned *fbp;       
  7.        
  8.         gFrameBuffer = (PBYTE)FRAME_BUFFER_0_BASE_VIRTUAL;
  9.        
  10.         fbp=(unsigned *)gFrameBuffer;
  11.        
  12.         for(i=0;i<(640*480*(16/8)/4);i++)
  13.         {
  14.                   *fbp++ = 0x00000000;  // Zeros turn it black
  15.         }

  16. }
复制代码

不过这个似乎和显示图片没有太大关系。
LCDinitial后,执行SplashImage,代码如下:

  1. DWORD i,j;
  2.         USHORT* fbp;
  3.         int p=0;
  4.         gFrameBuffer = (PBYTE)FRAME_BUFFER_0_BASE_VIRTUAL;
  5.         fbp = (WORD *)gFrameBuffer;
  6.        
  7.         for(i=0;i<(640*480*(16/8)/2);i++)
  8.                 {

  9.                         *(fbp+i) = bitmap[((640*480)*(16/8)/2-i)];;

  10.                 }
  11.                  OALMSG(1, (L"+SplashImage --\r\n"));
复制代码

最新回复

晚来一步,错失得分机会.............. 这个东西也说明了个问题 图片可以在bootloader,OAL,LCD驱动阶段显示 解决问题就好了,恭喜。  详情 回复 发表于 2009-1-9 17:14
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
..........然后竟然还会显示1秒钟左右的旧的图片,才会进入wince桌面。

这个1秒钟的旧图片显示估计是显示驱动中加载的,lz好好看看显示驱动中是否也调用了显示图片的代码。

既然更改了图片了,lz在代码中把旧图片的数组都删掉没有?
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我也觉得好奇怪,我再研究一下显示驱动。谢谢。
我已经将旧的图片文件完全替换掉了,唉。OAL的代码中也做了修改了。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

4
 
真的是显示驱动的问题,我一开始竟然没有想到。唉。
多谢提醒哈,100分都送给你。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 jerry79 的回复:
真的是显示驱动的问题,我一开始竟然没有想到。唉。
多谢提醒哈,100分都送给你。


晚来一步,错失得分机会..............
这个东西也说明了个问题

图片可以在bootloader,OAL,LCD驱动阶段显示
解决问题就好了,恭喜。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表