CN1295603C - 加载升级单板启动程序的方法 - Google Patents

加载升级单板启动程序的方法 Download PDF

Info

Publication number
CN1295603C
CN1295603C CNB031373127A CN03137312A CN1295603C CN 1295603 C CN1295603 C CN 1295603C CN B031373127 A CNB031373127 A CN B031373127A CN 03137312 A CN03137312 A CN 03137312A CN 1295603 C CN1295603 C CN 1295603C
Authority
CN
China
Prior art keywords
bootrom
feature board
veneer
routine
flash card
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
CNB031373127A
Other languages
English (en)
Other versions
CN1517865A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB031373127A priority Critical patent/CN1295603C/zh
Publication of CN1517865A publication Critical patent/CN1517865A/zh
Application granted granted Critical
Publication of CN1295603C publication Critical patent/CN1295603C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种加载升级启动程序的方法,该方法包括步骤:将存储有升级版启动程序的闪存卡与待升级的功能板连接,并将该功能板存储启动区程序的存储器设置为可写状态;由闪存卡的引导程序启动功能板运行;以及闪存卡将升级版启动程序复制到待升级功能板存储器的启动区域。本发明具有操作简单,可重复利用,以及受外界干扰小等特点。

Description

加载升级单板启动程序的方法
技术领域
本发明涉及程序的加载升级方法,特别涉及一种加载升级启动程序的方法。
背景技术
每一个计算机系统的启动都需要一个BOOTROM来引导,完成功能板CPU最小系统硬件初始化,为整个软件系统提供底层的硬件支持,为操作系统提供设备驱动程序和系统中断服务程序,订制操作系统的功能,为应用软件提供一个实时多任务的运行环境。BOOTROM也是一段软件程序,因而也需要存储载体来存放。BOOTROM的存储载体必须能在系统掉电后保证载体内容不丢失,否则系统掉电后将无法启动,常用的存储载体有EEPROM和FLASH等。BOOTROM只是用来引导系统,正真的系统功能并不在这部分实现,而是在高层软件中实现,因而BOOTROM的功能要求尽量精简,具有相对的稳定性,不会随上层软件的更新而更新,BOOTROM的损坏将导致系统无法启动,并必须借助其它设备来恢复BOOTROM,使系统恢复。由于BOOTROM的这些特点和在系统中的特殊作用及其存储载体的特殊性,人们常把它作为一个硬件设备看待。由于BOOTROM和硬件、操作系统密切相关,系统硬件的变化、操作系统功能的裁减都有可能需要BOOTROM的更新升级。
要将BOOTROM放入到其载体中必须借助其它的系统或设备完成。EEPROM载体多用烧片机烧片的方式来完成BOOTROM的加载。用EEPROM做载体时,BOOTROM载体多设计成可插拔的,因而BOOTROM的升级多采用重新烧片或更换加载有新BOOTROM的载体实现。BOOTROM以FLASH做载体时必须用其它的手段来实现BOOTROM的加载,如JTAG电缆等,这种加载方式非专业人士不易掌握。
BOOTROM的升级可以也采用在线升级的方式完成,在线升级需要上层软件的支持,一般采用文件传送协议,如XMODEM、TFTP、FTP等将新的BOOTROM文件传送到待升级的系统中,然后由系统将收到的BOOTROM软件写入到BOOTROM载体中,系统下次重启后将用新的BOOTROM引导系统,如此便实现了系统BOOTROM的升级。
现有BOOTROM的加载多采用烧片机烧制EEPROM的方式,BOOTROM的升级多采用更换BOOTROM及其载体、重新烧制BOOTROM和在线升级的方式。BOOTROM的烧制过程比较麻烦,要用专门的工具(如:烧片机),BOOTROM载体的插拔也需要借助一定的工具。烧制一套只能给一套产品使用。
虽然有些设备提供在线升级BOOTROM的功能,但在线升级需要单板上层软件和文件传送程序(如超级终端的xmodem、Tftp server等)的支持,在线升级存在一定的风险,操作不当或掉电将导致单板启动不了,只能通过更换芯片,该方法解决不了系统第一次启动前的BOOTROM加载。
发明内容
本发明的目的在于提供一种加载升级单板启动程序的方法,以简化升级操作和减少升级风险。
本发明包括步骤:
A、将存储有升级版启动程序的闪存卡与待升级的功能板连接,并将该功能板存储启动区程序的存储器设置为可写状态;
B、将功能板上电并由闪存卡的引导程序启动功能板运行;以及
C、由闪存卡将升级版启动程序复制到待升级功能板存储器的启动区域。
根据上述方法:
预先用烧片机将升级版启动程序烧制到闪存卡的EEPROM中。
在烧制升级版启动程序前还包括将该程序进行压缩的步骤;步骤C中在复制程序前还包括相应地解压缩程序的步骤。
待升级功能板通过串口与一终端连接,由该终端监视功能板的串口信息。
本发明采用闪存(flash)卡加载升级BOOTROM,每次只烧制一套EEPROM,即可给所有需要升级的设备加载升级BOOTROM,不用为每一套设备烧制一套EEPROM;而且不用借助其它工具,也不会因加载失败和系统掉电等导致单板无法启动。因此,本发明具有操作简单,可重复利用,以及受外界干扰小等特点。
附图说明
图1为计算机软件系统结构示意图;
图2为闪存卡与单板存储结构示意图;
图3为系统正常启动的流程图;
图4为本发明的流程图。
具体实施方式
本实施例以对MA5200 HAC单板中的启动程序升级为例对本发明进行详细说明。
参阅图2,HAC单板上没有用EEPROM存储器作为单板的引导程序(BOOTROM)载体,而是用单板上8M闪存(flash)空间中低端地址部分的空间作为BOOTROM载体,该8M闪存(flash)都是以贴片的方式焊接在单板上。所以BOOTROM的升级不能通过更换或重新烧制EEPROM的方式实现,而必须用加载的方式升级。闪存的8M空间分为启动区和运行区,分别用来存储启动区代码和运行区代码,分别占用flash空间的4M。
启动区的内容主要有单板的BOOTROM,系统的相关配置信息和保证单板能正常加载运行区代码的相关代码,各种逻辑,微码等,启动区的作用是保证系统能够通过软件升级运行区的代码,当单板升级运行区代码失败时(包括升级过程中单板掉电,运行区文件不对等)单板将启动不起来,此时可以强制单板从启动区启动,再次加载运行区代码。启动区可以通过硬件跳线实现写保护功能。
参阅图3,正常情况下,单板上电从BOOTROM引导后将运行代码搬移到内存(SDRAM)中并运行运行区代码,即自动从运行区启动,启动后正常运转。当运行区启动连续多次失败,单板就会从启动区启动自动或等待手动加载运行区代码。
由于启动区的代码主要功能就是加载升级运行区代码,现场有效的代码存放在运行区,因而其代码具有相对的稳定性,其升级操作也不会太频繁,升级时整个启动区是一起升级。现有单板提供在线升级功能,由于更新启动区代码需要同时更新多个软件包,在线升级操作比较复杂,存在一定的风险,一旦在升级过程中单板掉电或某一软件包错误将导致单板不能引导程序不能引导或启动区程序无法启动,此时没法进行进一步的升级操作。
参阅图4,加载升级的主要流程包括步骤:
将存储有升级版启动程序的闪存卡插在待升级单板的插座上,通过跳线柱将单板上8M闪存的启动区设置为可写状态;
对单板上电,由闪存卡的引导程序启动单板运行;
闪存卡将升级版启动程序复制到待升级单板闪存的启动区域,直到完成加载升级。
详细的加载升级过程如下:
(1)用烧片机将版本机上4个压缩的启动区的升级版程序分别烧制到4片EEPROM中。
(2)将4片EEPROM安装到闪存(flash)卡上;该4片EEPROM中的主要内容除了有待升级单板的启动区代码外,还有flash卡的引导程序(BOOTROM)。
(3)将闪存(flash)卡插到待升级单板相应的插座上,用跳线柱将待升级单板上的J12短路器短接,使单板闪存的启动区处于可写状态。
(4)将单板串口线插到单板的调试串口上,另一头接到一计算机(超级终端)的串口上,启动该计算机,设置相应串口通信参数,以监视串口信息。
(5)将待升级单板插入机框并上电,由闪存卡上的引导程序引导单板启动,并将闪存卡4片EEPROM中的升级版程序代码解压缩后写入到单板8M闪存中的启动区域。同时,通过所述计算机监视单板串口信息。
没有插闪存卡时,单板的8M闪存的编址从0开始,插上闪存卡后,闪存卡上的2M EEPROM空间的编址从0开始,单板的8M闪存的编址从4M开始。系统启动的时候固定从物理0地址开始获取指令,这样当没有闪存卡的时候,单板启动就从板载的8M闪存上启动,当有闪存卡的时候,单板启动就从闪存卡上启动。因此,通过硬件设置从而保证单板从闪存卡上的4片EEPROM中启动,即采用闪存卡上的BOOTROM引导单板。
单板从0地址启动后,进行CPU初始化,内存初始化等,然后打开内存管理单元(MMU)和相关地址映射,并启动上层软件。上层软件使用的地址空间是通过内存管理单元映射后的地址空间。如:打开内存管理单元和相关地址映射之后,单板的8M闪存空间映射到0x8000000~0x8800000处,因此,闪存卡将升级版程序代码解压缩后写入到该地址范围的启动区域中。
(6)等待一段时间后,系统会在调试串口上提示操作完成,此时,从机框中拔出单板并取下闪存卡,然后取下单板上的跳线柱,完成单板启动区代码升级。
完成加载升级的单板上电后会用刚拷贝到启动区的单板BOOTROM引导系统。
对多个其他单板要进行同样的升级时,不需重新烧制EEPROM,直接用该闪存卡重复操作2~6步就可实现单板启动区的加载和升级。

