EDN China > 设计实例 > 消费电子设计 > 便携设备 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于S3C2440A的Windows CE系统快速启动方案

21IC 石本智 王亚非 周 鹰 曾宏亮?? 2011年04月11日 ?? 收藏0

  0 引言

  微软的Windows CE系统是被广泛使用的嵌入式系统之一。在产品的研究开发中,一些嵌入式操作系统的启动速度所花时间比较长,Wind-ows CE也不例外。由于各种因素的影响,有些情况下启动甚至超过1 min。而在实际的嵌入式电子产品中客户需要体验一个极速爽快而又稳定的系统,避免长时间等待。因此,如何快速启动Windows CE系统是一个很重要的内容。本文将基于三星公司的S3C2440A处理器和Windows CE系统,分析Windows CE的启动原理和影响其启动速度的原因,给出加快启动的方案。

  1 Windows CE的启动过程

  一般嵌入式系统的引导过程如图1所示。其中引导加载程序(BootLoader)是系统加电后运行的第一段代码,主要是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等。其次是系统执行环境的初始化,将系统内核(Kernel)和应用程序的映像从只读存储器加载或拷贝到系统的RAM中执行,完成系统内核的加载以及应用程序的启动等。

嵌入式系统的引导过程

  1.1 BootLoader的启动

  ?BootLoader是在操作系统内核运行之前运行的一段小程序,它可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,为调用操作系统内核准备好环境。引导程序完成自己的任务后,就将控制权移交给内核。通常引导程序是放置在不易丢失的快闲存储器的开始地址或者是系统冷启动时PC寄存器的初始值。

  1.2 内核启动时加载过程

  BootLoader按照Windows CE启动方式的不同可分为2大类:下载模式和启动加载模式。当BootLoader把nk.bin解压到RAM后就把CPU控制权交给Windows CE内核。

  启动加载模式是BootLoader的正常加载模式,BootLoader从存储介质将操作系统加载到RAM中,并从RAM中启动运行操作系统。该过程并没有用户的介入。

  下载模式则是BootLoader从开发工作站下载操作系统映像文件到目标设备的RAM,然后再将它写到目标设备的FLASH等存储介质中。该过程要通过串口线或网络连接等通信手段从主机(Host)下载文件。因此,不同的加载模式会直接影响内核启动加载时间。

  2 影响Windows CE启动速度的主要因素

  影响系统启动时间的因素可以从系统本身和硬件2个方面考虑。

  2.1 系统加载

  系统在启动时涉及到BootLoader、内核加载、初始化进程、硬件的驱动程序和接口程序以及应用程序组等。因此Windows CE启动速度要与引导程序初始化时间、内核加载时间、硬件驱动的加载时间、应用程序的加载时间等有着直接的关系。

  2.2 硬件

  显然,CPU的频率及效率、内存的大小及类型等直接影响着系统的启动速度。例如ARM7和ARM9对运行系统的速度是明显不一样的,另外,内存方面选择NoR FLASH还是NAND FLASH其也会对启动速度有一定的影响。

  3 Windows CE快速启动的方案

  快速启动Windows CE的方案大致有下面几种。由于实验条件的限制,本文主要讨论内核体积、使用Multi-bin技术、串口打印输出、不同注册表形式对启动速度的影响。

  3.1 使用合理的闪存和选择适当的Windows CE内核的运行方式

  当前应用于嵌入式系统的FLASH从制作工艺角度讲主要分为2种:NOR FLASH与NANDFLASH。NOR的特点是芯片内执行(Execute In Place,XIP),这样应用程序可以直接在NOR FLASH中直接运行,而无需再把代码读到系统的RAM中,但是很低的写入和擦除速度大大影响了它的性能。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快,但在使用时必须先写入驱动程序,而且,由于不能向坏块写入,这就需要在NAND FLASH上自始自终都必须进行虚拟映射,可能会产生额外的时间花费。因此,选择不同闪存对启动速度有一定的影响。

  也正因为上面2种闪存的特点不同,Windows CE的运行方式直接与它们有关,可以分为2类,一是在NOR FLASH上直接运行,二是用NAND FLASH来存储,再加载到内存中运行。前者把内核的可执行映像烧写到FLASH上,可以实现XIP;而后者是先把内核的压缩文件放在FLASH上,启动时先解压,再执行。因此,在NOR FLASH上直接运行会速度更快。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

S3C2440A? Windows CE? 快速启动?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