CN103853557A - 一种用Uboot网络启动WinCE的方法 - Google Patents

一种用Uboot网络启动WinCE的方法 Download PDF

Info

Publication number
CN103853557A
CN103853557A CN201410078071.3A CN201410078071A CN103853557A CN 103853557 A CN103853557 A CN 103853557A CN 201410078071 A CN201410078071 A CN 201410078071A CN 103853557 A CN103853557 A CN 103853557A
Authority
CN
China
Prior art keywords
wince
uboot
eboot
mirror image
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410078071.3A
Other languages
English (en)
Inventor
熊永华
王慧昭
吴敏
张尧学
陈建二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN201410078071.3A priority Critical patent/CN103853557A/zh
Publication of CN103853557A publication Critical patent/CN103853557A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种利用Uboot网络启动WinCE的方法,属于移动设备的操作系统技术领域。在ARM架构的移动设备开机后,先进行内存、网络设备、看门狗、I/O等设备的初始化,Uboot将WinCE系统的Eboot镜像和内核镜像通过网络下载到内存中,然后调用Uboot中引导程序启动Eboot,继而启动WinCE内核。本发明不需要在移动设备上预安装或存储WinCE系统,可减少WinCE的硬件依赖性,减轻移动设备端负载,突破windows系统在嵌入式平台上运行的技术瓶颈,有利于其在嵌入式设备上的发展和应用。

Description

一种用Uboot网络启动WinCE的方法
技术领域
本发明专利属于操作系统技术领域,涉及网络文件系统技术,Nand Flash分区技术。 
背景技术
Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,主要有以下几个优点:开发周期短,内核完善,主要是应用层开发;有很好的用户图形界面,GUI丰富,开发工具强大;系统维护难度小。
Windows CE并不是一个通用的安装版操作系统,在各个嵌入式硬件设备中,一款CE通常只会针对某一硬件平台,生成Boot loader是定制Windows CE操作系统过程中一个重要的开发环节。通常情况下,Windows CE的引导过程采用分级Boot loader(Nboot和Eboot)设计。系统上电时首先自动加载Nand Flash的block 0上的前4KB的Nboot代码,完成最基本的硬件初始化之后,将Eboot拷贝到内存中并跳转执行。Eboot主要由Blcommon、OEM代码和网络驱动等组成,有烧写和下载两种工作模式。
与现有的引导Windows CE系统的分级Boot loader相比,Uboot作为一种Boot loader具有以下优点:Uboot是基于GPL条款的开放源码开放源码项目,是GPL下资源代码最完整的一个通用Boot loader;Uboot有引导启动和下载运行两种模式,并具有大型Boot loader所应该具备的所有功能;Uboot支持的处理器架构包括powerPC,ARM,MIPs和X86等;Uboot支持大量的外设驱动,支持多种不同的文件系统。 
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种用Uboot网络启动WinCE的方法,减少WinCE的硬件依赖性,减轻移动设备端负载,突破windows系统在嵌入式平台上运行的技术瓶颈。
为解决上述技术问题,本发明所采用的技术方案是:一种用Uboot网络启动WinCE的方法,该方法为:
1)利用Flash分区技术,为Uboot镜像及WinCE的镜像文件Eboot、WinCE的内核镜像NK设计相应的Block区域;
2)在Uboot中添加Eboot镜像和WinCE镜像的引导程序;
3)根据上述Block区域,修改WinCE的BSP源码中定义分区的文件loader.h的内容,并修改makefile文件,使得BSP源码编译之后得到的镜像文件Eboot和NK的跳转地址与上述Block区域的地址有正确的对应关系,重新编译BSP源码,得到重新编译后的Eboot和NK镜像文件;
4)在服务器上配置好网络服务,建立用户目录,为用户提供操作系统;
5)将经过以上四个步骤修改过后的Uboot进行编译,并下载到Flash的Uboot分区内,上电运行。
所述步骤1)中,采用NAND Flash分区技术,根据镜像文件的大小,对Flash存储器进行区域划分,将Flash上第一个2M空间留给Uboot镜像,随后1M是TOC区域,TOC区域后2M是Eboot镜像文件,最后一部分分配给WinCE系统内核镜像,即NK.bin
与现有技术相比,本发明所具有的有益效果为:本发明实现了Uboot对Windows CE系统的支持,减少了操作系统对Boot loader的依赖性,使得Windows CE操作系统具有更强的可移植性,用网络方式启动Windows CE系统,使得操作系统不依赖硬件平台,突破了windows系统在嵌入式平台上运行的技术瓶颈,有利于其在嵌入式设备上的发展和应用。
附图说明
图1为本发明方法流程图;
图2为本发明一实施例Nand Flash分区结构图; 
图3为本发明一实施例引导程序流程图;
图4为本发明一实施例内存分配图。
具体实施方式
本发明的总体思路为:在ARM架构的移动设备开机后,先进行内存、网络设备、看门狗、I/O等设备的初始化,Uboot将WinCE系统的Eboot镜像和内核镜像通过网络下载到内存中,然后调用Uboot中引导程序启动Eboot,继而启动WinCE内核。
本发明的具体步骤如下:
S1:对Flash进行分区:进行WinCE系统支持和引导时,引入Flash分区技术,为不同的镜像文件(Uboot、Eboot、NK)设计相应的Block区域,使得Uboot在引导WinCE系统时能够调用Eboot中的引导机制,正确、方便的引导WinCE系统,并且方便WinCE系统在启动之后对Flash的管理。
S2:在Uboot中添加引导程序:在Uboot中添加Eboot镜像和WinCE镜像的引导程序,参照附图3,引导程序设计包括服务器参数的设置,镜像文件下载地址、启动命令、禁用MMU等。
S3: 修改WinCE的BSP:根据上述Flash分区,修改BSP源码中定义分区的文件loader.h的内容,并修改makefile文件。使得源码编译之后得到的镜像文件Eboot和NK的跳转地址与S1中的分区地址有正确的对应关系,并重新编译BSP,得到相应的Eboot和NK镜像文件。
S4:搭建服务器环境:在服务器上事先配置好网络服务,建立用户目录来为用户提供操作系统。
S5:编译运行:将经过以上四个步骤修改过后的Uboot进行编译,并下载到Flash的Uboot分区内,上电运行。
完成以上五个步骤便可上电启动,运行Uboot,Uboot调用相应的启动程序,同时向服务器端发送启动中断,服务器截断该中断信号后,会搜索Eboot镜像文件和WinCE系统内核以文件形式加载到内存,烧录进Flash分区再启动,完成WinCE的网络启动。 
以下结合具体实例说明本发明的方法。
该实例采用型号为OK6410的一款ARM架构智能移动终端开发板作为硬件平台,该开发板可用于开发平板电脑、手机等,硬件配置为:ARM架构CPU,型号为S3C6410;无线网卡,型号Marvell 8686;按键模块;存储模块为2G容量的NAND Flash。具体实施步骤如图1中的S1~ S5所示。
S1:参照附图2,该方法中引用了NAND Flash分区技术,根据镜像文件的大小,对Flash存储器进行区域划分,将Flash上第一个2M空间留给Uboot镜像,随后1M是TOC区域,再2M是Eboot镜像,最后一部分分配给WinCE系统内核,即NK.bin。
S2:在Uboot中添加启动引导程序:通过tftp协议,将Eboot镜像和NK.bin文件根据配置文件config.bib的内容,分别下载到内存固定位置中,参照图3,Eboot和NK的下载地址分别为0x50030000和0x50150000,再调用nandwrite命令写入步骤S1设计的Flash分区中。最后关闭MMU,调用bootm命令,启动Eboot。
S3:修改BSP源码中相关分区部分,参照图1,在loader.h中修改定义各个文件的Block大小的宏定义,并修改makefile和config文件,重新编译BSP源码。
S4:在装有Linux系统的服务器上安装tftp服务,服务文件目录为/tftproot。将Eboot镜像和WinCE的内核镜像NK.bin拷贝到服务器端/tftproot路径下。
S5:编译经过以上步骤修改过后的Uboot代码,并将Uboot镜像文件拷入到NAND Flash的前2M空间内。 

