通过bin文件形式实现EBOOT的读取、LOGO
出处:互联网 发布于:2011-09-04 16:17:39
BOOTLOADER的主要作用是将操作系统运行时映像加载到内存,并跳转到OS的启动程序处。它的这一作用跟前一篇介绍的NBOOT的作用完全一致。BOOTLOADER获取运行时映像(一般对应的文件名为NK)一般有两种方法。它可以通过有线连接的方式象网络(Ethernet)﹑USB或串口从外部NK。它可以从本地的存储器(Flash﹑Hard)中加载NK。同城通过Ethernet操作系统映像故将其称为EBOOT。在开发的过程中使用EBOOT,可以提高开发率。通过使用EBOOT,你可以很快的NK到目标设备中。一般的WINCE系统都是在EBOOT阶段初始化LCD,所以要想显示自己的LOGO就需要在EBOOT阶段将LOGO内容显示出来,读取LOGO的方式可以和从存储器中读取NK一样而利用Flash编程工具或者通过JTAG则很慢。在一些产品终发布时,EBOOT是可以去掉的,但也有一些则必须包括BOOTLOADER像X86平台就是如此。 ﹑
在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
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
00000030 67 0A 80 48 80 03 80 04 00 00 00 DD 01 00 00 F0
9B 5C 01 EA 正好是我的eboot.nb0的起始4个字节。
所以只要将图片的24位数据再加上前边的结构就可以生成一个bin文件,便可以通过USB或者Ethernet并被eboot正确识别并处理。
下一篇:嵌入式网络接入设计与实现
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- ARM技术架构与应用开发实践指南2026/1/6 10:40:19
- 嵌入式实时操作系统(RTOS)选型与移植技术指南2025/12/31 10:42:31
- 工业嵌入式系统:通信接口技术选型与抗干扰设计实践2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:开启异核通信新时代2025/7/22 16:27:29
- 一文快速了解OPENWRT基础知识2025/7/14 16:59:04









