《WinCE6.0+修改开机Logo方法集锦》.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WinCE6.0 修改开机Logo 方法集锦 从今年4月份开始接触 WinCE,本来计划坚持写相关的博客,记录自己 WinCE 8 的学习历程,但整个 月份就断层了,这里面有客观原因也有主观原因, 工作上的事不顺心啊。项目上需要写WinCE 上的应用软件开发,无奈,只能把 精力从底层驱动方面撤出来了。其实可以坚持非工作时间学习的,怪自己懒啊。 这次重新拾起,一定要坚持下去了。 WinCE 终端开发,一般都会涉及到开机Logo 的工作,单位项目也不例外, 正好借此机会,好好研究一下。网络上关于这个问题的帖子不少,主要集中在 csdn论坛上,思路也都比较清楚,不过就是不够细,所以自己也费了些时间研究。 顺便把网上提到的所有方法都尝试汇总一下,于是便有了这个系列,目前只测试 了两种方法,所以先记录下来,后续不断完善其他方法。 为了尊重前辈和他人的劳动成果,在博文中会将引用的内容给出声明和链 接。 下面进入主题,开机Logo 的修改方法主要有两种: 方法一:定义一个头文件,里面包含一个很大的数组,都是图片的相关数 据,一起打包到Eboot 的bin 文件中。这种方法优点是简单直接,缺点是图片不 能太大,否则会导致Eboot 太大,而且后期的Logo 更新也变的很麻烦。 方法二:将图片的相关数据烧写到NandFlash 的某个固定地址,Eboot 初 始化LCD 时从该地址读取数据,放入显示缓存里面就可以了。这种方法灵活, 可以支持比较大的图片,而且后期Logo 更新比较容易,缺点就是比方法一复杂, 需要改动Eboot 的源代码。 今天先给出方法一的详细实现方案,实验平台:WinCE6.0+Android6410 +4.3寸CLD。 在Eboot 中需要对LCD 进行初始化工作(虽然不是必须的,但目前大多 都这样做),即在函数OEMPlatformInit 中由InitializeDisplay 函数来实现,开机 Logo 的 设 置 就 在 这 个 函 数 里 面 。( 如 果 不 清 楚 请 参 看 博 文 /809003/603457) 如果只是想简单的设置Logo为单色的话,直接使用下面代码就可以了, 是4.3寸屏下RGB565格式的填充方法。 #elif (LCD_BPP == 16) { int i; unsigned short *pFB; pFB = (unsigned short *)EBOOT_FRAMEBUFFER_UA_START; for (i=0; iLCD_WIDTH*LCD_HEIGHT; i++) *pFB++ = 0x0000;//0x001F; // Blue 当然也可以采用上面那种方法,采用for 循环,将数组内容以一定大小, 一个一个的填充到显示缓存当中。 看到网上很多都说在使用这种方法时会出现花屏,除了上面两点没有保证 外,还有一个可能的原因是最容易被忽视的: 不同的工具转换后的数组形式不一样,可能是char 数组,可能是unsigned short 数组,也可能是unsigned int 数组,当将这些数据填充到显示缓存的时候, 有一个高地位的问题。比如如下代码: unsigned short* pFB = (unsigned short *)EBOOT_FRAMEBUFFER_ UA_START; *pFB = 0x001F; 这种情况下,存储到显示缓存中的第一个字节其实是0x1F,而并不是0x00, 不管是采用for 循环填充还是用memcpy填充,都存在一个图片数据与显示缓存 的匹配问题,如果不匹配,就会发生大家所说的花屏现象。 中秋假期已过,回来继续该博文主题。今天讲解第二种方法,将Logo 图片的数 据写入到NandFlash 中,在启动初始化LCD 的时候,从固定的地址将数据读出 并填充到显示缓存中。 实验平台:WinCE6.0+Android6410+4.3寸CLD。 以下内容参考自CSDN 论坛的一个帖子,不过里面的描述不是特别清楚, 该 主 题 博 文 进

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档