引用: 引用 5 楼 shuiyan 的回复:
lz的想法是可行的,而且一直也是这样做的。
Logo.bin的组成需要跟eboot.bin/nk.bin一样,开始7位是wince的标志位,随后是烧录的地址,镜像大小,校验和。再之后就是所有有效数据块了。
具体的结构可以详细看一下eboot.bin就能明白。
转换的程序最好自己写,这样便于控制。如果另找的,转换后就详细对比一下是否符合要求。
下载时就通过串口或者usb,跟一般的下载没差别。
一般将eboot.bin之后的一段空间作为logo…
根据你所说我已经将eboot.bin分析了一下:
根据\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\ETHDBG\BLCOMMON下blcommon.c文件中各函数分析:
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。
只是不清楚为什么dwImageLength的值比eboot.bin文件大很多,以前通过DNW下载NK的时候也发现此问题,当时还不清楚为什么打印出来的下载数据大小会比实际大一些,估计是这个文件的原因,但是为什么dwImageLength会比实际文件大呢?
如果这个dwImageLength值不会产生影响的话后边只要把图片转成上述格式的bin文件就可以了。