CN102053842B - 一种提高boot兼容性的方法及其装置 - Google Patents

一种提高boot兼容性的方法及其装置 Download PDF

Info

Publication number
CN102053842B
CN102053842B CN 200910178336 CN200910178336A CN102053842B CN 102053842 B CN102053842 B CN 102053842B CN 200910178336 CN200910178336 CN 200910178336 CN 200910178336 A CN200910178336 A CN 200910178336A CN 102053842 B CN102053842 B CN 102053842B
Authority
CN
China
Prior art keywords
hardware configuration
address
veneer
subregion
configuration word
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.)
Expired - Fee Related
Application number
CN 200910178336
Other languages
English (en)
Other versions
CN102053842A (zh
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN 200910178336 priority Critical patent/CN102053842B/zh
Priority to PCT/CN2010/074595 priority patent/WO2010145591A1/zh
Publication of CN102053842A publication Critical patent/CN102053842A/zh
Application granted granted Critical
Publication of CN102053842B publication Critical patent/CN102053842B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种提高BOOT兼容性的方法,包括:在单板上指定的存储区域内划分出至少两个子区域,每个子区域中分别存储一种硬件配置字;当单板启动时,在指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;根据所述子区域的地址在对应的存储位置读取该子区域中预设的硬件配置字,并根据该硬件配置字执行系统启动。便大大提高了BOOT的兼容性,以及单板的利用率,为BOOT版本的后续维护和后续单板的升级提供了便利。本发明同时提供了一种单板。

Description

一种提高BOOT兼容性的方法及其装置
技术领域
本发明涉及电子领域,特别涉及一种提高BOOT兼容性的方法及其装置。
背景技术
为了适应电子领域(如通信行业和自动化行业)日益复杂的应用环境,通常情况下,都会针对需求设计相应的主控中央处理器(CPU),而系统启动程度(BOOT)则是引导CPU系统启动的基础。
目前,所设计的各种版本的BOOT和单板上采用的CPU的硬件配置是一一对应的,即一种版本的BOOT只支持一种硬件配置下的CPU。采用这种配置方式,在实际应用中,哪怕仅对CPU的硬件配置进行了简单变更,如将CPU的运行频率由30MHz改为60MHz,也需要重新设计相应版本的BOOT。这就造成了BOOT版本较差的兼容性,从而给实际操作带来了诸多不便。
有鉴于此,需要提供一种新的BOOT的应用方法以克服上述缺陷。
发明内容
本发明实施例提供一种提高BOOT兼容性的方法及其装置,用以提高BOOT针对不同CPU硬件配置的兼容性。
本发明提供的具体技术方案如下:
一种提高系统启动程序BOOT兼容性的方法,包括:
在单板上指定的存储区域内划分出至少两个子区域,每个子区域中分别存储一种硬件配置字;
当单板启动时,在指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;
对所述子区域的地址进行译码处理,将其映射为单板启动时初始读取存储位置的地址;
根据经过译码处理后获得的地址,在对应的存储位置读取预设的硬件配置字,并根据该硬件配置字执行系统启动。
一种单板,包括:
存储区域,划分出至少两个子区域,每个子区域中分别存储一种硬件配置字;
逻辑处理单元,用于在单板启动时,从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址,以及根据所述子区域的地址在对应的存储位置读取该子区域中预设的硬件配置字,并根据该硬件配置字执行系统启动,其中,所述逻辑处理单元进一步包括:
选择寄存器,用于在单板启动时,从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;
译码器,用于对所述选择寄存器获取的子区域的地址进行译码处理,将其映射为单板启动时初始读取存储位置的地址;
执行单元,用于根据经过译码处理后获得的地址,在对应的存储位置读取预设的硬件配置字。
采用本发明实施例所述方法,在同一单板内预设了多种硬件配置字,因此,单板在启动时,会根据单板标识自行选择符合工作模式的配件配置字进行加载,并且在CPU单板发生简单变更时,不需要对BOOT的代码内容进行重新设计,只需重新选择相应的硬件配置字即可以适应单板变更后的工作模式,这样,便大大提高了BOOT的兼容性,以及单板的利用率,为BOOT版本的后续维护和后续单板的升级提供了便利,从而也减少了生产环节的复杂性,节省了工业成本。
附图说明
图1为本发明实施例中单板功能结构示意图;
图2为本发明实施例中逻辑处理单元功能结构示意图;
图3为现有技术下BOOT设计方案应用实例示意图;
图4为本发明实施例中BOOT设计方法应用实例示意图;
图5为本发明实施例中逻辑处理单元根据单板类型进行硬件配置字选择流程图。
具体实施方式
目前,市场上主要实现的BOOT对单板的支持都是一对一的关系,即每种单板都有其专用的BOOT,因而,对于单板的简单变更则只能通过重新编译其专用的BOOT来实现,为了提高BOOT的兼容性,本发明实施例中,在单板上指定的存储区域内划分出至少两个子区域,每个子区域中分别存储一种硬件配置字;当单板启动时,在指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;根据所述子区域的地址在对应的存储位置读取该子区域中预设的硬件配置字,并根据该硬件配置字执行系统启动。
下面结合附图对本发明优选的实施方式进行详细说明。
参阅图1所示,本发明实施例中,单板上设置有存储区域10和逻辑处理单元11,其中,
存储区域10是由BOOT提供的存储空间,保存有BOOT代码,本实施例中,将该存储空间划分为若干子区域(至少2个),每个子区域中保存一种CPU可能使用到的硬件配置(也称为硬件配置字),由管理员根据单板的应用环境预先设置在BOOT内,
逻辑处理单元11,用于根据单板类型在系统启动时跳转到保存有相应硬件配置字的BOOT子区域内,以执行BOOT启动流程,具体为:在单板启动时,从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址,以及根据所述子区域的地址在对应的存储位置读取该子区域中预设的硬件配置字,并根据该硬件配置字执行系统启动,其中,逻辑处理单元进一步包括:选择寄存器,用于在单板启动时,从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;译码器,用于对选择寄存器获取的子区域的地址进行译码处理,将其映射为单板启动时初始读取存储位置的地址;执行单元,用于根据经过译码处理后获得的地址,在对应的存储位置读取预设的硬件配置字。
下面以将存储区域10划分为8个子区域为例作进一步介绍。
参阅图2所示,逻辑处理单元11设置在单板上,逻辑处理单元11中包含有用于进行硬件配置字匹配的选择寄存器110,如图2所示,选择寄存器11的取值可以由外部的电阻通过上下滑动而设置,例如,通过滑动电阻将选择寄存器110的取值设置为1、2...8,即表示指向的BOOT子区域为区域0、区域1...区域7,每个子区域的大小可以根据具体环境的不同而设定,本实施例中,较佳地,将64字节作为一个子区域。在单板启动时,选择寄存器11从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址。
实际应用中,CPU在上电复位后会自动跳转到BOOT内存储区域10中第一个保存有硬件配置字的子区域(即区域0),而本实施例中,需要CPU可以读取区域0~7中保存的硬件配置字,因此,进一步地,需要通过逻辑处理单元11中的译码器111将区域(1~7)的地址译码成区域0的地址,本发明实施例中,通过译码器111的译码操作可以令CPU访问到存储区域10中所有保存有硬件配置字的子区域,因此,译码器111在接收到选择寄存11通知获得的子区域的地址后,对其进行译码处理,以将其映射为单板启动时初始读取存储位置的地址,本实施例仅以区域0为初始读取位置为便进行说明,以下实施例中相同,不再赘述。
如图2所示,逻辑处理单元11还包括一个执行单元112,用于根据经过译码处理后获得的地址,在对应的存储位置读取预设的硬件配置字,并根据该硬件配置字执行系统启动。
上述过程的具体操作为:CPU通过32bit地址连线对逻辑处理单元进行访问,逻辑处理单元通过对CPU发送过来的32bit地址进行检测,如果检测到地址有效且CPU读取的地址对应于8个子区域的地址中的一个,则选择寄存器110记录CPU当前读取的这个地址的取值,并通知译码器111对这个地址进行译码处理,从而将其映射到区域0,执行单元112再根据映射后获得的子区域的地址获取相应的硬件配置字,从而完成系统启动。单板运行时,逻辑处理单元11就是通过上述方法实现对BOOT中保存的不同硬件配置字的访问,进而实现针对不同工作模式下的CPU进行硬件配置字的选择及加载。
上述方法的示意过程可以参阅图2所示,在图2中,执行初始上电过程时,逻辑处理单元11通过控制外部电阻的滑动,进而控制译码器111将区域t(1≤t≤n)的地址译码成区域0,在译码后,区域0的地址即被区域t的地址所覆盖,这样,CPU启动后,通过读取区域0当前的地址便可以实现访问区域t的目的。
下面通过一个具体的实施例对上述方案进行详细说明。
假设有4块CPU单板,这2块单板对BOOT分别有下面的四种配置需求:
单板1:要求系统外部晶振设计30MHz,主频运行在900MHz;
单板2:要求系统外部晶振设计60MHz,主频运行在900MHz;
单板3:要求系统外部晶振设计30MHz,主频运行在450MHz;
单板4:要求系统外部晶振设计60MHz,主频运行在450MHz;
参阅图3所示,若按照现有技术下的技术方案,就需要编译4个不同的BOOT分别烧录到上述4块CPU单板中,如图3所示,(BOOT1、BOOT2、BOOT3和BOOT4分别对应4块单板中烧录的BOOT代码)。对于简单的一对一烧录不会这种方式不会产生任何问题,但是,一旦四种单板都要进行大规模生产时,采用现有技术下的烧录方法就会给生产带来很大的不便。
有鉴于此,参阅图4所示,本发明实施例中,将上述4个单板的四种硬件配置需求分别存放在一个单板上BOOT存储区域内划分出的四个子区域中,一种单板标识对应一个BOOT存储区域,预先由管理人员进行配置;逻辑处理单元11通过焊接在单板上的单板标识区分不同单板,并选择相应的BOOT存储区域内保存硬件配置字来启动系统,以达到兼容不同单板的目的。
参阅图5所示,本发明实施例中,在单板上电启动时,单板上设置的逻辑处理单元11选择适合单板上CPU工作模式的硬件配置字的详细流程如下:
步骤500:在指定位置(如,逻辑外接的高低电平上)获取本地的单板标识。
本实施例中,假设启动的单板为单板4,并且逻辑处理单元11获得的单板标识为标识4。
步骤510:根据获得的单板标识确定其对应的硬件配置字的存储位置,即BOOT内相应子区域的地址。
本实施例中,由于获得的单板标识为标识4,因此,逻辑处理单元11根据该标识确定系统启动时需要使用的硬件配置字存储在BOOT存储区域10中的第4个子区域,即区域3。
步骤520:对确定的子区域的地址进行译码处理,将其映射为BOOT存储区域10中第1个子区域的地址。
本实施例中,即是将区域3的地址映射为区域0的地址。
步骤530:根据执行译码处理后获得的子区域的地址读取保存的硬件配置字,并根据该硬件配置字进行启动CPU,从而启动整个系统。
本实施例中,即是根译码后的区域0的地址(当前为区域3的地址)读取预设设置的硬件配置字4,硬件配置字4包含了单板4启动时所需的最基本的硬件配置参数。
基于上述实施例,在实际应用中,上述BOOT的应用方式并不不仅限于在启动阶段支持主频配置的选择,在具体应用中还可以在系统运行时根据需要进行相应的修改。
例如,假设主频运行在900MHz的单板1的启动后,根据具体环境需要将其配置修改为主频运行在600MHz,那么,4假设BOOT存储区域10中区域4内硬件配置字5(外部晶振为30MHz,主频运行在600MHz)符合修改需要,则可以通过外部接口直接向逻辑处理单元11发送修改命令,将区域4的地址发送给逻辑处理单元11,指示逻辑处理单元11获得区域4的地址,并从中读取配件配置字5,以及按照读取到的配件配置字5重启启动单板。上述方法也可以在单板1改板时运用,只需将选择寄存器10的读取地址设置为区域4即可实现,在此不再赘述。这样,便可以在不修改BOOT的前提下,实现一个单板支持多种应用环境,即支持一个单板上的CPU在多种工作模式下运行,
综上所述,本发明实施例中,在同一单板内预设了多种硬件配置字,因此,单板在启动时,会根据单板标识自行选择符合工作模式的配件配置字进行加载,并且在CPU单板发生简单变更时,不需要对BOOT的代码内容进行重新设计,只需重新选择相应的硬件配置字即可以适应单板变更后的工作模式,这样,便大大提高了BOOT的兼容性,以及单板的利用率,为BOOT版本的后续维护和后续单板的升级提供了便利,从而也减少了生产环节的复杂性,节省了工业成本。
显然,本领域的技术人员可以对本发明中的实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明实施例中的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明中的实施例也意图包含这些改动和变型在内。

Claims (8)

1.一种提高系统启动程序BOOT兼容性的方法,其特征在于,包括:
在单板上指定的存储区域内划分出至少两个子区域,每个子区域中分别存储一种硬件配置字;
当单板启动时,在指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;
对所述子区域的地址进行译码处理,将其映射为单板启动时初始读取存储位置的地址;
根据经过译码处理后获得的地址,在对应的存储位置读取预设的硬件配置字,并根据该硬件配置字执行系统启动。
2.如权利要求1所述的方法,其特征在于,所述硬件配置字包括CPU外部晶振和运行主频。
3.如权利要求1或2所述的方法,其特征在于,在系统启动后,若接收到用于指示调整硬件配置字的修改命令,则根据该修改命令中携带的子区域的地址,在对应的存储位置获取所需的硬件配置字,并根据该硬件配置字重新启动系统。
4.如权利要求1或2所述的方法,其特征在于,在所述单板改版时,根据重新输入的配置命令中携带的子区域的地址,在对应的存储位置获取所需的硬件配置字,并根据该硬件配置字启动系统。
5.一种单板,其特征在于,包括:
存储区域,划分出至少两个子区域,每个子区域中分别存储一种硬件配置字;
逻辑处理单元,用于在单板启动时,从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址,以及根据所述子区域的地址在对应的存储位置读取该子区域中预设的硬件配置字,并根据该硬件配置字执行系统启动,其中,所述逻辑处理单元进一步包括:
选择寄存器,用于在单板启动时,从指定位置读取该单板的单板标识,并根据该单板标识获得对应该单板标识预设的子区域的地址;
译码器,用于对所述选择寄存器获取的子区域的地址进行译码处理,将其映射为单板启动时初始读取存储位置的地址;
执行单元,用于根据经过译码处理后获得的地址,在对应的存储位置读取预设的硬件配置字。
6.如权利要求5所述的单板,其特征在于,所述硬件配置字包括CPU外部晶振和运行主频。
7.如权利要求5或6所述的单板,其特征在于,在系统启动后,若所述逻辑处理单元接收到用于指示调整硬件配置字的修改命令,则根据该修改命令中携带的子区域的地址,在对应的存储位置获取所需的硬件配置字,并根据该硬件配置字重新启动系统。
8.如权利要求5或6所述的单板,其特征在于,在所述单板改版时,根据重新输入的配置命令中携带的子区域的地址,在对应的存储位置获取所需的硬件配置字,并根据该硬件配置字启动系统。
CN 200910178336 2009-11-09 2009-11-09 一种提高boot兼容性的方法及其装置 Expired - Fee Related CN102053842B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200910178336 CN102053842B (zh) 2009-11-09 2009-11-09 一种提高boot兼容性的方法及其装置
PCT/CN2010/074595 WO2010145591A1 (zh) 2009-11-09 2010-06-28 一种提高boot兼容性的方法及单板

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910178336 CN102053842B (zh) 2009-11-09 2009-11-09 一种提高boot兼容性的方法及其装置

Publications (2)

Publication Number Publication Date
CN102053842A CN102053842A (zh) 2011-05-11
CN102053842B true CN102053842B (zh) 2013-07-03

Family

ID=43355882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910178336 Expired - Fee Related CN102053842B (zh) 2009-11-09 2009-11-09 一种提高boot兼容性的方法及其装置

Country Status (2)

Country Link
CN (1) CN102053842B (zh)
WO (1) WO2010145591A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508676A (zh) * 2011-09-28 2012-06-20 中兴通讯股份有限公司 嵌入式系统启动方法及装置
CN103744501B (zh) * 2013-12-11 2018-04-13 中国科学院深圳先进技术研究院 一种移动终端cpu调频的方法及装置
CN105320534B (zh) * 2014-08-01 2020-06-09 中兴通讯股份有限公司 单板的boot远程升级方法、装置及系统
CN107566144A (zh) * 2016-06-30 2018-01-09 南京中兴新软件有限责任公司 单板更新、管理方法及装置
CN106339243A (zh) * 2016-08-29 2017-01-18 联想(北京)有限公司 配置处理方法、装置及电子设备
CN112162794B (zh) * 2020-09-30 2023-03-28 新华三大数据技术有限公司 一种单板启动方法、装置、单板以及网络设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193505A (ja) * 2006-01-18 2007-08-02 Nec Infrontia Corp パーティション・サイズ可変ファームウェア組込装置とそのファームウェア更新方法
CN101119188A (zh) * 2007-09-25 2008-02-06 中兴通讯股份有限公司 一种实现业务不中断的单板升级方法
CN101329632A (zh) * 2008-04-30 2008-12-24 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652844A (en) * 1995-06-26 1997-07-29 Motorola, Inc. Flexible pin configuration for use in a data processing system during a reset operation and method therefor
CN1725207A (zh) * 2005-04-27 2006-01-25 杭州华为三康技术有限公司 调整处理器配置模式的方法及系统
TWI356300B (en) * 2007-11-16 2012-01-11 Inventec Corp Method for adjusting setup default value of bios a
CN101465754A (zh) * 2008-12-31 2009-06-24 上海华为技术有限公司 加载复位配置字的方法、设备及通信单板

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193505A (ja) * 2006-01-18 2007-08-02 Nec Infrontia Corp パーティション・サイズ可変ファームウェア組込装置とそのファームウェア更新方法
CN101119188A (zh) * 2007-09-25 2008-02-06 中兴通讯股份有限公司 一种实现业务不中断的单板升级方法
CN101329632A (zh) * 2008-04-30 2008-12-24 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置

Also Published As

Publication number Publication date
CN102053842A (zh) 2011-05-11
WO2010145591A1 (zh) 2010-12-23

Similar Documents

Publication Publication Date Title
CN102053842B (zh) 一种提高boot兼容性的方法及其装置
CN103176824B (zh) 一种系统升级的方法及装置
US7275236B1 (en) Method for programming a multiple device control system using object sharing
CN101378614B (zh) Led发光型态控制系统及方法
CN102314364B (zh) 一种自动适配移动终端的方法
CN101551780B (zh) 一种电视机及其数据存储方法、装置
CN110633091A (zh) 一种电子模块及其软件无线升级方法
CN103324501A (zh) 无线传感器网络节点软件高效远程更新方法
CN105653335A (zh) 一种插件程序的控制方法和装置
CN103995191A (zh) 空调器机型的识别方法及装置
CN101848105A (zh) 一种通信设备的编号设置方法及系统
CN102830988A (zh) 固件更新的方法及其相关计算机系统
CN107222527B (zh) 一种通过配置文件控制物联网设备分模式运行的方法
CN105335166A (zh) 嵌入式设备的系统及嵌入式设备远程升级的方法
CN106919407B (zh) 电脑内嵌产品资料同步更新的方法
CN101944072A (zh) 一种终端设备的启动方式配置方法及设备
CN104461603A (zh) 一种信息处理方法及电子设备
CN112311736A (zh) 遥控装置、家电设备及其通信协议配置方法、装置
CN102195811B (zh) 实现网元组件软件升级的方法及装置、主控板
CN111459510A (zh) 跨网络操作系统的安装方法、装置、电子设备及介质
CN1287287C (zh) 基于控制系统实现在线更新数据的方法
JP2011158967A (ja) 電子制御装置
CN114895942A (zh) 应用换肤方法、装置、设备及存储介质
CN110188006B (zh) 一种数据维护方法、装置及设备
US7197509B2 (en) Method, system, and computer program product for managing persistent data across different releases

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130703