7713|22

66

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何实现开机动画 [复制链接]

如题:

现在因wince的启动时间太长,想把开机logo改成动画的,这样让用户不至于觉得太久.
有什么好的方法可以实现开机动画呢?

最新回复

把非必须是0的设置成order:1  详情 回复 发表于 2010-1-19 10:03
点赞 关注

回复
举报

91

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
EBOOT刷新一次,启动的OAL层刷新一次,确定各驱动的加载顺序,在各驱动加载的时候再刷新一次。

之前有过讨论的帖子,因为没有找到系统启动过程中不停地与KERN交互的语句,所以没办法在OAL层不停刷新,只能在各驱动的地方刷新
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 veabol 的回复:
EBOOT刷新一次,启动的OAL层刷新一次,确定各驱动的加载顺序,在各驱动加载的时候再刷新一次。

之前有过讨论的帖子,因为没有找到系统启动过程中不停地与KERN交互的语句,所以没办法在OAL层不停刷新,只能在各驱动的地方刷新


有些驱动加载的时候,是相同的优先级的怎么弄呢
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 2 楼 luixing67 的回复:
引用 1 楼 veabol 的回复:
EBOOT刷新一次,启动的OAL层刷新一次,确定各驱动的加载顺序,在各驱动加载的时候再刷新一次。

之前有过讨论的帖子,因为没有找到系统启动过程中不停地与KERN交互的语句,所以没办法在OAL层不停刷新,只能在各驱动的地方刷新


有些驱动加载的时候,是相同的优先级的怎么弄呢

你可以通过设置Order来区别优先级,如果一定要相同优先级可以考虑在各驱动访问同一全局变量,通过变量加1来判断应该刷新什么样的图片
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 veabol 的回复:
引用 2 楼 luixing67 的回复:
引用 1 楼 veabol 的回复:
EBOOT刷新一次,启动的OAL层刷新一次,确定各驱动的加载顺序,在各驱动加载的时候再刷新一次。

之前有过讨论的帖子,因为没有找到系统启动过程中不停地与KERN交互的语句,所以没办法在OAL层不停刷新,只能在各驱动的地方刷新


有些驱动加载的时候,是相同的优先级的怎么弄呢

你可以通过设置Order来区别优先级,如果一定要相同优先级可以考虑在各驱动访问同一全局变量,通过变量加1来判断应该刷新什么样的图片


学习了。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
能不能在线程调度初始化完后,专门开个线程来刷新呢?
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

7
 
搞不懂,也曾有过这方面的想法,但是老虎吃天无从下口啊!职业+友情帮顶!
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 5 楼 rushonin 的回复:
能不能在线程调度初始化完后,专门开个线程来刷新呢?


这个线程放在那里?内核模块中?
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 5 楼 rushonin 的回复:
能不能在线程调度初始化完后,专门开个线程来刷新呢?

这样的话线程初始化之前还会有几秒无法刷新的情况,可刷新的时间不多。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 veabol 的回复:
引用 5 楼 rushonin 的回复:
能不能在线程调度初始化完后,专门开个线程来刷新呢?

这样的话线程初始化之前还会有几秒无法刷新的情况,可刷新的时间不多。


可不可以专门开个线程,在内核跑起来后就开启,每个驱动初始前发送消息让线程自己去刷新LOG
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 veabol 的回复:
引用 5 楼 rushonin 的回复:
能不能在线程调度初始化完后,专门开个线程来刷新呢?

这样的话线程初始化之前还会有几秒无法刷新的情况,可刷新的时间不多。


我也是担心初始化之前的时间段. 因为我们开机现在要几十秒,刷新的时间还是比较长的,呵呵.
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 9 楼 luixing67 的回复:
引用 8 楼 veabol 的回复:
引用 5 楼 rushonin 的回复:
能不能在线程调度初始化完后,专门开个线程来刷新呢?

这样的话线程初始化之前还会有几秒无法刷新的情况,可刷新的时间不多。


可不可以专门开个线程,在内核跑起来后就开启,每个驱动初始前发送消息让线程自己去刷新LOG


用线程刷的话,就不用管驱动的加载了,并行执行的.
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(中级)

13
 
对了,在内核跑起来后,怎么去控制屏幕的,那个时候NBOOT应该不能控制屏幕了,难道还要通过设置寄存器重新设置?但是这样以来,DISPLAY驱动起来后,怎么控制
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 luixing67 的回复:
对了,在内核跑起来后,怎么去控制屏幕的,那个时候NBOOT应该不能控制屏幕了,难道还要通过设置寄存器重新设置?但是这样以来,DISPLAY驱动起来后,怎么控制

只要向显示的BUFFER送数据就行了。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 10 楼 rushonin 的回复:
引用 8 楼 veabol 的回复:
引用 5 楼 rushonin 的回复:
能不能在线程调度初始化完后,专门开个线程来刷新呢?

这样的话线程初始化之前还会有几秒无法刷新的情况,可刷新的时间不多。


我也是担心初始化之前的时间段. 因为我们开机现在要几十秒,刷新的时间还是比较长的,呵呵.

开机几十秒太长了吧,通常十秒左右算正常的。尽量缩短一下开机时间,再试试在驱动中的线程来处理这件事
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

16
 
可以做个进度条,ce开机时间大部分在从NandFlash读取NK文件到内存,我们就是在读取过程加进度条的。启动时间一般也就10秒左右,不会太长的。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
ls做的不错啊
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 15 楼 garyliu1104 的回复:
可以做个进度条,ce开机时间大部分在从NandFlash读取NK文件到内存,我们就是在读取过程加进度条的。启动时间一般也就10秒左右,不会太长的。

你们的镜像多大呀?
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

19
 
我们的实现方法是:
1. 把image做成multi-bin,这样eboot中指需要download很小的ramimage到内存中;
2. 做一个driver,主要功能是建立一个线程,每过几百个ms改变一下frame buffer,并把这个driver配置成device.exe/dll加载的第一支driver
3. gwes加载display driver的时候停止前面的线程
方法很笨,仅供参考
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

20
 
不错,学习了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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