博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinCE动态修改启动LOGO
阅读量:2399 次
发布时间:2019-05-10

本文共 775 字,大约阅读时间需要 2 分钟。

 前两天介绍了,在实际应用中经常还需要让用户方便修改启动LOGO。通常情况下,启动LOGO是编译到BOOT代码中的。为了实现动态修改启动LOGO,需要将LOGO保存至Flash中,BOOT启动时从特定的位置将其读取出来,并填入FrameBuffer。另外,必须让用户能够通过应用程序在WinCE系统中修改Flash中保存的LOGO。为了方便BOOT中显示,一般会在PC上利用将图片文件转换为能够直接填充进FrameBuffer的格式。如果要让该功能更灵活,则必须在WinCE上实现类似于Img2LCD的功能,直接让用户选择不同格式和大小的图片,转换完成后直接写入Flash中。

    启动LOGO在Flash中存储的位置也是需要考虑的一个问题。最简单的方法就是将其放在WinCE内核的后面。这样BOOT中读取LOGO跟读取内核可以用一套代码。同样,WinCE应用程序中更新内核与更新LOGO也可以用一套代码。只是在划分空间时,需要留出一些余量,以免以后在调整的过程中捉襟见肘,不够灵活。

    在我目前使用的平台上,4GB大小的NAND划分如下。

  可以看到BOOT占4MB,System占4KB,用于存储一些必要的数据,Kernel用于存储NK.nb0,目前为56MB,后面剩下8MB的空间就可以用来存储一张或者多张启动LOGO。实际上启动LOGO存放的位置是60MB,与Kernel之间留有4MB的余量,以防后患。4MB用来存LOGO,至少可以存的下一张分辨率为1024*768的32位色图。

    应用程序中添加一小段类似于更新NK的代码实现更新LOGO.bin文件,界面如下。

目前已经基本实现了以上所说的动态更新LOGO的功能,接下来主要考虑如何支持多种格式、多分辨率和不同位色的图片文件,也就是在WinCE系统上实现一个类似于Img2LCD的软件。

 原文链接:

 

转载地址:http://mmjob.baihongyu.com/

你可能感兴趣的文章
https://metalink.oracle.com/metalink/plsql/f?p=130:14:231290421339169863::::p14_
查看>>
如何保持Linux服务器间的文件同步(zt)
查看>>
如何制作启动U盘?
查看>>
starwind starport 软件安装(转贴)
查看>>
rsync 文件同步工具配置记录(zt)
查看>>
Red Hat linux iSCSI initiator configuration(zt)
查看>>
starwind 使用(转贴)
查看>>
Install iSCSI target for Linux with kernel 2.6.14(zt)
查看>>
不胜人生一场醉
查看>>
在红帽Linux企业版中,使用什么iSCSI目标端软件?(zt)
查看>>
集群的应用实例(zt)
查看>>
关于redhat上iscsi的安装:iSCSI target HowTo on Enterprise Linux (RHEL4)
查看>>
linux iSCSI target配置全过程
查看>>
RHEL5实现高可用HA集群+GFS+EnterpriseDB(zt)
查看>>
linux下用mdadm命令实现软raid(zt)
查看>>
oracle pl/sql programming
查看>>
mdadm用iscsi硬盘和本机硬盘建立raid
查看>>
EXP--解决EXP-00091的方法 (转贴)
查看>>
接上一篇(测试--mdadm用iscsi硬盘和本机硬盘建立raid)
查看>>
捉鱼手机铃声网
查看>>