CN1295603C - 加载升级单板启动程序的方法 - Google Patents
加载升级单板启动程序的方法 Download PDFInfo
- 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
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所述的方法,其特征在于:对功能板加载升级完成时出现提示信息。
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)
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)
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 |
-
2003
- 2003-06-08 CN CNB031373127A patent/CN1295603C/zh not_active Expired - Fee Related
Patent Citations (4)
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 | |
US20100058314A1 (en) | Computer System and Related Method of Logging BIOS Update Operation | |
US20070214390A1 (en) | System and method for testing computer | |
US20070226436A1 (en) | File system based offline disk management | |
CN103365696A (zh) | Bios镜像文件获取方法及装置 | |
CN107870769A (zh) | 操作***的安装方法及装置 | |
CN103246534A (zh) | 操作***迁移方法及装置 | |
CN103593281A (zh) | 测试***及测试方法 | |
CN103677915A (zh) | 一种基于TF启动卡进行flash镜像自动烧写的方法 | |
CN105760191A (zh) | 嵌入式***设备程序烧写量产方法 | |
CN101008898A (zh) | 一种智能化设备软件升级与修复的方法和*** | |
TWI498822B (zh) | 可更新基本輸入輸出系統的電子裝置及其基本輸入輸出系統的更新方法 | |
CN1295603C (zh) | 加载升级单板启动程序的方法 | |
CN102043652B (zh) | 嵌入式设备根文件***的处理***和处理方法 | |
CN106909480A (zh) | 一种嵌入式***交叉调试方法和装置 | |
US20030018865A1 (en) | Disablement of a write filter stored on a write-protected partition | |
CN102520981A (zh) | 一种基于inand/nand的多分区存储设备的生产方法 | |
CN115408013A (zh) | Zynq UltraScale+MPSoC平台的固件和文件自动烧写方法 | |
CN111796882A (zh) | 电子设备***处理方法、装置及电子设备 | |
CN113900693A (zh) | 一种固件升级方法、装置、***、电子设备及存储介质 | |
WO2011120774A1 (en) | Method for managing usb devices | |
CN104866397A (zh) | 计算机***与控制方法 | |
KR100729772B1 (ko) | 유에스비를 이용한 펌웨어 업그레이드 방법 |
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 |