Claims (5)

1、一种加载升级启动程序的方法,其特征在于包括步骤:
A、将存储有升级版启动程序的闪存卡与待升级的功能板连接,并将该功能板存储启动区程序的存储器设置为可写状态;
B、将功能板上电并由闪存卡的引导程序启动功能板运行;以及
C、由闪存卡将升级版启动程序复制到待升级功能板存储器的启动区域。
2、如权利要求1所述的方法,其特征在于:预先用烧片机将升级版启动程序烧制到闪存卡的EEPROM中。
3、如权利要求2所述的方法,其特征在于:在烧制升级版启动程序前还包括将该程序进行压缩的步骤;步骤C中在复制程序前还包括相应地解压缩程序的步骤。
4、如权利要求1所述的方法,其特征在于:待升级功能板通过串口与一终端连接,由该终端监视功能板的串口信息。
5、如权利要求1所述的方法,其特征在于:对功能板加载升级完成时出现提示信息。
CNB031373127A 2003-01-28 2003-06-08 加载升级单板启动程序的方法 Expired - Fee Related CN1295603C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031373127A CN1295603C (zh) 2003-01-28 2003-06-08 加载升级单板启动程序的方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN03103276 2003-01-28
CN03103276.1 2003-01-28
CNB031373127A CN1295603C (zh) 2003-01-28 2003-06-08 加载升级单板启动程序的方法

