CN112035151A - 一种惯性测量单元软件在线升级的方法 - Google Patents
一种惯性测量单元软件在线升级的方法 Download PDFInfo
- Publication number
- CN112035151A CN112035151A CN202010825570.XA CN202010825570A CN112035151A CN 112035151 A CN112035151 A CN 112035151A CN 202010825570 A CN202010825570 A CN 202010825570A CN 112035151 A CN112035151 A CN 112035151A
- Authority
- CN
- China
- Prior art keywords
- data
- measurement unit
- upgrading
- program
- software
- 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
- 238000005259 measurement Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 claims description 26
- 238000002360 preparation method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种惯性测量单元软件在线升级的方法,该方法基于ARM平台,利用STM32F4系列芯片,通过与综控机交互,响应综控机指令,判断当前软件状态,根据指令完成现有软件的在线升级,同时具备防护功能,防止软件升级失败,导致惯性测量单元不能正常运行。本发明可为惯性测量单元后续产品不开盖升级提供技术支持。
Description
技术领域
本发明属于软件在线升级技术领域,具体涉及一种基于ARM平台的惯性测量单元软件在线升级的方法。
背景技术
惯性测量单元是以陀螺仪和加速度计为基本的惯性测量元件,其中,陀螺仪敏感载体相对惯性空间的角速度,通过角速率补偿和积分运算为加速度计提供测量基准;加速度计敏感载体相对惯性空间的线性运动信息,通过坐标变换和加速度补偿,得到载体相对地球的加速度,进而由积分运算得到载体的速度和位置。
惯性测量单元内部结构对其测量结果的精度有着非常大的影响,故产品经过解耦、标定后,是不允许再对其硬件结构进行变动的。惯性测量单元生产过程中使用软件与出厂固化软件不同,且产品出厂后,在系统联调、半实物仿真等试验过程中也会有软件变更需求,为了保持产品状态,不允许进行拆装,嵌入式软件不能通过仿真器变更。实现软件在线升级是解决这些问题的唯一途径。
发明内容
本发明的目的在于提供一种惯性测量单元软件在线升级的方法,对惯性测量单元在生产和使用过程存在的软件升级问题加以解决,提供一种实现软件线下升级的方法,该方法可实现惯性测量单元不进行拆装,即可完成软件变更、升级,提高产品的可维护性。
本发明的技术方案是:一种惯性测量单元软件在线升级的方法,该方法基于ARM平台,利用STM32F4系列芯片,惯性测量单元通过与综控机交互,响应综控机指令,判断当前软件状态,根据综控机指令完成现有软件的在线升级,同时具备防护功能,防止软件升级失败,导致惯性测量单元不能正常运行;其特征是具体包括以下步骤:
步骤一:读取bin文件
综控机读取bin升级文件后,对bin升级文件进行统计,计算升级文件长度字节数,确保读取升级文件正确;
步骤二:升级准备指令确认
综控机与惯性测量单元建立通信,发送软件升级准备指令,惯性测量单元收到指令后,根据通信协议,对指令进行判断,确认要升级程序时,缓存升级文件长度字节数,同时回报当前产品软件状态,便于综控机判断是否需要升级;
步骤三:FLASH擦除
FLASH存储区域被划分为监控程序存储区、运行程序存储区和升级程序预存储区;对STM32F4芯片的FLASH升级程序预存储区进行FLASH擦除,并回报擦除结果,便于综控机判断可否进行下一步操作,综控机确认FLASH擦除成功后,开始软件升级;
步骤四:软件升级
软件升级开始后,综控机将步骤二缓存的升级文件长度字节数据,按通信协议逐帧发送给惯性测量单元,惯性测量单元每接收一帧数据,首先采取异或校验进行每帧校验,正确后先缓存该数据,同时将该数据上报给综控机,综控机收到该数据后,若发现其接收的数据正确则发送下一帧数据,否则再次发送当前帧;惯性测量单元收到下一帧数据后,与缓存数据对比帧序号,若不同,则认为上一帧数据正确,写入FLASH升级程序预存储区,并累加接收的数据字节数;若相同则抛弃上一帧数据,缓存当前数据;
步骤五:程序搬运
惯性测量单元收到综控机数据结束指令后,核对最终写入FLASH升级程序预存储区的数据字节数,对比步骤二缓存的升级文件长度字节数,判断是否接收到了完整的升级程序数据,经核对正确无误后,则擦除指定的运行程序存储区(同步骤二一样,使用FLASH运行程序存储区前,应先擦除,再写入),将升级程序预存储区数据搬运到指定的运行程序存储区,并回报综控机搬运结果;
步骤六:通电检查
程序升级结束后,惯性测量单元重新上电,通过综控机读取当前程序版本号,确认烧写程序正确;观察惯性测量单元输出,确认产品状态无误,确认程序升级成功。
所述的惯性测量单元软件在线升级的方法,其特征在于,步骤二中,综控机发送的软件升级准备指令包含步骤一计算得到的文件长度字节数信息。
所述的惯性测量单元软件在线升级的方法,其特征在于,步骤四中,数据传送过程中,惯性测量单元需将收到的数据原样返回综控机,由综控机判断是否需要重新发送,而惯性测量单元接收到数据后,需要判断是否是新数据,从而决定是否要将上一帧数据写入缓存区,连续两次不能发送成功,综控机报错。
所述的惯性测量单元软件在线升级的方法,其特征在于,步骤五中,为防止软件升级失败而导致惯性测量单元产品彻底失效,中间数据被存储在升级程序预存储区,在全部校验完成后方可搬运到指定的运行程序存储区。
所述的惯性测量单元软件在线升级的方法,其特征在于,步骤五中,需要核对最终写入升级程序预存储区的数据字节数与步骤二发送的升级文件长度字节数一致,方可进行程序搬运。
所述的惯性测量单元软件在线升级的方法,其特征在于,步骤五中,若综控机收到的回报信息是搬运失败,则对比惯性测量单元回报的累加接收数据字节数和步骤二缓存的升级文件长度字节数,若两者一样,可再次下发搬运指令,惯性测量单元将再次执行搬运过程;若两者不一样,综控机报错,由操作人员决定下一步操作。
本发明的特点和效果
本发明基于ARM平台,利用STM32F4芯片实现惯性测量单元软件的在线升级,解决产品硬件状态固化后不可拆装,软件更新、升级困难的问题。本发明需要惯性测量单元与综控机配合,由综控机发送指令,引导惯性测量单元完成软件更新、升级。本发明可有效防止软件升级失败而导致惯性测量单元完全失效的问题,为产品的生产、使用过程提供技术支持。
附图说明
图1是惯性测量单元的监控程序流程图。
图2是综控机的上位软件工作流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所得到的所有其他实施方式,都属于本发明所保护的范围。
如图1、图2所示,本发明提供一种惯性测量单元软件在线升级的方法,为惯性测量单元在生产、使用过程中的软件更新、升级提供技术支持。本发明需要惯性测量单元和综控机配合使用,本发明的在线升级方法包括以下步骤:
步骤一:读取bin文件
与HEX文件相比,bin文件更小,为避免升级过程过长,本发明要求预升级程序文件为二进制bin文件。文件包含程序升级所需要的信息,包含文件存储位置信息、程序开始运行位置信息。综控机读取bin升级文件后,对bin升级文件长度进行统计,计算升级文件长度字节数,确保读取升级文件正确。
步骤二:升级准备
综控机与惯性测量单元建立通信,综控机向惯性测量单元下达升级准备指令,指令中包含预升级程序文件长度字节数。惯性测量单元收到程序升级指令后,根据通信协议,需要对指令进行判断,确认要升级程序时,缓存文件长度字节数,后期用于比对;同时回报产品内部当前程序状态,便于综控机判断是否需要升级。
步骤三:FLASH擦除
为防止程序升级失败,导致惯性测量单元产品完全失效,STM32F4芯片的FLASH存储区域被划分为监控程序存储区、运行程序存储区和升级程序预存储区。使用FLASH时,STM32F4芯片的FLASH存储区需先进行擦除,然后再写入新的数据。
惯性测量单元确认要升级程序后,首先进行升级程序预存储区FLASH擦除,并回报擦除结果,便于综控机判断可否进行下一步操作。
步骤四:软件升级
综控机确认FLASH擦除成功后,将步骤一读取的升级文件数据,按通信协议逐帧发送给惯性测量单元。惯性测量单元的监控软件根据综控机指令接收程序数据,判断当前帧数据的异或校验正确后写入预存储区,并累加接收的数据字节数。收到结束指令后,统计已写入预存储区的字节数,并上报综控机。
程序升级开始后,惯性测量单元每接收一帧数据,首先判断该帧数据的异或校验,正确后先缓存,同时上报综控机收到的数据。综控机收到返回的数据后,若发现惯性测量单元返回数据与其下发数据一致,则发送下一帧;否则再次发送当前帧数据,且使帧序号加一;惯性测量单元收到下一帧数据后,与缓存数据对比帧序号,若不同,则认为上一帧数据正确,将其写入FLASH升级程序预存储区;若相同则抛弃上一帧数据,缓存当前数据。
步骤五:程序搬运
为防止数据传输过程造成的升级失败,步骤四统计的累加接收的数据字节数据写入了写入FLASH升级程序预存储区。收到综控机数据结束指令后,惯性测量单元将累加的接收数据字节数与步骤二缓存的文件长度字节数对比,判断是否接收到了完整的升级程序数据。正确,则擦除指定运行程序存储区(同步骤三一样,使用FLASH升级程序预存储区前,应先擦除,再写入),则将预存储区数据搬运到指定的运行程序存储位置,并将搬运完成的信息上报综控机。
若综控机收到的回报信息是搬运失败,则对比惯性测量单元回报的累加接收数据字节数和文件长度字节数,若两者一样,可再次下发搬运指令,惯性测量单元将再次执行搬运过程;若两者不一样,综控机报错,由操作人员决定下一步操作。
步骤六:检查确认
程序升级完成后,惯性测量单元重新上电,综控机读取产品当前软件版本号,确认软件已被更改;观察惯性测量单元输出无误,确认程序升级成功。
以上所述,仅仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (6)
1.一种惯性测量单元软件在线升级的方法,其特征是具体包括以下步骤:
步骤一:读取bin文件
综控机读取bin升级文件后,对bin升级文件进行统计,计算升级文件长度字节数,确保读取升级文件正确;
步骤二:升级准备指令确认
综控机与惯性测量单元建立通信,发送软件升级准备指令,惯性测量单元收到指令后,根据通信协议,对指令进行判断,确认要升级程序时,缓存升级文件长度字节数,同时回报当前产品软件状态,便于综控机判断是否需要升级;
步骤三:FLASH擦除
FLASH存储区域被划分为监控程序存储区、运行程序存储区和升级程序预存储区;对STM32F4芯片的FLASH升级程序预存储区进行FLASH擦除,并回报擦除结果,便于综控机判断可否进行下一步操作,综控机确认FLASH擦除成功后,开始软件升级;
步骤四:软件升级
软件升级开始后,综控机将步骤二缓存的升级文件长度字节数据,按通信协议逐帧发送给惯性测量单元,惯性测量单元每接收一帧数据,首先采取异或校验进行每帧校验,正确后先缓存该数据,同时将该数据上报给综控机,综控机收到该数据后,若发现其接收的数据正确则发送下一帧数据,否则再次发送当前帧;惯性测量单元收到下一帧数据后,与缓存数据对比帧序号,若不同,则认为上一帧数据正确,写入FLASH升级程序预存储区,并累加接收的数据字节数;若相同则抛弃上一帧数据,缓存当前数据;
步骤五:程序搬运
惯性测量单元收到综控机数据结束指令后,核对最终写入FLASH升级程序预存储区的数据字节数,对比步骤二缓存的升级文件长度字节数,判断是否接收到了完整的升级程序数据,经核对正确无误后,则擦除指定的运行程序存储区,将升级程序预存储区数据搬运到指定的运行程序存储区,并回报综控机搬运结果;
步骤六:通电检查
程序升级结束后,惯性测量单元重新上电,通过综控机读取当前程序版本号,确认烧写程序正确;观察惯性测量单元输出,确认产品状态无误,确认程序升级成功。
2.如权利要求1所述的惯性测量单元软件在线升级的方法,其特征在于,步骤二中,综控机发送的软件升级准备指令包含步骤一计算得到的文件长度字节数信息。
3.如权利要求1所述的惯性测量单元软件在线升级的方法,其特征在于,步骤四中,数据传送过程中,惯性测量单元需将收到的数据原样返回综控机,由综控机判断是否需要重新发送,而惯性测量单元接收到数据后,需要判断是否是新数据,从而决定是否要将上一帧数据写入缓存区,连续两次不能发送成功,综控机报错。
4.如权利要求1所述的惯性测量单元软件在线升级的方法,其特征在于,步骤五中,为防止软件升级失败而导致惯性测量单元产品彻底失效,中间数据被存储在升级程序预存储区,在全部校验完成后方可搬运到指定的运行程序存储区。
5.如权利要求1所述的惯性测量单元软件在线升级的方法,其特征在于,步骤五中,惯性测量单元需要核对最终写入升级程序预存储区的数据字节数与步骤二发送的升级文件长度字节数一致,方可进行程序搬运。
6.如权利要求1所述的惯性测量单元软件在线升级的方法,其特征在于,步骤五中,若综控机收到的回报信息是搬运失败,则对比惯性测量单元回报的累加接收数据字节数和步骤二缓存的升级文件长度字节数,若两者一样,可再次下发搬运指令,惯性测量单元将再次执行搬运过程;若两者不一样,综控机报错,由操作人员决定下一步操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010825570.XA CN112035151A (zh) | 2020-08-17 | 2020-08-17 | 一种惯性测量单元软件在线升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010825570.XA CN112035151A (zh) | 2020-08-17 | 2020-08-17 | 一种惯性测量单元软件在线升级的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112035151A true CN112035151A (zh) | 2020-12-04 |
Family
ID=73577269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010825570.XA Pending CN112035151A (zh) | 2020-08-17 | 2020-08-17 | 一种惯性测量单元软件在线升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035151A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036097A (zh) * | 2021-10-09 | 2022-02-11 | 中国航空工业集团公司洛阳电光设备研究所 | 一种提升光电产品维护性的国产fpga逻辑在线升级方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005351A1 (en) * | 2001-06-30 | 2003-01-02 | Samsung Electronics Co., Ltd. | Method of upgrading software in a network environment and a network device for performing the same |
CN1414735A (zh) * | 2002-04-02 | 2003-04-30 | 华为技术有限公司 | 一种二层交换设备的数据升级方法 |
WO2017021606A1 (fr) * | 2015-08-03 | 2017-02-09 | Peugeot Citroen Automobiles Sa | Procede de telechargement de logiciel pour des calculateurs par reseau a multiplexage temporel |
CN106569847A (zh) * | 2016-10-14 | 2017-04-19 | 数源科技股份有限公司 | 一种用于车载系统基于移动网络实现iap远程升级的方法 |
CN109240730A (zh) * | 2018-08-29 | 2019-01-18 | 武汉光迅科技股份有限公司 | 一种单片机在线升级方法和系统 |
CN109561426A (zh) * | 2018-11-20 | 2019-04-02 | 浙江威星智能仪表股份有限公司 | 一种无线射频gfsk组网通讯的可靠性方法 |
CN109901866A (zh) * | 2017-12-07 | 2019-06-18 | 航天科工惯性技术有限公司 | 用于多模块系统的在线升级方法及旋转导向系统 |
-
2020
- 2020-08-17 CN CN202010825570.XA patent/CN112035151A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005351A1 (en) * | 2001-06-30 | 2003-01-02 | Samsung Electronics Co., Ltd. | Method of upgrading software in a network environment and a network device for performing the same |
CN1414735A (zh) * | 2002-04-02 | 2003-04-30 | 华为技术有限公司 | 一种二层交换设备的数据升级方法 |
WO2017021606A1 (fr) * | 2015-08-03 | 2017-02-09 | Peugeot Citroen Automobiles Sa | Procede de telechargement de logiciel pour des calculateurs par reseau a multiplexage temporel |
CN106569847A (zh) * | 2016-10-14 | 2017-04-19 | 数源科技股份有限公司 | 一种用于车载系统基于移动网络实现iap远程升级的方法 |
CN109901866A (zh) * | 2017-12-07 | 2019-06-18 | 航天科工惯性技术有限公司 | 用于多模块系统的在线升级方法及旋转导向系统 |
CN109240730A (zh) * | 2018-08-29 | 2019-01-18 | 武汉光迅科技股份有限公司 | 一种单片机在线升级方法和系统 |
CN109561426A (zh) * | 2018-11-20 | 2019-04-02 | 浙江威星智能仪表股份有限公司 | 一种无线射频gfsk组网通讯的可靠性方法 |
Non-Patent Citations (2)
Title |
---|
HENG Y ET AL: "Storage solution to security of embedded remote upgrade", 《JOURNAL OF COMPUTER APPLICATIONS》 * |
杨成禹 等: "基于ARM的图像采集与传输系统设计", 《电子测量技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036097A (zh) * | 2021-10-09 | 2022-02-11 | 中国航空工业集团公司洛阳电光设备研究所 | 一种提升光电产品维护性的国产fpga逻辑在线升级方法 |
CN114036097B (zh) * | 2021-10-09 | 2024-03-01 | 中国航空工业集团公司洛阳电光设备研究所 | 一种提升光电产品维护性的国产fpga逻辑在线升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110716727B (zh) | 软件升级方法及系统 | |
CN106569847A (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
CN110674055B (zh) | 一种用于部件级和部件联合级的缓存一致性模拟验证方法 | |
CN103914667B (zh) | 一种安全读写eeprom的方法及其系统 | |
CN112181459B (zh) | 一种cpld升级优化方法及系统 | |
CN107179076A (zh) | 车载图像显示系统 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
SA516370444B1 (ar) | نظام قوي لتصحيح خطأ بأجهزة وبرمجيات | |
CN112035151A (zh) | 一种惯性测量单元软件在线升级的方法 | |
Maioli et al. | Discovering the hidden anomalies of intermittent computing | |
CN101095119B (zh) | 用于分析具有测试接口的嵌入式系统的装置和方法 | |
CN112181444B (zh) | 一种基于1553b总线的dsp多核数据烧写方法 | |
CN117012267B (zh) | 对ufs所写入数据的验证方法、控制器及介质 | |
CN111459496B (zh) | 一种防篡改的程序文件的生成方法、设备的升级方法 | |
JP4894854B2 (ja) | データ送信装置、データ送受信システム及びデータ送受信システムの制御方法 | |
CN116521210B (zh) | 一种物联网水表固件差量升级的方法 | |
CN115712397B (zh) | 缓存验证装置、方法及系统 | |
CN111966369A (zh) | 一种nand存储器离线烧录镜像制作及验证方法 | |
CN101714114B (zh) | 一种支持处理器硅后调试的装置和方法 | |
CN102567059B (zh) | 一种远程更新设备软件的方法 | |
CN110888605B (zh) | Eeprom的数据写入方法、装置和电子设备 | |
CN104678292A (zh) | 一种复杂可编程逻辑器件cpld测试方法和装置 | |
CN212181459U (zh) | Fpga升级系统 | |
CN114168259A (zh) | 虚拟芯片及虚拟芯片内串口外设的方法 | |
CN111857664B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201204 |