嵌入式航空电子设备的高可靠性启动加载方法与流程

文档序号:27931077发布日期:2021-12-11 12:14阅读:162来源:国知局
嵌入式航空电子设备的高可靠性启动加载方法与流程

1.本发明属于航空电子系统机载计算机领域,特别涉及一种基于vxworks 653实现的嵌入式航空电子设备的高可靠性启动加载方法。


背景技术:

2.实时操作系统(real

time operation system,rtos)是航空器机载软件的关键组件,承担硬件统一管理与软件调度执行。arinc 653是国际上机载实时操作系统领域的行业标准,无论是民用还是军用航空器都会选用符合arin c653标准的rtos。特别是民机适航取证,局方对操作系统的审定十分严格。wind river公司的vxworks 653rtos在嵌入式和机载领域广泛使用,严格遵循arinc 653标准,支持系统集成多个不同安全等级的应用且互不影响。
3.参见图1所示的一个典型的嵌入式航空电子设备的架构框图,自下而上,依次是硬件平台,板级支持包(bsp,board support package),实时操作系统(rtos,典型的如vxworks 653),分区应用软件层。
4.参见图2所示的嵌入式航空电子设备的传统启动流程,上电启动时,设备首先运行存储在rom中的引导程序,然后将vxworks映像从rom拷贝到ram,接着控制权转交给ram中的映像入口代码,最后在ram中运行系统的完整功能。


技术实现要素:

5.本发明的发明目的在于提供了一种嵌入式航空电子设备的高可靠性启动加载方法,能够在嵌入式航空电子设备启动运行时检测出因元器件或高空粒子翻转导致的映像损坏,避免影响飞行安全和酿成飞行事故。同时本发明在vxworks653上实现了映像冗余备份和地址无关烧录技术,即使系统升级时失败,设备还能重新恢复启动,避免返厂处理,提高用户体验。
6.本发明的发明目的通过以下技术方案实现:
7.一种嵌入式航空电子设备的高可靠性启动加载方法,包含以下步骤:
8.步骤1、嵌入式航空电子设备上电启动,完成硬件初始化;
9.步骤2、从rom拷贝vxworks 653映像到ram的基准地址,vxworks 653映像从ram的基准地址再次搬移到ram中的可执行地址后开始运行。
10.进一步,步骤2中还包含对拷贝到ram基准地址的vxworks 653映像进行完整性校验,校验通过后再将vxworks 653映像从ram基准地址再次搬移到ram中的可执行地址。
11.优选地,所述完整性校验为:在rom上烧录vxworks 653映像时,在vxworks 653映像尾部加上校验码,该校验码通过加密算法对vxworks 653映像进行加密运算后获得;当设备启动时,vxworks 653映像拷贝到ram后,对此vxworks 653映像正文用相同的加密算法进行运算,再与存储在vxworks 653映像尾部的校验码对比,如果一致,说明该vxworks 653映像完整性正确,如果不一致,则说明vxworks 653映像已经被损坏。
12.进一步,嵌入式航空电子设备的高可靠性启动加载方法还包含:
13.步骤3、判断是否有在线加载升级需求,若没有,运行正常系统功能,若需要进行加载升级,进入下一步;
14.步骤4、先备份当前vxworks 653映像,再启动加载升级,若加载升级成功,用新vxworks 653映像重启设备,若加载升级失败,则用备份vxworks 653映像重启设备。
15.优选地,在rom上开辟a、b两个区域,存放各个vxworks 653映像的当前版本和历史版本,在程序里设计两个槽位区,用来保存各个vxworks 653映像的a/b区标记;
16.进入步骤4时,首先判断哪个槽位区为主槽位区,哪个槽位区为备份槽位区,然后复制主槽位区上各个vxworks 653映像的a/b区标记至备份槽位区;接着依次加载升级需要更新的vxworks 653映像,并更新主槽位区该vxworks653映像的a/b区标记;如加载升级过程顺利完成,设备仍提取主槽位区上的a/b区标记启动,否则从备份槽位区提取a/b区标记启动。
17.本发明的有益效果在于:
18.a)由于采用完整性校验(integrity check),vxworks 653映像烧录到rom时,用高安全性的sha

1hash算法进行加密,而后在其尾部加上校验码;设备启动时,vxworks 653映像拷贝到ram后,对此vxworks 653映像用同一个sha

