EBOOT通过bin文件形式读取、下载LOGO

发 布 时 间 : 2010-04-15 来 源 : CSDN博客 作 者 : Veabol 浏 览 :

一般的WINCE系统都是在EBOOT阶段初始化LCD,所以要想显示自己的LOGO就需要在EBOOT阶段将LOGO内容显示出来,读取LOGO的方式可以和从存储器中读取NK一样,具体位置自己来定义。

 

在EBOOT阶段下载LOGO保存到FLASH中可以采用下载bin文件的方式,bin文件中的内容可以参考eboot.bin和nk.bin。

根据\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BLCOMMON下blcommon.c文件中各函数分析eboot.bin文件的结构:
Eboot.bin的前7个字节("B000FF\x0A")用来判断是否为WINCE的bin文件,接下边分别是4字节映像的起始地址dwImageStart、4字节映像大小dwImageLength,接着分别是4字节接收地址dwRecAddr、4字节接收长度dwRecLen、4字节接收检验和dwRecChk,接下来是eboot.nb0压缩后的数据,即eboot运行时的数据,查看eboot.bin文件dwRecLen值为4,即根据dwRecChk后边的4字节数据得到dwRecChk,VerifyChecksum()函数是将这4字节数据相加得到dwRecChk。

 Offset          0   1   2   3   4   5   6   7    8   9   A   B   C   D   E   F

00000000   42 30 30 30 46 46 0A 00  80 03 80 88 20 07 00 00   B000FF..€.€?...
00000010   80 03 80 04 00 00 00 E2  01 00 00 9B 5C 01 EA 40   €.€....?..沑.闌
00000020   80 03 80 08 00 00 00 F1  02 00 00 45 43 45 43 F0   €.€....?..ECEC?
00000030   67 0A 80 48 80 03 80 04  00 00 00 DD 01 00 00 F0   g.€H€.€....?..

 

 9B 5C 01 EA 正好是我的eboot.nb0的起始4个字节。

 

所以只要将图片的24位数据再加上前边的结构就可以生成一个bin文件,便可以通过USB或者Ethernet下载并被eboot正确识别并处理。

 



上一篇:hello内核模块编译的全过程 下一篇:没有了