Claims (2)

1.一种用Uboot网络启动WinCE的方法,其特征在于,该方法为:
1)利用Flash分区技术,为Uboot镜像及WinCE的镜像文件Eboot、WinCE的内核镜像NK设计相应的Block区域;
2)在Uboot中添加Eboot镜像和WinCE镜像的引导程序;
3)根据上述Block区域,修改WinCE的BSP源码中定义分区的文件loader.h的内容,并修改makefile文件,使得BSP源码编译之后得到的镜像文件Eboot和NK的跳转地址与上述Block区域的地址有正确的对应关系,重新编译BSP源码,得到重新编译后的Eboot和NK镜像文件;
4)在服务器上配置好网络服务,建立用户目录,为用户提供操作系统;
5)将经过以上四个步骤修改过后的Uboot进行编译,并下载到Flash的Uboot分区内,上电运行。
2.根据权利要求1所述的用Uboot网络启动WinCE的方法,其特征在于,所述步骤1)中,采用NAND Flash分区技术,根据镜像文件的大小,对Flash存储器进行区域划分,将Flash上第一个2M空间留给Uboot镜像,随后1M是TOC区域,TOC区域后2M是Eboot镜像文件,最后一部分分配给WinCE系统内核镜像,即NK.bin。
CN201410078071.3A 2014-03-05 2014-03-05 一种用Uboot网络启动WinCE的方法 Pending CN103853557A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410078071.3A CN103853557A (zh) 2014-03-05 2014-03-05 一种用Uboot网络启动WinCE的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410078071.3A CN103853557A (zh) 2014-03-05 2014-03-05 一种用Uboot网络启动WinCE的方法

Publications (1)

Publication Number Publication Date
CN103853557A true CN103853557A (zh) 2014-06-11

Family