Publications (2)

Publication Number Publication Date
CN1517865A CN1517865A (zh) 2004-08-04
CN1295603C true CN1295603C (zh) 2007-01-17

Family

ID=34314726

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031373127A Expired - Fee Related CN1295603C (zh) 2003-01-28 2003-06-08 加载升级单板启动程序的方法

Country Status (1)

Country Link
CN (1) CN1295603C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1331049C (zh) * 2004-11-22 2007-08-08 华为技术有限公司 电信单板软件加载方法
CN100359468C (zh) * 2004-12-14 2008-01-02 中兴通讯股份有限公司 一种单板软件下载方法和装置
CN100359469C (zh) * 2005-07-22 2008-01-02 上海华为技术有限公司 单片机升级方法
CN100373334C (zh) * 2005-12-30 2008-03-05 四川长虹电器股份有限公司 存储器数据升级方法及系统
CN100395708C (zh) * 2006-10-23 2008-06-18 华为技术有限公司 一种实现同步初始化的多单板系统及方法
CN105468390B (zh) * 2014-09-05 2020-11-06 中兴通讯股份有限公司 Boot在线升级装置及方法
CN107203796A (zh) * 2017-06-09 2017-09-26 张晶婕 一种可自动控制出糖的果糖机控制系统及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275875B1 (en) * 1991-04-15 2001-08-14 Canon Kabushiki Kaisha Electronic apparatus with version-up information having address information storing in EEPROM
KR20020016660A (ko) * 2000-08-26 2002-03-06 서평원 교환기 내의 보드로 프로그램을 로딩하는 방법
JP2002140204A (ja) * 2000-10-31 2002-05-17 Mitsubishi Electric Corp アップグレード装置及びアップグレード方法
WO2002077824A1 (en) * 2001-03-26 2002-10-03 M-Systems Flash Disk Pioneers Ltd. Using volatile memory to buffer non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275875B1 (en) * 1991-04-15 2001-08-14 Canon Kabushiki Kaisha Electronic apparatus with version-up information having address information storing in EEPROM
KR20020016660A (ko) * 2000-08-26 2002-03-06 서평원 교환기 내의 보드로 프로그램을 로딩하는 방법
JP2002140204A (ja) * 2000-10-31 2002-05-17 Mitsubishi Electric Corp アップグレード装置及びアップグレード方法
WO2002077824A1 (en) * 2001-03-26 2002-10-03 M-Systems Flash Disk Pioneers Ltd. Using volatile memory to buffer non-volatile memory

