一种在轨卫星的嵌入设备的固件升级方法与流程

文档序号:37677990发布日期:2024-04-18 20:50阅读:19来源:国知局
一种在轨卫星的嵌入设备的固件升级方法与流程

本发明涉及嵌入设备,特别地,涉及一种在轨卫星的嵌入设备的固件升级方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

1、随着人们对于太空的不断探索,太空中各种各样的卫星也越来越多,这些卫星为人类提供着各种各样的服务。人造卫星内部有着不同类型的嵌入式设备,这些设备来配合卫星完成不同的功能。例如,大部分卫星作为一种数据采集设备为人类的生产和生活提供重要的信息,但仅地球同步卫星才能近乎于实时地与地球进行数据传输,绝大部分非同步卫星还需要在数据采集后将其存储在内嵌的存储设备中,因此,其内嵌的存储设备就是实现数据采集功能中的一个小小的功能单元。诸如此类的设备在卫星上还有很多,如何对此类设备进行维护是一个很重要的问题。目前,对于卫星中嵌入式设备的维护均通过远程升级的方式来进行,因此,嵌入式设备固件升级方案是对整个卫星的稳定性、可维护性、功能扩展型的重要保证。

2、《航空机电控制器软件在线升级研究与实现》一文中介绍了一种航空设备的升级方案,其中将boot和应用程序分开存放在flash中。通过rs232接口来向航空器内嵌设备发送升级指令,设备接收到升级指令后将会进入到接收升级包的状态,升级包接收结束后重启开始加载新的固件代码。

3、上述升级方案虽然可以完成航空器内嵌设备的固件升级,但仍然不可避免地存在以下问题:

4、1、通过crc来校验接收到的应用程序,一旦crc校验出现问题将会导致嵌入式设备无法自行恢复到升级前状态。必须通过主机重发升级包或下发取消升级指令来协助设备脱离升级状态,此时,一旦主机与设备之间通信异常将会导致设备宕机,升级功能无法自行闭环。这对于航空系统的稳定性而言是一个严峻的挑战。

5、2、将flash分为boot区和应用程序区,接收到的升级包将会存放在应用程序区。虽然通过crc来校验接收到的升级包,但由于航空环境的复杂性,写入到flash中的数据会出现错误的现象。一旦写入flash中的应用程序出现问题将会导致设备无法启动或功能异常。

6、3、通过rs232作为数据收发总线,但对于航空系统而言,其数据有着一定的机密性,将升级包文件未经任何加密直接置于rs232总线上传输有着极大的安全风险。


技术实现思路

1、为了解决上述问题,本发明提供一种在轨卫星的嵌入设备的固件升级方法,通过采用设备接收完整升级包、自动校验升级包、升级异常主动脱离升级状态的手段,使得整个固件升级流程具有更高的可靠性、安全性和稳定性。

2、一种在轨卫星的嵌入设备的固件升级方法,包括以下步骤:s1:通过sata接口接收主机下发的完整版本的升级包;s2:对通过sata总线传输的升级包进行aes解密;s3:对解密后的升级包进行本地md5校验,如果校验通过则进入s4,否则退出升级模式;s4:将通过校验后的升级包写入download分区,再次回读一遍并校验回读的数据crc;s5:在升级包保存结束后,设备开始重启,重启后加载bootload分区,如果版本升级标记被置位,则开始启动download分区中存储的升级包,否则从default分区启动。

3、优选地,s5还包括如果升级超时标记位被置位,则从booterr分区启动,booterr分区中存放出厂预设代码。

4、优选地,在步骤s5之后还包括从对应的分区启动进入main函数,在main函数完成分区之间的代码拷贝。

5、优选地,如果从download分区启动失败,则将版本升级标记位清零。

6、优选地,如果从default分区启动失败,则将启动故障标记位置位。

7、一种在轨卫星的嵌入设备的固件升级装置,包括:接收模块,用于通过sata接口接收主机下发的完整版本的升级包;解密模块,用于对通过sata总线传输的升级包进行aes解密;校验模块,用于对解密后的升级包进行本地md5校验,如果校验通过则进入s4,否则退出升级模式;保存模块:用于将通过校验后的升级包写入download分区,再次回读一遍并校验回读的crc;以及触发升级模块:用于在升级包保存结束后,设备开始重启,重启后加载bootload分区,如果版本升级标记被置位,则开始启动download分区中存储的升级包,否则从default分区启动。