ID=50861255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410078071.3A Pending CN103853557A (zh) 2014-03-05 2014-03-05 一种用Uboot网络启动WinCE的方法

Country Status (1)

Country Link
CN (1) CN103853557A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503922A (zh) * 2015-01-19 2015-04-08 中国地质大学(武汉) 基于uboot引导加载WindowsCE系统的方法
CN106598593A (zh) * 2016-12-13 2017-04-26 济南浪潮高新科技投资发展有限公司 一种利用Uboot U盘启动WinCE的方法
CN106951257A (zh) * 2017-03-24 2017-07-14 济南浪潮高新科技投资发展有限公司 一种用Uboot_CDROM启动WinCE的实现方法
CN108073420A (zh) * 2016-11-07 2018-05-25 杭州海康威视数字技术股份有限公司 一种系统无盘启动方法及装置
CN109857468A (zh) * 2019-01-04 2019-06-07 烽火通信科技股份有限公司 一种在单Linux系统镜像中支持多DTB的方法及系统
CN112732345A (zh) * 2021-01-06 2021-04-30 北京科银京成技术有限公司 一种嵌入式系统的启动方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015678A1 (en) * 2004-07-01 2006-01-19 Winity Technology Inc. Virtual memory device including a bridge circuit
CN103605536A (zh) * 2013-11-06 2014-02-26 华为技术有限公司 一种嵌入式操作系统的启动方法、装置及基板管理控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015678A1 (en) * 2004-07-01 2006-01-19 Winity Technology Inc. Virtual memory device including a bridge circuit
CN103605536A (zh) * 2013-11-06 2014-02-26 华为技术有限公司 一种嵌入式操作系统的启动方法、装置及基板管理控制器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GUITARHUA: "《http://www.360doc.com/content/12/1009/16/6828497_240460980.shtml》", 20 July 2011 *
XUYUEFEI1988: "《http://blog.csdn.net/xuyuefei1988/article/details/7371017》", 19 March 2012 *
客金坤: "基于PowerPC城轨变流器监控系统设计", 《中国优秀硕士学位论文全文数据库》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503922A (zh) * 2015-01-19 2015-04-08 中国地质大学(武汉) 基于uboot引导加载WindowsCE系统的方法
CN104503922B (zh) * 2015-01-19 2018-02-13 中国地质大学(武汉) 基于uboot引导加载WindowsCE系统的方法
CN108073420A (zh) * 2016-11-07 2018-05-25 杭州海康威视数字技术股份有限公司 一种系统无盘启动方法及装置
CN106598593A (zh) * 2016-12-13 2017-04-26 济南浪潮高新科技投资发展有限公司 一种利用Uboot U盘启动WinCE的方法
CN106951257A (zh) * 2017-03-24 2017-07-14 济南浪潮高新科技投资发展有限公司 一种用Uboot_CDROM启动WinCE的实现方法
CN109857468A (zh) * 2019-01-04 2019-06-07 烽火通信科技股份有限公司 一种在单Linux系统镜像中支持多DTB的方法及系统
CN112732345A (zh) * 2021-01-06 2021-04-30 北京科银京成技术有限公司 一种嵌入式系统的启动方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN103761088A (zh) 一种适用于arm架构移动设备的多操作系统切换方法
CN103853557A (zh) 一种用Uboot网络启动WinCE的方法
CN102902556B (zh) 一种嵌入式设备的多级引导加载方法
CN101763279B (zh) 一种BootLoader架构设计方法
US9098309B2 (en) Power consumption optimized translation of object code partitioned for hardware component based on identified operations
CN102236621B (zh) 计算机接口信息配置系统及方法
CN102087609B (zh) 多处理器平台下的动态二进制翻译方法
CN105204913A (zh) 一种在Android操作系统上运行Linux应用程序的方法及系统
CN104216745A (zh) 一种半主动悬架ecu控制器软件在线升级系统与方法
CN102402427A (zh) 一种Java应用程序的更新方法及装置
KR101810536B1 (ko) 라이브러리 업데이트 방법, 이를 위한 단말 및 시스템
CN104407878A (zh) C6000数字信号处理器在线升级方法
CN112988183A (zh) 程序升级方法、装置、电子设备及存储介质
CN108170480A (zh) 一种基于u-boot引导μC/OS操作系统的启动方法
CN103092654B (zh) 一种基于WebKit的WebOS实现方法和系统
CN104572061A (zh) 一种基于龙芯服务器的uefi固件实现方法
CN111142935A (zh) 跨平台运行应用程序的方法、装置、计算机系统和介质
CN102364433B (zh) 在ARM处理器上实现Wine构建工具移植的方法
CN106598647B (zh) 一种智能装置开发平台
CN104391726A (zh) 一种基于Bootloader的SFP光模块升级方法
CN102520957A (zh) 一种嵌入式系统的软件分离设计的方法
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN104572162A (zh) 一种基于龙芯手持式计算机的uefi固件实现方法
CN112631915B (zh) 一种pcie设备软件仿真的方法、系统、设备及介质
CN110781126A (zh) 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140611