WinCE动态修改启动LOGO
2010-11-22 17:40
267 查看
前两天介绍了WinCE启动界面的定制,在实际应用中经常还需要让用户方便修改启动LOGO。通常情况下,启动LOGO是编译到BOOT代码中的。为了实现动态修改启动LOGO,需要将LOGO保存至Flash中,BOOT启动时从特定的位置将其读取出来,并填入FrameBuffer。另外,必须让用户能够通过应用程序在WinCE系统中修改Flash中保存的LOGO。为了方便BOOT中显示,一般会在PC上利用Img2LCD将图片文件转换为能够直接填充进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的软件。
启动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的软件。
相关文章推荐
- WinCE动态修改启动LOGO
- WinCE动态修改启动LOGO
- WinCE动态修改启动LOGO
- WinCE动态修改启动LOGO
- WinCE动态修改启动LOGO
- WinCE动态修改启动LOGO
- WinCE动态修改启动LOGO
- 修改Linux内核启动logo
- linux启动成功修改logo
- 修改内核启动Logo的方法
- Uboot启动WinCE nandflash分区显示盘符的注册表修改
- WinCE6.0 修改开机Logo方法集锦(二)
- 修改Linux内核的启动Logo和禁用启动光标
- linux启动成功修改logo
- 修改内核启动logo的方法
- 【实战】嵌入式linux修改内核启动的LOGO界面
- WinCE6.0 修改开机Logo方法集锦(三)
- Android 启动过程logo修改
- 嵌入式Linux 修改启动LOGO
- uboot 修改启动logo