电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>适用于Windows CE 6.0操作系统的Multi-bin技术解析

适用于Windows CE 6.0操作系统的Multi-bin技术解析

2017-10-30 | rar | 0.3 MB | 次下载 | 1积分

资料介绍

 Windows CE是微软推出的一款32位的嵌入式操作系统。它具有良好的多媒体功能和友好的人机交互界面,支持PowerPC、X86、ARM和MIPS等多个系列处理器的体系结构,并为所支持的处理器提供完善的系统库[1]。它还提供了完善的设备驱动程序和软件开发包,大大缩短了开发周期,节约了电子智能产品的上市时间。在这些产品开发过程中,系统启动时间的时延是影响客户体验(QoE)的重要因素。启动速度受很多因素的影响,包括定制系统镜像文件的大小、系统内核加载驱动的多少、内存占用的大小等。为了减少系统启动时延,目前比较流行的做法是在Bootloader中添加LOGO启动画面,从而在视觉上降低客户的时延感受[2]。从本质上讲,这种方法并没有从根本上减少系统的启动时延,仅仅是从视觉的角度转移了客户的注意力。
  本文在分析Windows CE 6.0系统启动过程的基础上,设计了一种在Bootloader中实现BinFS文件系统进而完成Multi-bin加载的方法,从而真正达到缩短启动时间的效果,同时还为用户节省了大量的内存空间。实验结果表明,该方法性能稳定,可移植性强,并已经应用到一款基于Samsung 2440处理器的IPTV手持式测试仪系统上。
  1 Windows CE系统启动过程
  Windows CE系统启动过程如图1所示。
  适用于Windows CE 6.0操作系统的Multi-bin技术解析
  在Windows CE操作系统中,当基于Windows CE的目标设备上电启动或者复位时,系统首先加载并运行Bootloader程序,Bootloader程序进行必要的硬件初始化,然后通过Bootloader再加载并启动操作系统内核映像。启动操作系统内核的过程实际上就是加载并运行OAL(OEM Adaptation Layer)程序的过程。OAL是Windows CE操作系统内核的重要组成部分,OAL并不能被单独加载并运行,它最终被编译进操作系统内核,从而通过操作系统内核存在并发挥作用,操作系统的启动过程就是一个加载并运行OAL程序的过程[3]。
  系统从启动加载内核映像文件到最后的显示桌面会有一段时间,这个时间段就是通常所说的启动时延。通常情况下为10 s~13 s。为了缩短这段时延,可以将系统映像分为多块,将系统核心启动部分的内容放到内存中,其他部分放到固态存储器(如Nand Flash)中,使用BINFS文件系统读出。即在系统启动过程中,先加载操作系统内核映像的核心部分,而操作系统内核映像的其他部分仍然驻留在Nand Flash中,需要时再从Nand Flash中进行加载,从而大大减少开机读取系统的时间。同时,也不再需要为操作系统预留全尺寸的内存空间,而只需预留最小开机核心部分的内存空间,剩下的作为通用内存空间。这样就使得操作系统内存的使用有了很大灵活性,同时可用系统内存大大增加。从而,在根本上达到了按需加载系统模块到内存的要求。这就是所谓的Multi-bin技术。
  2 Windows CE .bin镜像文件解析与下载
  由Windows CE的开发工具Platform Build编译生成的Windows CE操作系统及Bootloader的镜像文件主要有两种格式类型:以.bin为文件名后缀的记录型镜像文件和以.nb0为后缀的原始型(raw)镜像文件。前者以记录(Record)为单位组织镜像的数据,后者则是镜像在嵌入式系统中运行时的二进制数据快照。其中,.bin文件是一个描述性质的镜像文件,它由文件头(Head)、镜像数据目的起始地址(ImageStart)、镜像数据长度(ImageLength)和多条相对独立的记录(Record)构成。本文以实现Multi-bin的操作系统xip.bin为例进行分析,使用UltraEdit将其打开,如图2所示。
  适用于Windows CE 6.0操作系统的Multi-bin技术解析
  从图2可以看出,文件头(head)由7个字节组成,内容是:42 30 30 30 46 46 0A,即“B000FF\x0A”,这是判断镜像文件是.bin类型的依据。镜像数据目的起始地址(ImageStart,00 00 07 80)由4个字节组成,它定义了镜像文件解析后装载在内存中的起始地址是0x80070000。镜像数据长度(ImageLength,68 07 13 02)也由4个字节组成,它表示.bin镜像文件解析后在内存中占用的总的存储空间大小为(0x02130768)。每条记录(Record)由4字节的起始存储地址(RecordStart)、4字节的数据长度(RecordLength)、4字节的校验码(RecordCheckSum)和RecordLength个字节的记录数据(RecordData)组成。以第一条记录(阴影部分)为例,分别为0x80070040、0x00000008、0x000001E3和0X8007004C434543454。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费