CN101593122B - 一种嵌入式系统的启动方法和装置 - Google Patents
一种嵌入式系统的启动方法和装置 Download PDFInfo
- Publication number
- CN101593122B CN101593122B CN200910108280A CN200910108280A CN101593122B CN 101593122 B CN101593122 B CN 101593122B CN 200910108280 A CN200910108280 A CN 200910108280A CN 200910108280 A CN200910108280 A CN 200910108280A CN 101593122 B CN101593122 B CN 101593122B
- Authority
- CN
- China
- Prior art keywords
- image file
- system image
- down operation
- operation system
- storer
- 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.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式系统的启动方法,所述方法包括以下步骤:A.选择下载操作系统镜像文件的下载方式;B.基于步骤A所选择的下载方式下载操作系统镜像文件;C.加载操作系统镜像文件。本发明还公开了一种嵌入系统的启动装置。本发明通过选择嵌入式系统镜像文件的下载方式,即可适用于机架设备和单一盒式设备,也可适用于集机架设备和单一盒式设备于一体的设备,兼容性强,提高了可靠性和灵活性。
Description
技术领域
本发明涉及通信领域,尤其涉及一种嵌入式系统的启动方法和装置。
背景技术
嵌入式系统广泛的应用于数据通信领域。硬件上由嵌入式微处理器、存储器件、网络处理接口等组成,软件上一般是运行一个多任务的实时操作系统。嵌入式系统的个性化较强,其软件与硬件结合非常紧密。一般要针对硬件进行专门的系统软件开发。
在现有的网络环境中,设备的类型和其所处的网络环境多种多样,从加载启动方式的角度可以归为以下三类:
(1)机架式设备:此类设备往往提供一个或多个主控板作为控制设备,上面运行着网络服务器,支持简单文件传输协议(Trivial File TransferProtocol,以下简称TFTP)或文件传输协议(File Transfer Protocol,以下简称FTP),其他单板出于硬件成本考虑,可以不配备闪存等存储器件,仅配备价格低廉的网络接口即可。
(2)单一盒式设备:此类设备所处的网络环境中往往没有合适的服务器,此时单板上需要配置闪存等存储器件。
(3)结合上述两种的设备:若需要高可用性的设备,则须同时支持网络下载和存储器下载。这就需要在单板上同时提供网络接口和存储器。
在采用嵌入式处理器的网络通信设备中,需要加载针对该处理器的操作系统,然后在此操作系统上运行网络通信相关的业务软件。目前的做法有两种:一种是通过网络下载操作系统镜像文件的方式,一种是通过存储器下载操作系统镜像文件的方式。目前这两种方式无法兼容,系统的可靠性和灵活性较差。
发明内容
本发明要解决的技术问题是提供一种能够适应各种嵌入式系统的启动方法和装置。
本发明的技术问题通过以下技术方案加以解决:
一种嵌入式系统的启动方法,包括以下步骤:
A.选择下载操作系统镜像文件的下载方式;
B.基于步骤A所选择的下载方式下载操作系统镜像文件;
C.加载操作系统镜像文件。
步骤A具体通过引导程序选择下载操作系统镜像文件的下载方式;步骤B具体通过引导程序下载操作系统镜像文件。
步骤A之前还包括引导程序检测硬件环境的步骤;步骤A基于所述检测硬件环境的结果选择下载方式。
步骤A具体通过按照规定的优先级选择下载操作系统镜像文件的下载方式实现。
步骤A所述操作系统镜像文件的下载方式包括:通过网络接口从服务器下载的方式和通过存储器下载的方式。
当步骤A选择从服务器下载的方式时,步骤B具体通过简单文件传输协议或文件传输协议下载操作系统镜像文件;当步骤A选择从存储器下载的方式时,步骤B具体通过硬盘或闪存下载操作系统镜像文件。
一种嵌入式系统的启动装置,包括引导模块和加载模块,所述引导模块包括选择单元和下载单元;所述选择单元用于选择下载操作系统镜像文件的下载方式;所述下载单元用于基于选择单元所选择的下载方式下载操作系统的镜像文件;所述加载模块用于加载操作系统镜像文件。
所述引导模块还包括检测单元,所述检测单元用于检测硬件环境;所述选择单元还用于根据检测硬件环境的结果选择下载方式。
所述引导模块还用于按照规定的优先级选择下载操作系统镜像文件的下载方式。
所述下载单元包括网络下载子单元和存储器下载子单元,所述网络下载子单元用于通过网络接口从服务器下载操作系统镜像文件,所述存储器下载子单元用于通过存储器下载操作系统镜像文件。
当选择单元选择通过网络接口从服务器下载操作系统镜像文件时,所述网络下载子单元还用于基于简单文件传输协议或文件传输协议下载操作系统镜像文件;当选择单元选择通过存储器下载操作系统镜像文件时,所述存储器下载子单元还用于通过硬盘或闪存下载操作系统镜像文件。
本发明与现有技术相比较的有益效果是:
(1)本发明通过选择嵌入式系统镜像文件的下载方式,即可适用于机架设备和单一盒式设备,也可适用于集机架设备和单一盒式设备于一体的设备,兼容性强,提高了可靠性和灵活性;
(2)本发明通过检测嵌入式系统硬件环境,并基于其检测结果选择下载方式,可以根据硬件的实际情况选择下载方式;
(3)本发明可规定下载方式的优先级,灵活方便;本发明即可用于网络下载方式,也可用于存储器下载方式,适用范围广;
(4)本发明简单、方便,且易于实现。
附图说明
图1是单板结构示意图;
图2是本发明装置一种实施方式的功能模块示意图;
图3是本发明装置另一种实施方式的功能模块示意图;
图4是本发明方法具体实施方式下载操作系统镜像文件的流程图;
图5是本发明方法具体实施方式的流程图。
具体实施方式
下面用具体实施方式结合附图对本发明做进一步详细说明。
本发明所述的单板包括网络通信设备,指嵌入式系统所处的硬件环境。如图1所示,单板上的硬件可以包括网络接口、存储器、中央处理器(CPU)等。
如图2、图3所示,本发明一种嵌入式系统的启动装置包括引导模块和加载模块。引导模块用于选择下载操作系统镜像文件的下载方式,并基于上述选择的结果下载操作系统镜像文件。加载模块用于加载操作系统镜像文件。
在本发明的一种实施方式中,引导模块可以包括选择单元和下载单元。选择单元用于选择下载操作系统镜像文件的下载方式,下载单元用于基于选择单元所选择的下载方式下载操作系统的镜像文件。
在另一种实施方式中,引导模块还包括检测单元。检测单元用于检测嵌入式系统硬件环境,选择单元还用于根据检测硬件环境的结果选择下载方式。
引导模块还可用于按照规定的优先级选择下载操作系统镜像文件的下载方式。具体可规定优先通过网络下载子单元下载操作系统镜像文件,其次再选择通过存储器下载子单元下载操作系统镜像文件。当然也可以根据需要规定优先选择通过存储器下载子单元下载操作系统镜像文件,其次再选择通过网络下载子单元下载操作系统镜像文件。
下载单元还可以包括网络下载子单元和存储器下载子单元。网络下载子单元用于通过网络接口从服务器下载操作系统的镜像文件。具体可以通过TFTP或FTP进行下载。存储器下载子单元用于通过存储器下载嵌入式系统操作系统镜像文件。存储器下载子单元还可以包括硬盘,也可以包括闪存。引导模块可以通过硬盘或者闪存下载操作系统镜像文件。
本发明一种嵌入式系统的启动方法,包括以下步骤:
A.选择下载操作系统镜像文件的下载方式;
B.基于步骤A所选择的下载方式下载操作系统镜像文件
C.加载操作系统镜像文件。
本发明的方法先选择下载嵌入式系统操作系统镜像文件的下载方式,后基于选择的下载方式下载操作系统镜像文件,最后再加载操作系统镜像文件。
本发明一种嵌入式系统的启动方法,以下载操作系统镜像文件的过程为例进行说明,其一种实施方式如图4如示,包括以下步骤:
步骤401:检测硬件环境;运行于CPU上的引导程序探测单板上存在的网络接口及其状态,探测单板提供的存储器及其大小。引导程序首先通过检测网络接口的状态寄存器,能获知网络接口的link状态和传输速度,从而判断出该网络接口是否可用;通过存储器的状态寄存器能获知存储器容量大小、分区信息和读写速度。存储器可以包括硬盘和闪存或其他存储设备。
步骤402:选择下载方式;根据步骤401的探测结果,引导程序选择下载操作系统镜像文件的下载方式。可规定选择下载方式的优先级,具体可规定优先通过网络下载的方式下载操作系统镜像文件,其次再选择通过存储器下载的方式下载操作系统镜像文件。当然也可以根据需要规定优先选择通过存储器下载的方式下载操作系统镜像文件,其次再选择通过网络下载的方式下载操作系统镜像文件。如选择通过网络接口下载操作系统镜像文件,可根据TFTP或FTP进行下载。引导程序需要配置TFTP或FTP网络服务器的IP地址、用户名、密码、要下载的文件名等。引导程序也可选择通过存储器下载操作系统镜像文件,通过存储器下载,可包括通过硬盘下载,也可包括通过闪存下载。如通过闪存下载,引导程序需要配置操作系统镜像文件在闪存中的存储区域。闪存的存储容量由1M到256M字节甚至更大,在选择闪存时需要依据操作系统镜像文件选择合适容量的闪存。如引导程序即可选择通过网络接口下载,也可选择通过存储器下载时,则优先选择通过网络接口下载。用户也可根据自身需要,定义为优先通过存储器下载。
步骤403:下载操作系统镜像文件;引导程序根据步骤402选择的下载方式下载操作系统镜像文件。如选择通过网络接口下载操作系统镜像文件,单板首先通过网络接口连接服务器,可通过TFTP下载,也可通过FTP下载。单板将用户名、密码、操作系统镜像文件名称发送给服务器,服务器校验用户名、密码通过后,将操作系统镜像文件数据发给单板,单板划分一段内存存储操作系统镜像文件。如通过其中一种协议下载失败,可通过另一种协议下载。如选择通过存储器下载的方式,则可通过硬盘或闪存下载操作系统镜像文件。
本发明一种嵌入式系统的启动方法,其另一种实施方式,可以包括操作系统镜像文件加载流程,本实施方式以图1所示的单板为例,该单板既支持通过网络接口下载操作系统镜像文件,也支持通过存储器下载操作系统镜像文件,如图5如示,具体包括以下步骤:
步骤501:开始执行嵌入式系统的启动流程;
步骤502:连接服务器下载操作系统镜像文件;本实施方式优先选择通过网络接口下载;可通过TFTP连接服务器,也可通过FTP连接服务器;
步骤503:判断下载是否成功;如下载成功转步骤504,如下载失败则转步骤505;
步骤504:加载镜像文件;可通过ELF(Executable and Linking Format,可执行连接格式)工具对操作系统镜像文件进行解析并启动操作系统;转步骤508;
步骤505:通过存储器下载操作系统镜像文件;如通过网络接口下载失败,则转入本步骤通过存储器下载操作系统镜像文件;通过存储器下载包括通过硬盘下载和通过闪存下载两种方式;通过闪存下载操作系统镜像文件时,可将闪存分成两个区域:一个作为镜像文件的数据存储区;一个作为数据校验存储区。数据校验存储区中保存了操作系统镜像文件的大小和循环冗余校验(Cyclic Redundancy Check,以下简称CRC)信息。引导程序首先以字节的方式读取镜像文件到内存中,然后进行CRC校验。
步骤506:判断校验是否成功;对下载的操作系统镜像文件进行校验,并判断是否校验成功。如CRC校验成功转步骤504,否则转步骤507。
步骤507:提示用户加载失败;
步骤508:结束嵌入式系统的启动流程。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种嵌入式系统的启动方法,其特征在于,包括以下步骤:
A.选择下载操作系统镜像文件的下载方式;
B.基于步骤A所选择的下载方式下载操作系统镜像文件;
C.加载操作系统镜像文件;
步骤A之前还包括引导程序检测硬件环境的步骤;步骤A基于所述检测硬件环境的结果,按照规定的优先级选择下载操作系统镜像文件的下载方式。
2.根据权利要求1所述的方法,其特征在于,步骤A具体通过引导程序选择下载操作系统镜像文件的下载方式;步骤B具体通过引导程序下载操作系统镜像文件。
3.根据权利要求1至2中任意一项所述的方法,其特征在于,步骤A所述操作系统镜像文件的下载方式包括:通过网络接口从服务器下载的方式和通过存储器下载的方式。
4.根据权利要求3所述的方法,其特征在于,当步骤A选择从服务器下载的方式时,步骤B具体通过简单文件传输协议或文件传输协议下载操作系统镜像文件;当步骤A选择从存储器下载的方式时,步骤B具体通过硬盘或闪存下载操作系统镜像文件。
5.一种嵌入式系统的启动装置,其特征在于,包括引导模块和加载模块,所述引导模块包括选择单元、下载单元和检测单元;所述检测单元用于检测硬件环境;所述选择单元用于根据检测硬件环境的结果按照规定的优先级选择下载操作系统镜像文件的下载方式;所述下载单元用于基于选择单元所选择的下载方式下载操作系统的镜像文件;所述加载模块用于加载操作系统镜像文件。
6.根据权利要求5所述的装置,其特征在于,所述下载单元包括网络下载子单元和存储器下载子单元,所述网络下载子单元用于通过网络接口从服务器下载操作系统镜像文件,所述存储器下载子单元用于通过存储器下载操作系统镜像文件。
7.根据权利要求6所述的装置,其特征在于,当选择单元选择通过网络接口从服务器下载操作系统镜像文件时,所述网络下载子单元还用于基于简单文件传输协议或文件传输协议下载操作系统镜像文件;当选择单元选择通过存储器下载操作系统镜像文件时,所述存储器下载子单元还用于通过硬盘或闪存下载操作系统镜像文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910108280A CN101593122B (zh) | 2009-06-24 | 2009-06-24 | 一种嵌入式系统的启动方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910108280A CN101593122B (zh) | 2009-06-24 | 2009-06-24 | 一种嵌入式系统的启动方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101593122A CN101593122A (zh) | 2009-12-02 |
CN101593122B true CN101593122B (zh) | 2012-09-05 |
Family
ID=41407792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910108280A Active CN101593122B (zh) | 2009-06-24 | 2009-06-24 | 一种嵌入式系统的启动方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101593122B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479095A (zh) * | 2010-11-30 | 2012-05-30 | 英业达股份有限公司 | 服务器的测试方法 |
CN102750166B (zh) * | 2012-05-31 | 2016-05-25 | 华为技术有限公司 | 加载操作系统映像的方法及基本输入输出系统 |
CN102999345B (zh) * | 2012-12-06 | 2016-03-30 | 华为技术有限公司 | 一种操作系统加载的方法、设备和系统 |
CN103905631B (zh) * | 2012-12-31 | 2016-06-01 | 比亚迪股份有限公司 | 移动终端及其modem及linux芯片统一下载的方法 |
CN103793250B (zh) * | 2014-02-18 | 2017-03-08 | 武汉精立电子技术有限公司 | 嵌入式系统的快速安全启动装置以及启动方法 |
CN104392152A (zh) * | 2014-12-10 | 2015-03-04 | 深圳市捷顺科技实业股份有限公司 | 一种嵌入式设备的启动方法、嵌入式设备、服务器及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818869A (zh) * | 2006-03-15 | 2006-08-16 | 浙江大学 | 嵌入式操作系统镜像启动的启动优化方法 |
-
2009
- 2009-06-24 CN CN200910108280A patent/CN101593122B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818869A (zh) * | 2006-03-15 | 2006-08-16 | 浙江大学 | 嵌入式操作系统镜像启动的启动优化方法 |
Non-Patent Citations (1)
Title |
---|
陈红展等.基于Intel+PXA272的Bootloader的设计与实现.《嵌入式系统应用》.2006,157页左栏第1段、第157页右栏第2段-第158页左栏第1段、第158页左栏第3段. * |
Also Published As
Publication number | Publication date |
---|---|
CN101593122A (zh) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593122B (zh) | 一种嵌入式系统的启动方法和装置 | |
US10002054B2 (en) | Method and system for performing automatic system recovery | |
US20070245134A1 (en) | Testing device and testing method for computer | |
US20140115395A1 (en) | System and method of cloud testing and remote monitoring for integrated circuit components in system validation | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN109587331B (zh) | 云手机故障自动修复的方法与系统 | |
CN102541604B (zh) | 一种远程升级方法、远程升级的终端设备以及远程升级系统 | |
CN101166116A (zh) | 用于无磁盘计算平台上的操作系统安装的系统和方法 | |
CN101393524A (zh) | 固件更新方法及系统 | |
WO2010108102A1 (en) | Hybrid storage device | |
CN104918114A (zh) | 一种操作系统升级方法及装置 | |
CN110795278B (zh) | 用于提供文件级恢复的系统和方法 | |
CN108052332A (zh) | 一种批量安装节点操作系统的方法 | |
CN105786636A (zh) | 一种系统修复方法及装置 | |
EP2372565A1 (en) | Method for managing USB devices | |
CN101605202B (zh) | 机顶盒软件升级方法及装置 | |
US10007529B2 (en) | Data terminal running mode switching method, device, and data terminal | |
CN106708569B (zh) | 一种跨线列车中vobc配置文件的热加载方法及装置 | |
CN102571491B (zh) | 一种检测网络是否可用的方法及装置 | |
US10776132B1 (en) | System and method for preboot device driver provisioning for remotely-staged operating system | |
CN116820528A (zh) | 固件版本升级方法、装置、芯片和电子设备 | |
CN110688130A (zh) | 物理机部署方法、装置、可读存储介质及电子设备 | |
CN115098301A (zh) | 一种云原生场景下有状态应用的快照生成方法和系统 | |
CN112559349B (zh) | 一种程序的运行方法及运行装置 | |
CN106506276A (zh) | 一种用于服务器的信息检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |