CN113010900A - 应用软件升级方法、装置、系统和存储介质 - Google Patents
应用软件升级方法、装置、系统和存储介质 Download PDFInfo
- Publication number
- CN113010900A CN113010900A CN202110427858.6A CN202110427858A CN113010900A CN 113010900 A CN113010900 A CN 113010900A CN 202110427858 A CN202110427858 A CN 202110427858A CN 113010900 A CN113010900 A CN 113010900A
- Authority
- CN
- China
- Prior art keywords
- application software
- software
- initial
- boot
- hardware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012795 verification Methods 0.000 claims description 22
- 238000004904 shortening Methods 0.000 abstract description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用软件升级方法、装置、系统和存储介质,该方法包括:引导软件运行后,判断初始版应用软件是否通过有效性校验;若初始版应用软件通过有效性校验,则引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态;若均为允许状态,则引导软件接收用户端发送的升级版应用软件,以对初始版应用软件进行升级。本发明先判断初始版应用软件是否通过有效性校验,确保应用软件有效性检查合格后才能运行,一旦发现错误就可以终止应用软件的启动而进入升级模式,否则采集两路外部硬件的开关量状态,均为允许状态时才可以进入升级模式,严格限制了进入升级模式的条件,缩短了系统正常启动时间。
Description
技术领域
本发明涉及软件升级维护技术领域,具体涉及一种应用软件升级方法、装置、系统和存储介质。
背景技术
飞控计算机是无人机飞行控制系统的核心,其上设置了引导软件和应用软件。飞控计算机上电后,先运行引导软件,引导软件可以选择进入维护升级模式或直接启动应用软件,应用软件则实现了飞行过程的控制功能。在无人机飞行试验及系统优化过程中,需要对应用软件进行频繁的变更和升级。
目前,针对飞控计算机中应用软件的升级方法,大多是通电后引导软件在特定的时间窗口内,等待用户的加载指令,收到加载指令后开始接收应用软件目标码并烧写到FLASH中,完成加载后等待用户下电。如果引导软件在特定时间内未收到用户的加载指令,则启动应用软件。
上述方法的不足在于每次加电后,无论应用软件是否升级都需要等待一段时间,导致启动时间较长;并且引导软件仅具备升级功能,不对已有应用软件的有效性进行检查,如果软件数据有损坏,则启动后可能产生一定危害。
需要注意的是,本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本发明实施例提供一种应用软件升级方法、装置、系统和存储介质,以解决现有技术中应用软件升级方法存在的启动时间较长且不对已有应用软件的有效性进行检查的问题。
第一方面,本发明实施例提供一种应用软件升级方法,包括:
引导软件运行后,判断初始版应用软件是否通过有效性校验;
若所述初始版应用软件通过有效性校验,则所述引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态;
若所述地面允许硬件和所述编程允许硬件的开关量状态均为允许状态,则所述引导软件接收所述用户端发送的升级版应用软件,以对所述初始版应用软件进行升级。
作为本发明第一方面的优选方式,在所述引导软件运行后,判断初始版应用软件是否通过有效性校验之前,还包括:
使飞控计算机的硬件存储设备划分为引导区、应用软件区和校验区,所述引导区用于存储所述引导软件,所述应用软件区用于存储所述初始版应用软件,所述校验区用于存储与所述初始版应用软件对应的存储初始校验码和初始有效数据长度。
作为本发明第一方面的优选方式,所述判断初始版应用软件是否通过有效性校验,包括:
所述引导软件从所述校验区中读取所述存储初始校验码和所述初始有效数据长度;
所述引导软件根据所述初始有效数据长度,计算所述初始版应用软件的实时初始校验码,并判断所述实时初始校验码与所述存储初始校验码是否一致;
若所述实时初始校验码与所述存储初始校验码一致,确定所述初始版应用软件通过有效性校验;否则,确定所述初始版应用软件未通过有效性校验。
作为本发明第一方面的优选方式,所述对所述初始版应用软件进行升级,包括:
所述引导软件将所述升级版应用软件烧写到所述应用软件区;
所述引导软件根据所述升级版应用软件的升级有效数据长度,计算所述升级版应用软件的升级校验码;
所述引导软件将所述升级校验码和所述升级有效数据长度分别作为新的存储初始校验码和初始有效数据长度,并存储在所述校验区。
作为本发明第一方面的优选方式,在所述判断初始版应用软件是否通过有效性校验之后,还包括:
若所述初始版应用软件未通过有效性校验,则执行所述引导软件接收所述用户端发送的升级版应用软件,以对所述初始版应用软件进行升级的步骤。
作为本发明第一方面的优选方式,在所述引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态之后,还包括:
若所述地面允许硬件和所述编程允许硬件的开关量状态不均为允许状态,则所述引导软件启动所述初始版应用软件。
作为本发明第一方面的优选方式,在所述引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态之后,还包括:
若所述地面允许硬件和所述编程允许硬件的开关量状态均为允许状态,则所述引导软件从所述应用软件区中读取所述初始版应用软件,并传输至所述用户端。
第二方面,本发明实施例提供一种应用软件升级装置,包括:
第一判断单元,用于引导软件运行后,判断初始版应用软件是否通过有效性校验;
第二判断单元,用于若所述初始版应用软件通过有效性校验,则所述引导软件判断所述地面允许硬件和所述编程允许硬件的开关量状态是否均为允许状态;
软件升级单元,用于若所述地面允许硬件和所述编程允许硬件的开关量状态均为允许状态,则所述引导软件接收所述用户端发送的升级版应用软件,以对所述初始版应用软件进行升级。
第三方面,本发明实施例提供一种计算设备,包括处理器和存储器,其中所述存储器内存储有执行指令,所述处理器读取所述存储器内的执行指令用于执行如上述应用软件升级方法中所述的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,包含计算机执行指令,所述计算机执行指令被用于执行如上述应用软件升级方法中所述的步骤。
本发明实施例提供的应用软件升级方法、装置、系统和存储介质,引导软件在运行后,先判断初始版应用软件是否通过有效性校验,确保应用软件有效性检查合格后才能运行,一旦发现错误就可以终止应用软件的启动而进入升级模式,否则采集两路外部硬件的开关量状态,均为允许状态时才可以进入升级模式,严格限制了进入升级模式的条件,缩短了系统正常启动时间。
本发明采用了前置的应用软件有效性检查策略,提高了系统运行的可靠性,特别针对FLASH中软件数据损坏及新出厂的空白CPU板,可以直接进入升级模式;同时,通过采集两路外部硬件的开关量状态,使得软件升级的准入条件更加严苛,避免非必要的引导运行时间,还能防止系统启动异常进入升级模式而挂起,且能有效避免非专业用户对应用软件的随意烧写。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用软件升级方法的流程示意图;
图2为本发明实施例提供的一种应用软件升级方法的实现流程图;
图3为本发明实施例提供的一种应用软件升级装置的结构示意图;
图4为本发明实施例提供的一种应用软件升级系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1示例性的示出了本发明实施例提供的一种应用软件升级方法的流程示意图,该方法用于对无人机的飞控计算机中的应用软件进行升级,能够有效解决现有应用软件升级存在的启动时间较长且不对已有应用软件的有效性进行检查的问题。
参照图1所示,该方法主要包括如下步骤:
步骤101、引导软件运行后,判断初始版应用软件是否通过有效性校验;
步骤102、若初始版应用软件通过有效性校验,则引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态;
步骤103、若地面允许硬件和编程允许硬件的开关量状态均为允许状态,则引导软件接收用户端发送的升级版应用软件,以对初始版应用软件进行升级。
需要说明的是,本实施例中所述的无人机可以为合适的无人飞行器,包括固定翼无人飞行器和旋转翼无人飞行器,例如直升机、四旋翼机和具有其他数量的旋翼和/或旋翼配置的飞行器,还可以是其他可移动物体,例如载人飞行器、航模、无人飞艇和无人热气球等。
在实际应用中,无人机的飞控计算机中,运行软件配置项分为引导软件和应用软件,由引导软件引导应用软件完成软件启动和升级。其中,引导软件和应用软件均安装在飞控计算机的硬件存储设备中,且将飞控计算机的软件配置为从硬件存储设备启动。
在引导软件开始工作之前,先对硬件存储设备的存储空间进行分区划分,以方便进行后续的流程。
因此,在步骤101之前,还包括:
步骤100、使飞控计算机的硬件存储设备划分为引导区、应用软件区和校验区。
在步骤100中,引导区用于存储引导软件,负责对应用软件的检查和升级维护,应用软件区用于存储初始版应用软件,校验区用于存储与初始版应用软件对应的存储初始校验码和初始有效数据长度,同时校验区还用于在应用软件升级时写入升级应用软件的校验码及有效数据长度。
需要说明的是,上述硬件存储设备为FLASH存储器,飞控计算机的软件配置为从FLASH存储器启动。
在步骤101中,初始版应用软件为预先安装在飞控计算机上的初始版本的应用软件,可以理解为当前使用的未更新升级的应用软件。
无人机的飞控计算机上电后,运行引导软件,引导软件可以直接运行初始版应用软件或进入升级模式。
引导软件运行后,采用了前置的应用软件有效性检查策略,先对初始版应用软件进行有效性校验,确保初始版应用软件有效性检查合格后才能运行,一旦发现错误就可以终止初始版应用软件的启动而进入升级模式,能够提高系统运行的可靠性。
在本申请提供的一种可选实施例中,判断初始版应用软件是否通过有效性校验时,可按照如下步骤具体实施:
步骤1011、引导软件从校验区中读取存储初始校验码和初始有效数据长度。
该步骤中,在判断初始版应用软件是否通过有效性校验时,引导软件采用CRC校验方式,先从校验区中读取与初始版应用软件对应的存储初始校验码crc_read和初始有效数据长度。
步骤1012、引导软件根据初始有效数据长度,计算初始版应用软件的实时初始校验码,并判断实时初始校验码与存储初始校验码是否一致。
该步骤中,引导软件通过上述读取到的初始有效数据长度,对应计算应用软件区中的初始版应用软件的实时初始校验码crc_calc。
然后,引导软件比较计算出的实时初始校验码crc_calc和读取到的存储初始校验码crc_read是否一致。
步骤1013、若实时初始校验码与存储初始校验码一致,确定初始版应用软件通过有效性校验;否则,确定初始版应用软件未通过有效性校验。
该步骤中,若引导软件经过比较后,判断出实时初始校验码crc_calc和存储初始校验码crc_read一致,则确定该初始版应用软件通过有效性校验,确认该初始版应用软件校验合格。
若引导软件经过比较后,判断出实时初始校验码crc_calc和存储初始校验码crc_read不一致,则确定该初始版应用软件未通过有效性校验,确认该初始版应用软件校验不合格。
在步骤102中,若初始版应用软件通过有效性校验,则引导软件通过采集两路外部硬件的开关量状态来进一步严格限制初始版应用软件进入升级模式的准入条件,防止系统启动异常进入升级模式而挂起,且能有效避免非专业用户对软件的随意烧写。
具体地,引导软件判断地面允许(GSE)硬件和编程允许(ISPL)硬件的开关量状态是否均为允许状态。
在步骤103中,若地面允许硬件和编程允许硬件的开关量状态均为允许状态,则引导软件确定初始版应用软件满足进入升级模式的条件,因此引导软件接收用户端发送的升级版应用软件来对初始版应用软件进行升级。
在本申请提供的一种可选实施例中,对初始版应用软件进行升级时,可按照如下步骤具体实施:
步骤1031、引导软件将升级版应用软件烧写到应用软件区。
该步骤中,对初始版应用软件进行升级时,引导软件将接收到用户端加载的升级版应用软件数据,并将其烧写到应用软件区。
烧写完毕后,引导软件进一步获取升级版应用软件数据的升级有效数据长度。
步骤1032、引导软件根据升级版应用软件的升级有效数据长度,计算升级版应用软件的升级校验码。
该步骤中,引导软件根据上述获取到的升级版应用软件的升级有效数据长度,进一步计算升级版应用软件的升级校验码。
步骤1033、引导软件将升级校验码和升级有效数据长度分别作为新的存储初始校验码和初始有效数据长度,并存储在校验区。
该步骤中,引导软件将上述得到的升级版应用软件的升级校验码和升级有效数据长度,对校验区中存储的存储初始校验码和初始有效数据长度进行更新,作为新的存储初始校验码和新的初始有效数据长度存储在校验区中,在应用软件下一次升级时用于有效性校验。
经过上述过程,初始版软件升级结束后,整个应用软件的升级过程即完成。
进一步地,在本申请提供的一种可选实施例中,在判断初始版应用软件是否通过有效性校验之后,即步骤101之后,还包括以下步骤:
若初始版应用软件未通过有效性校验,则执行引导软件接收用户端发送的升级版应用软件,以对初始版应用软件进行升级的步骤。
该步骤中,若判断出实时初始校验码crc_calc和存储初始校验码crc_read不一致,即该初始版应用软件未通过有效性校验,这足以说明初始版应用软件的数据有损坏,因此不需要进行进一步的判断步骤了,直接选择对初始版应用软件进行升级即可,即执行步骤103,特别针对FLASH中软件数据损坏及新出厂的空白CPU板,可以直接进入升级模式,可有效缩短升级前的等待时间。
进一步地,在本申请提供的一种可选实施例中,在引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态之后,即步骤102之后,还包括以下步骤:
若地面允许硬件和编程允许硬件的开关量状态不均为允许状态,则引导软件启动初始版应用软件。
该步骤中,若引导软件判断出地面允许硬件和编程允许硬件的开关量状态中至少有一个不为允许状态,则确定初始版应用软件不满足进入升级模式的条件,此时初始版应用软件不进行升级,因此引导软件启动该初始版应用软件即可,缩短了启动前的等待时间。
进一步地,在本申请提供的一种可选实施例中,在引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态之后,即步骤102之后,还包括以下步骤:
若地面允许硬件和编程允许硬件的开关量状态均为允许状态,则引导软件从应用软件区中读取初始版应用软件,并传输至用户端。
该步骤中,若地面允许硬件和编程允许硬件的开关量状态均为允许状态,则引导软件确定初始版应用软件同样满足进入下载模式的条件,因此引导软件将应用软件区中存储的初始版应用软件的数据读取出,并传输至用户端,传输结束后整个过程完成。
通过提供应用软件的下载备份功能,便于在外场维护中对机载软件版本的备份与校核。
同时,本发明在非维护场景下启动时,避免了对用户指令的等待窗口期,缩短了系统正常启动时间。
需要说明的是,在实际应用中,若引导软件判断出地面允许硬件和编程允许硬件的开关量状态均为允许状态后,会提供两个选项信息:“软件升级”和“软件下载”。若用户端此时选择“软件升级”,则引导软件接收用户端发送的升级版应用软件来对初始版应用软件进行升级,实现初始版应用软件的升级过程;若用户端此时选择“软件下载”,则引导软件读取应用软件区中存储的初始版应用软件的数据并传输至用户端,实现初始版应用软件的下载过程。
需要说明的是,对于上述方法的实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
综上所述,本发明实施例提供的应用软件升级方法,引导软件在运行后,先判断初始版应用软件是否通过有效性校验,确保应用软件有效性检查合格后才能运行,一旦发现错误就可以终止应用软件的启动而进入升级模式,否则采集两路外部硬件的开关量状态,均为允许状态时才可以进入升级模式,严格限制了进入升级模式的条件,缩短了系统正常启动时间。
本发明采用了前置的应用软件有效性检查策略,提高了系统运行的可靠性,特别针对FLASH中软件数据损坏及新出厂的空白CPU板,可以直接进入升级模式;同时,通过采集两路外部硬件的开关量状态,使得软件升级的准入条件更加严苛,避免非必要的引导运行时间,还能防止系统启动异常进入升级模式而挂起,且能有效避免非专业用户对应用软件的随意烧写。
图2示例性的示出了本发明实施例提供的一种应用软件升级方法的实现流程图,该方法用于对无人机的飞控计算机中的应用软件进行升级,能够有效解决现有应用软件升级存在的启动时间较长且不对已有应用软件的有效性进行检查的问题。
参照图2所示,该方法具体包括如下步骤:
步骤201、飞控计算机初始化,使将飞控计算机的硬件存储设备划分为引导区、应用软件区和校验区;其中,引导区用于存储引导软件,应用软件区用于存储初始版应用软件,校验区用于存储与初始版应用软件对应的存储初始校验码和初始有效数据长度。
步骤202、运行引导软件。
步骤203、引导软件从校验区中读取存储初始校验码和初始有效数据长度,并根据初始有效数据长度,计算初始版应用软件的实时初始校验码。
步骤204、引导软件通过判断实时初始校验码与存储初始校验码是否一致,以检查初始版应用软件是否通过有效性校验;若通过有效性校验,则继续执行步骤205,若未通过有效性校验,则执行步骤206。
步骤205、引导软件检查地面允许硬件和编程允许硬件的开关量状态是否均为允许状态;若均为允许状态,则继续执行步骤206,若不均为允许状态,则执行步骤207。
步骤206、引导软件进入升级模式。
步骤207、引导软件启动初始版应用软件。
步骤208、引导软件判断是否对初始版软件进行升级;若是,则继续执行步骤209,否则,执行步骤211。
步骤209、引导软件将升级版应用软件烧写到应用软件区,并根据升级版应用软件的升级有效数据长度,计算升级版应用软件的升级校验码。
步骤210、引导软件将升级校验码和升级有效数据长度分别作为新的存储初始校验码和初始有效数据长度,并存储在校验区,并继续执行步骤213。
步骤211、引导软件判断是否对初始版软件进行下载;若是,则继续执行步骤212,否则,返回执行步骤208。
步骤212、引导软件从应用软件区中读取初始版应用软件并传输至用户端,并继续执行步骤213。
步骤213、过程完成。
上述实施例中各步骤的具体实施过程,可参照前述实施例中对各方法步骤的说明,在此不再赘述。
综上所述,本发明实施例提供的应用软件升级方法,引导软件在运行后,先判断初始版应用软件是否通过有效性校验,确保应用软件有效性检查合格后才能运行,一旦发现错误就可以终止应用软件的启动而进入升级模式,否则采集两路外部硬件的开关量状态,均为允许状态时才可以进入升级模式,严格限制了进入升级模式的条件,缩短了系统正常启动时间。
本发明采用了前置的应用软件有效性检查策略,提高了系统运行的可靠性,特别针对FLASH中软件数据损坏及新出厂的空白CPU板,可以直接进入升级模式;同时,通过采集两路外部硬件的开关量状态,使得软件升级的准入条件更加严苛,避免非必要的引导运行时间,还能防止系统启动异常进入升级模式而挂起,且能有效避免非专业用户对应用软件的随意烧写。
基于同一发明构思,本发明实施例还提供了一种应用软件升级装置,由于该装置解决技术问题的原理与一种应用软件升级方法相似,因此该装置的具体实施方式可以参见方法的具体实施方式,重复之处不再赘述。
参照图3所示,本发明实施例提供一种应用软件升级装置,用于对无人机的飞控计算机中的应用软件进行升级,该装置主要包括:
第一判断单元301,用于引导软件运行后,判断初始版应用软件是否通过有效性校验;
第二判断单元302,用于若初始版应用软件通过有效性校验,则引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态;
软件升级单元303,用于若地面允许硬件和编程允许硬件的开关量状态均为允许状态,则引导软件接收用户端发送的升级版应用软件,以对初始版应用软件进行升级。
此处需要说明的是,上述第一判断单元301、第二判断单元302和软件升级单元303对应于上述方法实施例中的步骤101至步骤103,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。
优选地,还包括:
区域划分单元,用于使飞控计算机的硬件存储设备划分为引导区、应用软件区和校验区,引导区用于存储引导软件,应用软件区用于存储初始版应用软件,校验区用于存储与初始版应用软件对应的存储初始校验码和初始有效数据长度。
优选地,第一判断单元301具体用于:
引导软件从校验区中读取存储初始校验码和初始有效数据长度;
引导软件根据初始有效数据长度,计算初始版应用软件的实时初始校验码,并判断实时初始校验码与存储初始校验码是否一致;
若实时初始校验码与存储初始校验码一致,确定初始版应用软件通过有效性校验;否则,确定初始版应用软件未通过有效性校验。
优选地,第二判断单元302具体用于:
若初始版应用软件未通过有效性校验,则执行引导软件接收用户端发送的升级版应用软件,以对初始版应用软件进行升级的步骤。
优选地,第一判断单元303具体用于:
引导软件将升级版应用软件烧写到应用软件区;
引导软件根据升级版应用软件的升级有效数据长度,计算升级版应用软件的升级校验码;
引导软件将升级校验码和升级有效数据长度分别作为新的存储初始校验码和初始有效数据长度,并存储在校验区。
优选地,还包括:
软件启动单元,用于若地面允许硬件和编程允许硬件的开关量状态不均为允许状态,则引导软件启动初始版应用软件。
优选地,还包括:
软件下载单元,用于若地面允许硬件和编程允许硬件的开关量状态均为允许状态,则引导软件从应用软件区中读取初始版应用软件,并传输至用户端。
需要说明的是,本发明实施例提供的应用软件升级装置与前述实施例所述的应用软件升级方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。
应当理解,以上一种应用软件升级装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种应用软件升级装置所实现的功能与上述实施例提供的一种应用软件升级方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
综上所述,本发明实施例提供的应用软件升级装置,引导软件在运行后,先判断初始版应用软件是否通过有效性校验,确保应用软件有效性检查合格后才能运行,一旦发现错误就可以终止应用软件的启动而进入升级模式,否则采集两路外部硬件的开关量状态,均为允许状态时才可以进入升级模式,严格限制了进入升级模式的条件,缩短了系统正常启动时间。
本发明采用了前置的应用软件有效性检查策略,提高了系统运行的可靠性,特别针对FLASH中软件数据损坏及新出厂的空白CPU板,可以直接进入升级模式;同时,通过采集两路外部硬件的开关量状态,使得软件升级的准入条件更加严苛,避免非必要的引导运行时间,还能防止系统启动异常进入升级模式而挂起,且能有效避免非专业用户对应用软件的随意烧写。
基于同一发明构思,本发明实施例提供了一种应用软件升级系统,由于该系统解决技术问题的原理与一种应用软件升级方法相似,因此该系统的具体实施方式可以参见方法的具体实施方式,重复之处不再赘述。
参照图4所示,本发明实施例提供一种应用软件升级系统,该系统主要包括处理器401和存储器402,其中存储器402内存储有执行指令。该处理器401读取存储器402内的执行指令用于执行上述应用软件升级方法任一个实施例中所述的步骤。或者,该处理器401读取存储器402内的执行指令用于实现上述应用软件升级装置任一个实施例中各单元的功能。
图4为本发明实施例提供的应用软件升级系统的一种结构示意图,如图4所示,该计算设备包括处理器401、存储器402和收发器403;其中,处理器401、存储器402和收发器403通过总线404相互实现相互间的通信。
上述提到的总线404可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Ind ustry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条箭头线表示,但并不表示仅有一根总线或一种类型的总线。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明实施例提供的应用软件升级系统,引导软件在运行后,先判断初始版应用软件是否通过有效性校验,确保应用软件有效性检查合格后才能运行,一旦发现错误就可以终止应用软件的启动而进入升级模式,否则采集两路外部硬件的开关量状态,均为允许状态时才可以进入升级模式,严格限制了进入升级模式的条件,缩短了系统正常启动时间。
本发明采用了前置的应用软件有效性检查策略,提高了系统运行的可靠性,特别针对FLASH中软件数据损坏及新出厂的空白CPU板,可以直接进入升级模式;同时,通过采集两路外部硬件的开关量状态,使得软件升级的准入条件更加严苛,避免非必要的引导运行时间,还能防止系统启动异常进入升级模式而挂起,且能有效避免非专业用户对应用软件的随意烧写。
本发明实施例还提供一种计算机可读存储介质,包含计算机执行指令,所述计算机执行指令被用于执行上述应用软件升级方法任一个实施例中所述的步骤。或者,所述计算机执行指令被用于执行上述应用软件升级方法装置实施例中各单元的功能。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用软件升级方法,其特征在于,包括:
引导软件运行后,判断初始版应用软件是否通过有效性校验;
若所述初始版应用软件通过有效性校验,则所述引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态;
若所述地面允许硬件和所述编程允许硬件的开关量状态均为允许状态,则所述引导软件接收所述用户端发送的升级版应用软件,以对所述初始版应用软件进行升级。
2.根据权利要求1所述的方法,其特征在于,在所述引导软件运行后,判断初始版应用软件是否通过有效性校验之前,还包括:
使飞控计算机的硬件存储设备划分为引导区、应用软件区和校验区,所述引导区用于存储所述引导软件,所述应用软件区用于存储所述初始版应用软件,所述校验区用于存储与所述初始版应用软件对应的存储初始校验码和初始有效数据长度。
3.根据权利要求2所述的方法,其特征在于,所述判断初始版应用软件是否通过有效性校验,包括:
所述引导软件从所述校验区中读取所述存储初始校验码和所述初始有效数据长度;
所述引导软件根据所述初始有效数据长度,计算所述初始版应用软件的实时初始校验码,并判断所述实时初始校验码与所述存储初始校验码是否一致;
若所述实时初始校验码与所述存储初始校验码一致,确定所述初始版应用软件通过有效性校验;否则,确定所述初始版应用软件未通过有效性校验。
4.根据权利要求2所述的方法,其特征在于,所述对所述初始版应用软件进行升级,包括:
所述引导软件将所述升级版应用软件烧写到所述应用软件区;
所述引导软件根据所述升级版应用软件的升级有效数据长度,计算所述升级版应用软件的升级校验码;
所述引导软件将所述升级校验码和所述升级有效数据长度分别作为新的存储初始校验码和初始有效数据长度,并存储在所述校验区。
5.根据权利要求1~4中任一项所述的方法,其特征在于,在所述判断初始版应用软件是否通过有效性校验之后,还包括:
若所述初始版应用软件未通过有效性校验,则执行所述引导软件接收所述用户端发送的升级版应用软件,以对所述初始版应用软件进行升级的步骤。
6.根据权利要求1~4中任一项所述的方法,其特征在于,在所述引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态之后,还包括:
若所述地面允许硬件和所述编程允许硬件的开关量状态不均为允许状态,则所述引导软件启动所述初始版应用软件。
7.根据权利要求1~4中任一项所述的方法,其特征在于,在所述引导软件判断地面允许硬件和编程允许硬件的开关量状态是否均为允许状态之后,还包括:
若所述地面允许硬件和所述编程允许硬件的开关量状态均为允许状态,则所述引导软件从所述应用软件区中读取所述初始版应用软件,并传输至所述用户端。
8.一种应用软件升级装置,其特征在于,包括:
第一判断单元,用于引导软件运行后,判断初始版应用软件是否通过有效性校验;
第二判断单元,用于若所述初始版应用软件通过有效性校验,则所述引导软件判断所述地面允许硬件和所述编程允许硬件的开关量状态是否均为允许状态;
软件升级单元,用于若所述地面允许硬件和所述编程允许硬件的开关量状态均为允许状态,则所述引导软件接收所述用户端发送的升级版应用软件,以对所述初始版应用软件进行升级。
9.一种应用软件升级系统,其特征在于,包括处理器和存储器,其中所述存储器内存储有执行指令,所述处理器读取所述存储器内的执行指令用于执行如权利要求1~7中任一项所述的应用软件升级方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机执行指令,所述计算机执行指令被用于执行如权利要求1~7中任一项所述的应用软件升级方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427858.6A CN113010900A (zh) | 2021-04-20 | 2021-04-20 | 应用软件升级方法、装置、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110427858.6A CN113010900A (zh) | 2021-04-20 | 2021-04-20 | 应用软件升级方法、装置、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113010900A true CN113010900A (zh) | 2021-06-22 |
Family
ID=76388880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110427858.6A Pending CN113010900A (zh) | 2021-04-20 | 2021-04-20 | 应用软件升级方法、装置、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010900A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114217545A (zh) * | 2021-11-04 | 2022-03-22 | 北京机电工程研究所 | 结合硬件条件判断的控制软件关键指令输出方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030146A (zh) * | 2007-04-10 | 2007-09-05 | 北京中星微电子有限公司 | 一种实现固件更新的方法和系统 |
CN103336701A (zh) * | 2013-06-20 | 2013-10-02 | 深圳麦克维尔空调有限公司 | 智能型引导升级方法 |
US20170052779A1 (en) * | 2014-02-27 | 2017-02-23 | Zte Corporation | Method and Device for Running Version File |
CN106919423A (zh) * | 2017-02-22 | 2017-07-04 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN112068867A (zh) * | 2020-09-02 | 2020-12-11 | 中国航空工业集团公司西安飞行自动控制研究所 | 飞控计算机内多功能板软件在线加载架构及加载方法 |
-
2021
- 2021-04-20 CN CN202110427858.6A patent/CN113010900A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030146A (zh) * | 2007-04-10 | 2007-09-05 | 北京中星微电子有限公司 | 一种实现固件更新的方法和系统 |
CN103336701A (zh) * | 2013-06-20 | 2013-10-02 | 深圳麦克维尔空调有限公司 | 智能型引导升级方法 |
US20170052779A1 (en) * | 2014-02-27 | 2017-02-23 | Zte Corporation | Method and Device for Running Version File |
CN106919423A (zh) * | 2017-02-22 | 2017-07-04 | 新华三技术有限公司 | 一种固件升级方法及装置 |
CN112068867A (zh) * | 2020-09-02 | 2020-12-11 | 中国航空工业集团公司西安飞行自动控制研究所 | 飞控计算机内多功能板软件在线加载架构及加载方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114217545A (zh) * | 2021-11-04 | 2022-03-22 | 北京机电工程研究所 | 结合硬件条件判断的控制软件关键指令输出方法 |
CN114217545B (zh) * | 2021-11-04 | 2024-06-11 | 北京机电工程研究所 | 结合硬件条件判断的控制软件关键指令输出方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710295A (zh) | 一种安全可靠地fpga远程升级方法 | |
CN108279916B (zh) | 电子控制单元程序更新方法和装置 | |
KR101640207B1 (ko) | 부트로더 및 임베디드 시스템 업그레이드 방법 | |
US7418589B2 (en) | System and method for updating a basic input/output system | |
US20170010899A1 (en) | Systems and methods for loading firmware modules | |
CN110908682B (zh) | 一种车辆控制器的固件升级方法、系统、车辆和存储介质 | |
CN108304209B (zh) | 固件升级方法及固件升级系统 | |
US10037170B2 (en) | Motherboard and a method for boot-up | |
CN108182078B (zh) | 一种优化的弹载设备不拆弹软件在线升级方法 | |
CN113010900A (zh) | 应用软件升级方法、装置、系统和存储介质 | |
US11137995B2 (en) | Updating firmware of a microcontroller | |
CN114840235A (zh) | 车辆控制器固件升级方法、系统、车辆控制器及存储介质 | |
CN110134456B (zh) | 用于管理操作系统的方法、装置、设备和存储介质 | |
CN111566617A (zh) | 无人飞行器的固件升级方法、固件升级装置、控制装置、无人飞行器及介质 | |
CN108897565B (zh) | 一种电子设备中的软件升级方法、装置及电子设备 | |
CN113268262A (zh) | 一种fpga远程更新配置方法、系统、电子设备和存储介质 | |
CN116560688A (zh) | 用于域控制器的软件更新方法 | |
CN103631611A (zh) | 对光端机进行升级的方法及该设备 | |
CN116048581A (zh) | 应用更新方法及装置、电子设备、计算机可读存储介质 | |
CN116126384A (zh) | 一种域控制器操作系统的数据更新方法及更新系统 | |
CN117389578A (zh) | 云终端系统升级方法、装置、云终端和存储介质 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
CN114741091A (zh) | 固件加载方法、装置、电子设备及计算机可读存储介质 | |
CN113703801A (zh) | 一种车载终端固件升级方法及电子装置 | |
CN112166411A (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 |