8、一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现前述在轨卫星的嵌入设备的固件升级方法。

9、一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述在轨卫星的嵌入设备的固件升级方法。

10、一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述在轨卫星的嵌入设备的固件升级方法。

11、有益效果

12、相比于现有技术,本发明具有以下有益效果:

13、1、将经过aes加密的升级包通过sata总线传输,为在轨卫星的嵌入设备的固件升级设计了一条安全的数据通路;

14、2、通过多分区的升级方案,为在轨卫星的嵌入设备的固件升级提供了一种高容错率的升级方案;

15、3、通过升级异常主动脱离升级状态的方案,为在轨卫星的嵌入设备的固件升级设计了一种合理状态机。



技术特征:

1.一种在轨卫星的嵌入设备的固件升级方法,其特征在于:包括以下步骤:s1:通过sata接口接收主机下发的完整版本的升级包;s2:对通过sata总线传输的升级包进行aes解密;s3:对解密后的升级包进行本地md5校验,如果校验通过则进入s4,否则退出升级模式;s4:将通过校验后的升级包写入download分区,再次回读一遍并校验回读的数据crc;s5:在升级包保存结束后,设备开始重启,重启后加载bootload分区,如果版本升级标记被置位,则开始启动download分区中存储的升级包,否则从default分区启动。

2.根据权利要求1所述的一种在轨卫星的嵌入设备的固件升级方法,其特征在于:s5还包括如果升级超时标记位被置位,则从booterr分区启动,所述booterr分区中存放出厂预设代码。

3.根据权利要求1所述的一种在轨卫星的嵌入设备的固件升级方法,其特征在于:在步骤s5之后还包括从对应的分区启动进入main函数,在所述main函数完成分区之间的代码拷贝。

4.根据权利要求1所述的一种在轨卫星的嵌入设备的固件升级方法,其特征在于:如果从download分区启动失败,则将版本升级标记位清零。

5.根据权利要求1所述的一种在轨卫星的嵌入设备的固件升级方法,其特征在于:如果从default分区启动失败,则将启动故障标记位置位。

6.一种在轨卫星的嵌入设备的固件升级装置,包括:接收模块,用于通过sata接口接收主机下发的完整版本的升级包;解密模块,用于对通过sata总线传输的升级包进行aes解密;校验模块,用于对解密后的升级包进行本地md5校验,如果校验通过则进入s4,否则退出升级模式;保存模块:用于将通过校验后的升级包写入download分区,再次回读一遍并校验回读的crc;以及触发升级模块:用于在升级包保存结束后,设备开始重启,重启后加载bootload分区,如果版本升级标记被置位,则开始启动download分区中存储的升级包,否则从default分区启动。

7.一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现权利要求1至5任意一项所述的在轨卫星的嵌入设备的固件升级方法。

8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任意一项所述的在轨卫星的嵌入设备的固件升级方法。

9.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任意一项所述的在轨卫星的嵌入设备的固件升级方法。


技术总结
本发明提供一种在轨卫星的嵌入设备的固件升级方法,包括以下步骤:S1:通过SATA接口接收主机下发的完整版本的升级包;S2:对通过SATA总线传输的升级包进行AES解密;S3:对解密后的升级包进行本地MD5校验,如果校验通过则进入S4,否则退出升级模式;S4:将通过校验后的升级包写入Download分区,再次回读一遍并校验回读的数据CRC;S5:在升级包保存结束后,设备开始重启,重启后加载Bootload分区,如果版本升级标记被置位,则开始启动Download分区中存储的升级包,否则从Default分区启动。通过采用设备接收完整升级包、自动校验升级包、升级异常主动脱离升级状态的手段,使得整个固件升级流程具有更高的可靠性、安全性和稳定性。

技术研发人员:吴祥
受保护的技术使用者:西安艾可萨科技有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1