CN112527366B - 嵌入式处理器引导程序的更新回卷容错设计技术 - Google Patents
嵌入式处理器引导程序的更新回卷容错设计技术 Download PDFInfo
- Publication number
- CN112527366B CN112527366B CN202011346489.XA CN202011346489A CN112527366B CN 112527366 B CN112527366 B CN 112527366B CN 202011346489 A CN202011346489 A CN 202011346489A CN 112527366 B CN112527366 B CN 112527366B
- Authority
- CN
- China
- Prior art keywords
- bootrom
- debugging
- updating
- online
- file
- 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
- 238000013461 design Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 title claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000006837 decompression Effects 0.000 claims description 2
- 238000005192 partition Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及Bootrom技术领域,且公开了嵌入式处理器引导程序的更新回卷容错设计技术,包括以下步骤:S1:编译Bootrom;S2:调试,需要先将文件名修改为bootrom.z;S3:进行烧写,烧写完成后,直接重启,不要下电;S4:运行,在Bootrom启动完成后,新增了两个命令:z‑‑调试Bootrom,u‑‑更新Bootrom。本发明可以在Bootrom菜单下,直接更新,且协议支持ftp和tftp,实现更灵活,操作也更便利,当出现更新后的Bootrom未达到预期或出现故障后,可以通过下电重启回退到正常版本,极大提高了Bootrom的开发效率。
Description
技术领域
本发明涉及Bootrom技术领域,具体为嵌入式处理器引导程序的更新回卷容错设计技术。
背景技术
随着国产化要求越来越高,以自主可控的华睿2号芯片搭建的信息处理平台,是未来发展的趋势。华睿2号芯片有多种启动方式,lpc、pcie、srio,模块因适应产品需求采用不同的设计,启动方式也会随着设计而改变。Bootrom是引导程序,会因为模块设计不同而做相应修改。Bootrom涉及到的都是底层代码,一旦出错就会导致模块无法正常启动,只能通过管脚配置切换到烧写模式,通过串口完成更新,不仅速度慢,效率还低。
现有的Bootrom更新有两种方式:一种是通过串口,通过硬件管脚配置切换到串口烧写模式后,通过单独的串口烧写程序完成更新;这种模式不仅繁琐,效率也非常低下;另一种是Bootrom先加载可以更新的系统镜像,系统镜像加载完成后,通过网络进行Bootrom的更新,且只支持ftp协议,这种模式需要备份一个可以更新的系统镜像,不能完成自更新,不能满足人们的要求。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了嵌入式处理器引导程序的更新回卷容错设计技术,主要为解决现有的Bootrom的更新不仅速度慢,效率还低,不能满足人们的要求的问题。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:
嵌入式处理器引导程序的更新回卷容错设计技术,包括以下步骤:
S1:编译Bootrom,
需要先修改E:\windriverForMipsHR2\vxworks-6.8\target\h\make文件夹下的rules.bsp文件,增加一个拷贝命令,
S2:调试,需要先将文件名修改为bootrom.z;
S3:进行烧写,烧写完成后,直接重启,不要下电;
S4:运行,在Bootrom启动完成后,新增了两个命令:
z--调试Bootrom
u--更新Bootrom
如果更新后的Bootrom运行错误,则断电后重新开电,Bootrom会使用更新前的正常版本;如果更新后的Bootrom运行正常,在Bootrom启动完成后,暂停加载镜像,修改文件名为bootrom.bin,使用u命令进行Bootrom的更新。
在前述方案的基础上,所述S1中包括命令菜单模块、数据传输模块和串口更新模块,通过命令菜单系统进行在线更新菜单命令,数据传输系统根据菜单中的选项,支持tftp和ftp两种协议进行数据传输,串口更新系统将接收到的数据通过串口写入flash中。
作为本发明再进一步的方案,所述S4中在使用z命令时,文件名需要修改为bootrom.z或自己定义的文件名,在使用u命令时,更新的文件名必须是Bootrom.bin,否则不会进行更新。
进一步的,所述S2中Flash在线调试区域设计,划分Flash区域,保留原工作版本的Bootrom,同时增加需要调试的Bootrom区域。
在前述方案的基础上,所述S1中包括文件系统设计,将文件系统适用于新的Flash划分,文件系统设计操作为:
A->sysTff sFormat(0)
A.->usrTffsConfig(O,0,."/tffsO")
Inst antiating/tffsO as rawFs,device=0x10001
value=O=OxO
A.->dosf sDiskFormat("/tffsO")
Formatting/tffsO for DOSFS
Inst antiating/tffsO as rawFs,device=0x10001
Formatting...Retrieved old volume params withЖ38conf idence:VolumeFarameters:FAT type:FAT32,sectors per cluster 0
0FAT copies,0clusters,0sectors per FAT
Sectors reserved 0,hidden 0,FAT sectors 0
Root dir entries 0,sysId(null),serial number 9dcb0000Label:'
Disk with 248047sectors of 512bytes will be formatted with:VolumeParameters:FAT type:FAT16,sectors per cluster 42FAT copies,61882 clusters,243sectors per FAT
Sectors reserved 1,hidden 0,FAT sectors 486
Root dir entries 512,sysId VDOS16,serial number 9dcb000OLabel:'
K.
本发明再进一步的方案,所述S4中包括Bootrom解压缩代码调试模块和在线调试回滚模块,在线调试回滚模块内存在线调试区域,在Bootrom调试失败后,完成回滚操作。
(三)有益效果
与现有技术相比,本发明提供了嵌入式处理器引导程序的更新回卷容错设计技术,具备以下有益效果:
1、本发明可以在Bootrom菜单下,直接更新,且协议支持ftp和tftp,实现更灵活,操作也更便利。
2、在线调试是为调试Bootrom而专门设计,用于调试解压缩后Bootrom代码,保证了更新后的Bootrom代码的准确性。
3、当出现更新后的Bootrom未达到预期或出现故障后,可以通过下电重启回退到正常版本,极大提高了Bootrom的开发效率。
附图说明
图1为本发明提出的嵌入式处理器引导程序的更新回卷容错设计技术的流程结构示意图;
图2为本发明提出的嵌入式处理器引导程序的更新回卷容错设计技术的系统结构示意图;
图3为本发明提出的嵌入式处理器引导程序的更新回卷容错设计技术的在线调试示意图;
图4为本发明提出的嵌入式处理器引导程序的更新回卷容错设计技术的文件系统模块操作示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1-4,嵌入式处理器引导程序的更新回卷容错设计技术,包括以下步骤:
S1:编译Bootrom,
需要先修改E:\windriverForMipsHR2\vxworks-6.8\target\h\make文件夹下的rules.bsp文件,增加一个拷贝命令,
S2:调试,需要先将文件名修改为bootrom.z;
S3:进行烧写,烧写完成后,直接重启,不要下电;
S4:运行,在Bootrom启动完成后,新增了两个命令:
z--调试Bootrom
u--更新Bootrom
如果更新后的Bootrom运行错误,则断电后重新开电,Bootrom会使用更新前的正常版本;如果更新后的Bootrom运行正常,在Bootrom启动完成后,暂停加载镜像,修改文件名为bootrom.bin,使用u命令进行Bootrom的更新,当出现更新后的Bootrom未达到预期或出现故障后,可以通过下电重启回退到正常版本,极大提高了Bootrom的开发效率。
本发明的S1中包括命令菜单模块、数据传输模块和串口更新模块,通过命令菜单系统进行在线更新菜单命令,数据传输系统根据菜单中的选项,支持tftp和ftp两种协议进行数据传输,串口更新系统将接收到的数据通过串口写入flash中,S4中在使用z命令时,文件名需要修改为bootrom.z或自己定义的文件名,在使用u命令时,更新的文件名必须是Bootrom.bin,否则不会进行更新,S2中Flash在线调试区域设计,划分Flash区域,保留原工作版本的Bootrom,同时增加需要调试的Bootrom区域。
尤其的,S1中包括文件系统设计,将文件系统适用于新的Flash划分,文件系统设计操作为:
A->sysTff sFormat(0)
A.->usrTffsConfig(O,0,."/tffsO")
Inst antiating/tffsO as rawFs,device=0x10001
value=O=OxO
A.->dosf sDiskFormat("/tffsO")
Formatting/tffsO for DOSFS
Inst antiating/tffsO as rawFs,device=0x10001
Formatting...Retrieved old volume params withЖ38conf idence:VolumeFarameters:FAT type:FAT32,sectors per cluster 0
0FAT copies,0clusters,0sectors per FAT
Sectors reserved 0,hidden 0,FAT sectors 0
Root dir entries 0,sysId(null),serial number 9dcb0000Label:'
Disk with 248047sectors of 512bytes will be formatted with:VolumeParameters:FAT type:FAT16,sectors per cluster 42FAT copies,61882 clusters,243sectors per FAT
Sectors reserved 1,hidden 0,FAT sectors 486
Root dir entries 512,sysId VDOS16,serial number 9dcb000OLabel:'
K.
需要特别说明的是,S4中包括Bootrom解压缩代码调试模块和在线调试回滚模块,在线调试回滚模块内存在线调试区域,在Bootrom调试失败后,完成回滚操作,在线调试是为调试Bootrom而专门设计,用于调试解压缩后Bootrom代码,保证了更新后的Bootrom代码的准确性。
在该文中的描述中,需要说明的是,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.Bootrom在线更新和调试方法,其特征在于,包括以下步骤:
S1:编译Bootrom,
需要先修改E:\windriverForMipsHR2\vxworks-6.8\target\h\make文件夹下的rules.bsp文件,增加一个拷贝命令,
根据用户配置文件、数据段文件和规则文件生成压缩的bootrom.z,这样编译生成bootrom.bin后,会同时生成压缩的bootrom.z;
S2:调试,需要先将文件名修改为bootrom.z;
S3:进行烧写,烧写完成后,直接重启,不要下电;
S4:运行,在Bootrom启动完成后,新增了两个命令:
z--调试Bootrom
u--更新Bootrom
如果更新后的Bootrom运行错误,则断电后重新开电,Bootrom会使用更新前的正常版本;如果更新后的Bootrom运行正常,在Bootrom启动完成后,暂停加载镜像,修改文件名为bootrom.bin,使用u命令进行Bootrom的更新,所述S4中包括Bootrom解压缩代码调试模块和在线调试回滚模块,在线调试回滚模块内存在线调试区域,在Bootrom调试失败后,完成回滚操作。
2.根据权利要求1所述的Bootrom在线更新和调试方法,其特征在于,所述S1中包括命令菜单模块、数据传输模块和串口更新模块,通过命令菜单系统进行在线更新菜单命令,数据传输系统根据菜单中的选项,支持tftp和ftp两种协议进行数据传输,串口更新系统将接收到的数据通过串口写入flash中。
3.根据权利要求1所述的Bootrom在线更新和调试方法,其特征在于,所述S4中在使用z命令时,文件名需要修改为bootrom.z或自己定义的文件名,在使用u命令时,更新的文件名必须是Bootrom.bin,否则不会进行更新。
4.根据权利要求3所述的Bootrom在线更新和调试方法,其特征在于,所述S2中Flash在线调试区域设计,划分Flash区域,保留原工作版本的Bootrom,同时增加需要调试的Bootrom区域。
5.根据权利要求1所述的Bootrom在线更新和调试方法,其特征在于,所述S1中包括文件系统设计,将文件系统适用于新的Flash划分,文件系统设计操作为:
1)格式化文件系统;
2)挂接用户文件系统;
3)将文件系统格式化成FAT32格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011346489.XA CN112527366B (zh) | 2020-11-25 | 2020-11-25 | 嵌入式处理器引导程序的更新回卷容错设计技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011346489.XA CN112527366B (zh) | 2020-11-25 | 2020-11-25 | 嵌入式处理器引导程序的更新回卷容错设计技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527366A CN112527366A (zh) | 2021-03-19 |
CN112527366B true CN112527366B (zh) | 2024-03-19 |
Family
ID=74993743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011346489.XA Active CN112527366B (zh) | 2020-11-25 | 2020-11-25 | 嵌入式处理器引导程序的更新回卷容错设计技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527366B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077567A (zh) * | 2021-11-01 | 2022-02-22 | 成都九洲迪飞科技有限责任公司 | 一种基于串口232协议升级fpga的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477471A (zh) * | 2009-01-07 | 2009-07-08 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
CN104572206A (zh) * | 2015-01-14 | 2015-04-29 | 厦门为那通信科技有限公司 | 应用程序自更新和备份恢复的方法 |
KR101640207B1 (ko) * | 2015-01-20 | 2016-07-15 | 주식회사 뉴티씨 (Newtc) | 부트로더 및 임베디드 시스템 업그레이드 방법 |
CN105893090A (zh) * | 2016-03-31 | 2016-08-24 | 武汉光迅科技股份有限公司 | 一种嵌入式系统bootrom和应用程序升级方法 |
CN105912356A (zh) * | 2016-03-31 | 2016-08-31 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN110990044A (zh) * | 2019-11-12 | 2020-04-10 | 中国航发南方工业有限公司 | 在应用编程方法、计算机可读取的存储介质 |
CN111970136A (zh) * | 2019-05-20 | 2020-11-20 | 深圳长城开发科技股份有限公司 | 固件升级方法、LoRa网关、LoRa系统以及计算机可读存储介质 |
-
2020
- 2020-11-25 CN CN202011346489.XA patent/CN112527366B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477471A (zh) * | 2009-01-07 | 2009-07-08 | 杭州海康威视数字技术股份有限公司 | 一种嵌入式系统固件在线升级方法 |
CN104572206A (zh) * | 2015-01-14 | 2015-04-29 | 厦门为那通信科技有限公司 | 应用程序自更新和备份恢复的方法 |
KR101640207B1 (ko) * | 2015-01-20 | 2016-07-15 | 주식회사 뉴티씨 (Newtc) | 부트로더 및 임베디드 시스템 업그레이드 방법 |
CN105893090A (zh) * | 2016-03-31 | 2016-08-24 | 武汉光迅科技股份有限公司 | 一种嵌入式系统bootrom和应用程序升级方法 |
CN105912356A (zh) * | 2016-03-31 | 2016-08-31 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN111970136A (zh) * | 2019-05-20 | 2020-11-20 | 深圳长城开发科技股份有限公司 | 固件升级方法、LoRa网关、LoRa系统以及计算机可读存储介质 |
CN110990044A (zh) * | 2019-11-12 | 2020-04-10 | 中国航发南方工业有限公司 | 在应用编程方法、计算机可读取的存储介质 |
Non-Patent Citations (2)
Title |
---|
Boootrom功能改进经验谈;王江;《电子技术应用》(第10期);第7-9页 * |
张扬,于银涛.《VXWORKS 内核、设备驱动与BSP 开发详解》.北京:人民邮电出版社,2009,第2 章 编译工程——Builder. * |
Also Published As
Publication number | Publication date |
---|---|
CN112527366A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8539471B2 (en) | Updating firmware of an electronic device | |
CN105808292A (zh) | 嵌入式终端设备的固件升级方法 | |
CN100454258C (zh) | 嵌入式系统加载程序与应用程序一体化更新方法 | |
US20110302572A1 (en) | Embedded network device and firmware upgrading method | |
CN111142907B (zh) | 离线关键词识别系统分区升级方法 | |
CN104918114B (zh) | 一种操作系统升级方法及装置 | |
CN101593120A (zh) | 带外升级方法和系统 | |
WO2016078263A1 (zh) | 升级控制设备、终端、终端升级方法及系统、存储介质 | |
CN111596930B (zh) | 根文件系统镜像制作方法、装置、存储介质及嵌入式设备 | |
US10642623B1 (en) | Preserving firmware settings during firmware updates | |
CN109814908A (zh) | 固件稳定升级的方法、装置、计算机设备及存储介质 | |
CN113821235A (zh) | 操作系统数据更新方法、设备、存储介质及程序产品 | |
CN112527366B (zh) | 嵌入式处理器引导程序的更新回卷容错设计技术 | |
CN115408013A (zh) | Zynq UltraScale+MPSoC平台的固件和文件自动烧写方法 | |
CN113900673B (zh) | 系统安装包的管理方法、设备、存储介质及程序产品 | |
CN113821263B (zh) | 操作系统的管理方法、设备、存储介质及计算机程序产品 | |
CN113805956B (zh) | 操作系统的配置方法、设备及存储介质 | |
CN109117167A (zh) | 一种基于zynq芯片的启动软件更新方法 | |
US20040181777A1 (en) | Method and device for programming electronic devices using a uniform parameter format | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN106681761B (zh) | 一种交互式升级的方法及系统 | |
CN114996056A (zh) | 一种基于spi的dsp备份启动实现方法 | |
CN101727333A (zh) | 微处理器中固件更新的方法及固件更新系统 | |
CN113890930A (zh) | 一种基于蓝牙双平台直连切换的方法 | |
CN112099819A (zh) | 一种数据处理方法、数据处理装置及车载终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |