[转 ]wince5.0 开机logo解决方案
http://blog.csdn.net/avatar1912/article/details/7246502
wince5.0 开机logo解决方案
2011-11-30 23:56
一.
把 Logo 添加到启动代码 在 Windows CE BSP ..\Src\Kernel\Oal\Init.c 中注释掉对 LCD 控制器初始化的函数 然后在 ..\Src|Drivers\Display 的 S3C2440disp.cpp 文件中删除对显存缓冲区中清零的操作。
二.
1、使用BMP2C软件,对*.bmp格式256色图片文件进行转换,生成一个图片数组文件,命名为samsung.c。
2、替换到C:\WINCE500\PLATFORM\smdk2440\kernel\hal\samsung.c文件中。(盘符可能不同)
3、生成当前的PROJECT.
-----不错,不过C:\WINCE500\PLATFORM\smdk2440\kernel\hal\samsung.c不一定在这里,因为你的BSP是从4.2改到5.0的
三.
我做过开机动画
就是在explorer.cpp的WinMain()里调用播放动画函数
四.
在Bootloader里和Oeminit里都实现过,没有什么太大差别,都是初始化一下LCD Controller,然后把图片的数据填到相应的Framebuffer里去而已
在Bootloader里做一般会把图片烧到Flash的特定位置,以免Bootloader太大,做在Image里一般就直接编译进去了
五.
可以在BOOTLOADER里实现,可以分为两个阶段,在阶段二里加上图片或动画。
BOOTLOADER的阶段一启动后引导阶段二程序就实现了。
阶段二的图片可以用软件转化成数组。
六.
以2440 CE5为例,MBR在NAND的BLOCK 10,WINCE NK从BLIOCK16开始
BLOCK11~15是预留没用到的,我们拿一两个BLOCK来烧GIF图档
当然相对的,BOOTLOADER要加入GIF的解码程序(网上很多原码)
七.
可以做一个驱动来实现!
以下是方法:
在mem驱动中初始化显示寄存器,并copy LOGO图像数组到buffer以显示LOGO
2.显示完LOGO后,创建一个新的线程mhthread,该线程每隔一段时间更新一次滚动条状态
3.添加该mem驱动到系统,使之能够在系统启动时尽早加载
4.用evc写一个应用程序LOGO_STOP用于终止线程mhthread
5.添加该应用程序到系统,使之在explorer.exe前一刻运行
八.
http://blog.csdn.net/lbqhope/archive/2010/07/22/5754643.aspx