Also Published As

Publication number Publication date
CN1517865A (zh) 2004-08-04

Similar Documents

Publication Publication Date Title
US6594723B1 (en) Method and apparatus for updating data in nonvolatile memory
CN101477471B (zh) 一种嵌入式系统固件在线升级方法
US6496979B1 (en) System and method for managing application installation for a mobile device
TWI363298B (en) Communication device and firmware update method thereof
US20070226436A1 (en) File system based offline disk management
CN102339242A (zh) 计算机系统数据修复装置
CN101571807A (zh) 具有固件的系统及其启动方法
CN103365696A (zh) Bios镜像文件获取方法及装置
CN101894028B (zh) Linux内核镜像数据支持多种CPU的实现方法及装置
US20070168905A1 (en) Networked linux machine and windows software development system
CN103593281A (zh) 测试系统及测试方法
CN103677915A (zh) 一种基于TF启动卡进行flash镜像自动烧写的方法
CN107870769A (zh) 操作系统的安装方法及装置
CN103246534A (zh) 操作系统迁移方法及装置
TWI498822B (zh) 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法
CN1295603C (zh) 加载升级单板启动程序的方法
CN102043652B (zh) 嵌入式设备根文件系统的处理系统和处理方法
CN106909480A (zh) 一种嵌入式系统交叉调试方法和装置
US6523103B2 (en) Disablement of a write filter stored on a write-protected partition
CN101639877B (zh) 电子装置及其更新基本输入输出系统方法
CN102520981A (zh) 一种基于inand/nand的多分区存储设备的生产方法
CN111796882A (zh) 电子设备系统处理方法、装置及电子设备
CN103544151A (zh) linux系统中数据处理的方法及系统
TW201502991A (zh) 具spi介面的sata儲存裝置、應用該sata儲存裝置之開機方法及基本輸入輸出系統程式碼更新方法
US6301656B1 (en) Method and apparatus for initial programming of flash based firmware

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

Granted publication date: 20070117

Termination date: 20170608