CN103853557A - 一种用Uboot网络启动WinCE的方法 - Google Patents
一种用Uboot网络启动WinCE的方法 Download PDFInfo
- 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
Links
Images
Abstract
本发明公开了一种利用Uboot网络启动WinCE的方法,属于移动设备的操作系统技术领域。在ARM架构的移动设备开机后,先进行内存、网络设备、看门狗、I/O等设备的初始化,Uboot将WinCE系统的Eboot镜像和内核镜像通过网络下载到内存中,然后调用Uboot中引导程序启动Eboot,继而启动WinCE内核。本发明不需要在移动设备上预安装或存储WinCE系统,可减少WinCE的硬件依赖性,减轻移动设备端负载,突破windows系统在嵌入式平台上运行的技术瓶颈,有利于其在嵌入式设备上的发展和应用。
Description
技术领域
本发明专利属于操作系统技术领域,涉及网络文件系统技术,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。
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)
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)
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 | 华为技术有限公司 | 一种嵌入式操作系统的启动方法、装置及基板管理控制器 |
-
2014
- 2014-03-05 CN CN201410078071.3A patent/CN103853557A/zh active Pending
Patent Citations (2)
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)
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)
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 |