8259|18

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

重开一贴 ---------WinCE6.0 开机画面 [复制链接]

各位大侠:

    自己定制了一个WinCE6.0 的操作系统,启动时间大约在10秒钟左右,想在CE系统真正起来之前,加一个画面,以免看着不舒服。看帖子发现一般解决都是在eboot 或者OAL层加。不解。问问大家。

    我用的Atmel 公司的 at91sam9263。
    在eboot 里面没有LCD初始化代码,如果在eboot里面加的话,是不是还要增加LCD初始化的代码?
  在OAL层加,小弟愚钝,没有看出任何端倪,请大家不吝赐教!
  
  有人有相关的参考代码吗》让小弟参考下,万分感激@!

此帖出自WindowsCE论坛

最新回复

你的意思我是不是可以这样回答: LCD初始化代码肯定要加的,这段代码其实就是一些LCD时序参数的设置 这些设置你可以在BOOTLOADER或者OAL里面设置 模拟器是两个都设置了,但是韦伯兄的意思是设置一个就好了 在设置完之后接下来直接调用函数memcpy()就好了 这里要注意FrameBuffer里面的值 至于现在流行的将图片从FLASH里面读取我正在看! 以上言论仅供参考! 目的只有一个大家共同进步!  详情 回复 发表于 2010-3-6 09:58
点赞 关注
 

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
帮顶下。

MARK.
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
eboot是下载镜像用的,镜像下载后再启动请问是从哪儿开始的?还是在eboot吗?
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

4
 
留个脚印,学习中.....
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
要想LCD显示画面就必需要先初始化LCD,所以如果EBOOT显示画面就要EBOOT初始化LCD,可以自己移植一下
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
eboot文件夹里面有一个叫bitmap.c存放的就是在boot完成后,显示的图片信息
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
必须加LCD初始化,呵呵。先初始化LCD,紧接着就弄个画面。呵呵。
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

8
 
有些程序的logo好像也是在eboot的时候加载的,图像信息就存储在叫logo的文件里面,如果有这个的话,可以直接修改这个文件,换成自己的图片。(当然此时LCD肯定是初始化的了)
此帖出自WindowsCE论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

9
 
肯定需要加LCD初始化
此帖出自WindowsCE论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

10
 
你可以先找找就你现在使用的平台有没有人实现过logo图片,如果有那就好办。

如果没有你可以先参考2410的,这款arm平台可以实现logo的,你可以在网络上找到它的资料的。

参考资料,通过代码的调试等方法实现效果!
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
我通过修改BootLoader实现了修改开机LOGO,实现开机动画跟LOGO应该差不太多,楼主加油,哈哈…
此帖出自WindowsCE论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

12
 
楼主,修改好了分享结果,收藏了此贴
下一步我也要用,
不过我知道如果启动成功不要界面,可以去掉进程 explor.exe如此如此
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
eboot 里面需要增加初始化LCD控制器代码,然后将logo写入FrameBuf
OAL层中一般会在OEMInit()中初始化LCD控制器,然后清空Framebuf,把清空Framebuf改为将logo数据写入就可以了.
不过不同的芯片的BSP结构并不一定都相同,有可能你的BSP里直到display驱动中才初始化LCD控制器.但基本实现方法就如上所述.
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 
期待楼主分享具体操作方法
我们用的X86 是在BIOS里加的启动画面
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

15
 
在Eboot里面修改bitmap.c文件下面的ScreenBitmap的数组
再修改Main.c里面的IntialDisplay函数
就可以修改启动画面了
需要啥帮助 直接站内我 我这有写好的
这俩星期啥都没干 就弄这个了
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

16
 
源码:

  1. /*
  2. @func   void | DisplayPicture | Show the Picture in the LCD.
  3. @rdesc  x ---> the x postion to show in the LCD
  4. @                                y ---> the y postion to show in the LCD
  5. @comm   
  6. @xref   
  7. */
  8. static void DisplayPicture(unsigned char X, unsigned char Y)
  9. {
  10.         unsigned int i,j,iTFT,jTFT,iBMP,jBMP;
  11.         //unsigned short *pDisplayAddress = (unsigned short*)(IMAGE_FRAMEBUFFER_UA_BASE + (LCD_XSIZE_TFT*2*(Y-1) + 2*X));
  12.        
  13.         unsigned short *pDisplayAddress = (unsigned short*)(IMAGE_FRAMEBUFFER_UA_BASE);

  14.         memset((void *)IMAGE_FRAMEBUFFER_UA_BASE, BACKGROUND_COLOR, LCD_ARRAY_SIZE_TFT_16BIT);        /*White */

  15. #if (LCD_TYPE == TFT240_320)
  16.         for(i=0;i < LCD_XSIZE_TFT * LCD_YSIZE_TFT;i++)
  17.         {
  18.                 unsigned short colorTemp;
  19.                 colorTemp = ScreenBitmap[i];
  20.                 *pDisplayAddress = Palette[colorTemp];
  21.                 pDisplayAddress++;
  22.         }
  23. #else

  24. //#elif (LCD_TYPE == TFT480_272)
  25. //#elif (LCD_TYPE == TFT640_480)
  26. //#elif (LCD_TYPE == TFT800_480)
  27. //#elif (LCD_TYPE == TFT800_600)

  28.         jTFT = (LCD_YSIZE_TFT - BMP_Y_SIZE)/2,jBMP = 0;
  29.         for(;jTFT < (LCD_YSIZE_TFT + BMP_Y_SIZE)/2 && jBMP < BMP_Y_SIZE;jTFT ++,jBMP++)
  30.         {
  31.                 iTFT = (LCD_XSIZE_TFT - BMP_X_SIZE)/2,iBMP = 0;

  32.                 for(;iTFT < (LCD_XSIZE_TFT + BMP_X_SIZE)/2 && iBMP < BMP_X_SIZE;iTFT ++,iBMP++)
  33.                 {

  34.                         unsigned short colorTemp;       
  35.                         colorTemp = ScreenBitmap[jBMP * BMP_X_SIZE + iBMP];
  36.                         pDisplayAddress[jTFT * LCD_XSIZE_TFT + iTFT] = Palette[colorTemp];
  37.                 }
  38.         }

  39. #endif


  40. }
复制代码


这个函数在Main.c->static void InitDisplay(void)
这个函数里面调用就行了
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

17
 
还是某大哥的厉害,实现开机gif显示,王道
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

18
 
非常感谢各位大哥鼎力相助,我查看了相关源代码,其实在eboot中是有相关的支持的,只是我现在还没有搞定,有点BUG,等成功解决了,定分享....
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

19
 
你的意思我是不是可以这样回答:
LCD初始化代码肯定要加的,这段代码其实就是一些LCD时序参数的设置
这些设置你可以在BOOTLOADER或者OAL里面设置
模拟器是两个都设置了,但是韦伯兄的意思是设置一个就好了
在设置完之后接下来直接调用函数memcpy()就好了
这里要注意FrameBuffer里面的值
至于现在流行的将图片从FLASH里面读取我正在看!
以上言论仅供参考!
目的只有一个大家共同进步!
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表