1计算hash值,与尾部的校验码对比;如此保证拷贝到ram的vxworks 653映像完整性正确,系统功能受控,不影响飞行安全。
19.b)由于vxworks 653映像设计成地址无关编译和采用冗余备份技术。避免一旦在线加载失败,系统功能无法恢复的局面。因为在设备交付给客户(航空公司、军方用户)后,往往会有频繁的系统更新(在线加载)需求,升级过程既有可靠性要求,同时也需要良好的用户体验。
附图说明
20.图1是嵌入式航空电子设备的架构框图。
21.图2是嵌入式航空电子设备传统的启动流程。
22.图3是本发明提出的一种嵌入式航空电子设备的高可靠性启动加载方法的流程示图。
23.图4映像a/b区示意。
24.图5为在线加载和映像冗余备份的流程示意图。
25.图6为映像两次搬移示意图。
26.图7为rom上映像的结构示意图。
27.图8为槽位区的a/b区信息示意如所示。
具体实施方式
28.下面结合附图和实施例对本发明作进一步的详细说明。
29.参见图3所示,本实施例提出的一种嵌入式航空电子设备的高可靠性启动加载方法包含以下步骤:
30.步骤1、嵌入式航空电子设备上电启动,完成硬件初始化。
31.步骤2、先从rom拷贝vxworks 653映像到绑定的ram基准地址后,对vxworks653映
像作完整性校验。校验失败,自动关机。校验成功,vxworks 653映像从ram的基准地址再次搬移到ram中的可执行地址后开始运行。这里的ram可执行地址是软件编译时由操作系统时指定,ram的基准地址是开发者在程序的配置文件里指定。
32.步骤3、判断是否有在线加载升级需求,若没有,运行正常系统功能。若需要进行加载升级,进入下一步。
33.步骤4、先备份当前vxworks 653映像,再启动加载升级。若加载升级成功,用新vxworks 653映像重启设备。若加载升级失败,则用备份vxworks 653映像重启设备。
34.本实施例中的关键技术有以下几点。
35.任意地址空间烧录
36.上述方法中关键技术点在于实现了vxworks 653映像可在rom任意地址空间烧录。vxworks 653编译时默认vxworks 653映像与rom固定地址绑定,只能烧录到绑定的地址。要实现冗余备份,同一个vxworks 653映像需要两次编译,绑定两个rom地址。这种两次编译的方式在软件开发和发布时维护麻烦,不够灵活。本实施例提供了一种映像两次搬移技术,设计成vxworks 653映像与rom地址无关,可以在rom的任意地址空间烧录。图6描述的是本实施例实现的vxworks 653映像两次搬移设计。编译时vxworks 653rtos映像与ram的基准地址绑定,这样vxworks 653映像的数据段、代码段,只读段等偏移都基于ram地址。前文图2描述vxworks 653映像从rom搬移到ram后开始运行,实际上是搬移到程序在ram中的可执行地址。图6中vxworks 653映像第一次搬移同样是从rom到ram,但与图2不同的是,这里的ram地址是程序编译时绑定的基准地址。紧接着,vxworks 653映像从ram的基准地址再次搬移到ram中的可执行地址后开始运行。图6所示的两次搬移技术能够使vxworks 653映像可以在任意的rom地址空间烧录,从而可以实现下文所述的映像冗余备份技术。
37.映像完整性校验
38.vxworks 653映像不带校验功能,本实施例作为举例说明提供了一种映像校验方法。在vxworks 653映像烧录到rom时,在vxworks 653映像的尾部加上校验码,如图7所示,该校验码通过采用高安全性的加密算法例如sha

1hash算法对vxworks 653映像进行加密运算后获得。然后,当设备启动时,vxworks 653映像拷贝到ram后,对此vxworks 653映像正文用同样的sha

1算出20字节hash值,再与存储在vxworks 653映像尾部的校验码对比,如果一致,说明该vxworks 653映像完整性正确,如果不一致,则说明vxworks 653映像已经被损坏。
39.映像冗余备份技术
40.设备在线加载失败时恢复重启的关键是实现vxworks 653映像冗余备份。在设备rom上开辟a、b两个区域,存放各个vxworks 653映像的当前版本和历史版本,如图4所示。
41.在程序里设计两个槽位区:slot1和slot2,保存各个vxworks 653映像a/b区标记。图5描述在线加载时映像冗余备份的流程。设备进入在线加载升级模式,首先判断哪个槽位区为主槽位区,哪个槽位区为备份槽位区,在本实施例中假定slot1为主槽位区,slot2为备份槽位区,复制slot1上各个vxworks 653映像a/b区标记至slot2上。接着依次加载升级需要更新的vxworks 653映像,并更新slot1上该映像的a/b区标记。如升级过程顺利完成,设备仍提取slot1信息启动,否则从备份的slot2提取vxworks 653映像a/b区标记启动,实现在线加载失败时恢复重启的功能。slot的vxworks 653映像a/b区标记示意如图8所示。
42.本实施例提出的一种嵌入式航空电子设备的高可靠性启动加载方法,实现了嵌入式机载航空电子设备的高可靠性启动和在线升级功能。该设计方法极大的丰富了vxworks 653rtos下在线加载和高可靠性启动设计方法,同时可被借鉴应用于其他操作系统上的开发。该专利的应用独立于硬件平台,适用范围广,具有显著的市场前景和经济效益。
43.综上所述,仅为本发明的较佳实施例,并非用来限定本发明实施的范围,凡依本发明权利要求范围所述的形状、构造、特征及精神所为的均等变化与修饰,均应包括与本发明的权利要求范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1