一种满足DO178C标准的多安全级软件同时运行方法技术

技术编号:25478883 阅读:24 留言:0更新日期:2020-09-01 23:00
本发明专利技术公开了一种满足DO178C标准的多安全级软件同时运行方法,包括:下载低安全级软件与高安全级软件,镜像到存储芯片的指定位置;重启机载设备,机载设备的ARM Cortex‑A系列核启动并运行系统启动引导程序BootLoader对相关设备进行初始化,并启动ARM Cortex‑A系列核,在ARM Cortex‑A系列核上运行高安全级软件;利用RDC对系统资源进行资源域划分,使ARM Cortex‑A系列核与ARM CortexM4系列核只能对应访问各自访问域的设备及资源;当启动高安全级软件系统时,启动ARM CortexM4系列核,使高安全级软件开始在ARM CortexM4系列核上执行。

【技术实现步骤摘要】
一种满足DO178C标准的多安全级软件同时运行方法
本专利技术涉及飞机机载设备
,尤其涉及一种满足DO178C标准的多安全级软件同时运行方法。
技术介绍
DO-178C是FAA、EASA、加拿大运输部等认证机构,审批所有内含商业软件的航空航天系统的主要依据。DO-178C规范是目前机载软件适航审定的通用标准,根据DO-178C规范机载软件由于安全级别的不同被划分为DAL(DesignassuranceLevel设计保障等级,下文简称DAL)E、DALD、DALC、DALB、DALA五种安全等级。从DALE到DALA软件安全级别依次递增。其中DALA是最高安全级别,DALA级软件出现异常将可能导致飞机出现灾难性的事故,例如飞机坠毁,而DALE是最低安全级别,该安全级别软件出现异常将不会影响飞机的正常运行也不会增加飞行员的工作量。通常不同安全级别软件运行在不同的物理CPU上以满足DO178C标准的要求,然而飞机上部分机载设备需要将不同安全级别的软件部署在同一物理CPU上。DO178C要求不同安全级别的软件不能相互影响,因此通常不同安全级别软件部署在相互独立、相互隔离的硬件资源上。如果不同安全级别的软件没有隔离而存在相互影响的可能,厂商必须证明不同安全级别的软件不会相互干扰造成系统安全问题,如果强行将不同安全级别的软件部署到同一物理CPU必须将低安全级别软件认证为高安全等级或证明不同安全级别是完全隔离并互不影响的。然而在DALE软件与DALD及以上等级软件在同一物理CPU上运行时,有时无法将低安全等级的DALE软件认证为DALD及以上等级,因为DALE软件功能较多并且适航安全等级最低,大多数是基于Linux系统开发的,代码量高达上千万行,适航的成本十分高昂。将Linux这样复杂的系统认证为DALD及以上级别是非常困难的事。因此DALE软件与DALD及以上等级软件在同一物理CPU上运行时存在适航认证难的问题,针对该问题目前常规的解决方案是使用取得航空适航认证的分区操作系统,例如满足ARINC653标准的美国风河公司的分区操作系统,此操作系统可以运行多安全级别的软件,但是其存在操作系统本身比较庞大,收费高和对Linux系统支持较差的缺点。
技术实现思路
本专利技术所要解决的技术问题是针对上述飞机机载设备上低安全级软件与高安全级软件在同一物理CPU上共同运行时存在适航认证难的问题,本专利技术提供了解决上述问题的一种满足DO178C标准的多安全级软件同时运行方法。本专利技术通过下述技术方案实现:一种满足DO178C标准的多安全级软件同时运行方法,包括以下步骤:将系统启动引导程序BootLoader按照DO178C标准对高安全级软件的要求进行开发与认证;下载低安全级软件与高安全级软件,并分别镜像到存储芯片的指定位置;重启机载设备,机载设备的ARMCortex-A系列核启动并运行系统启动引导程序BootLoader对相关设备进行初始化,并启动ARMCortex-A系列核。在加载并启动高安全级软件后ARMCortex-A系列核上运行低安全级软件;在ARMCortex-A系列核上,利用资源域控制器RDC对系统资源进行资源域划分,使ARMCortex-A系列核与ARMCortexM4系列核只能对应访问各自访问域的设备及资源;当启动高安全级软件系统时,系统启动引导程序从所述存储芯片中拷贝高安全级软件镜像到片上RAM存储器控制器上,并启动ARMCortexM4系列核,使高安全级软件开始在ARMCortexM4系列核上执行;当启动低安全级软件系统时,系统启动引导程序从所述存储芯片中拷贝低安全级软件镜像到第一存储器上,ARMCortex-A系列核的程序计数器PC跳转到低安全级软件并开始执行相关代码,使低安全级软件在ARMCortex-A系列核上执行。工作原理是:针对现有飞机机载设备上低安全级软件与高安全级软件在同一物理CPU上共同运行时存在适航认证难的问题,考虑到软件适航认证的难易程度,以及适航认证对软件代码存储的稳定可靠性的需要,本专利技术将不同安全等级的软件镜像均保存到存储芯片上,本专利技术利用微处理器的HeteromerousMulti-Processing(异构多核CPU)架构和RDC(ResourceDomainController资源域控制器,下文简称RDC)对同一物理CPU的外围设备控制器以不同的CPU核为中心进行域划分,以实现不同安全等级的软件所使用的硬件资源属于不同域,不同域的硬件资源在逻辑上是相互隔离的。例如,将低安全级软件镜像放在域0的内存中并运行在“ARMCortex-A”上,而将高安全级软件镜像放在域1同时运行在“ARMCortexM4”上。本专利技术设计符合DO178C标准对软件安全等级的要求,同时实现了将多种安全级别软件放在同一物理CPU上运行的需求,是一种满足DO178C标准的多安全级别软件实现方法。同时,本专利技术无需使用庞大的分区操作系统,也无需将低安全级别软件认证为高安全等级,其有效地降低了设备研制成本,具有较高的实用价值。本专利技术可以应用在符合该方案的各种微处理器上,本专利技术仅以ARMCortex-A/CortexM4系列异构微处理器为例论述本专利技术设计过程。进一步地,所述重启机载设备,机载设备的ARMCortex-A系列核启动并运行系统启动引导程序BootLoader对相关设备进行初始化;其中,初始化具体包括:ARMCortex-A系列核运行片内只读存储器ROM的启动代码配置相关寄存器,并从所述存储芯片固定位置读取存储芯片的相关配置参数;ARMCortex-A系列核从所述存储芯片中拷贝的系统启动引导程序BootLoader镜像到第一存储器;ARMCortex-A系列核的程序计数器PC从片内ROM跳转到第一存储器上并开始执行系统启动引导程序BootLoader镜像;系统启动引导程序BootLoader将配置ARMCortex-A系列核系统参数,初始化系统外设控制器等。进一步地,还包括:在系统启动引导程序BootLoader完成外设初始化后,系统启动引导程序BootLoader将高安全级软件镜像从存储芯片拷贝到片上RAM存储器控制器OCRAM或ARMCortexM4的TCM内存中,并启动ARMCortexM4系列核。进一步地,所述下载低安全级软件与高安全级软件,并分别镜像到存储芯片的指定位置;其中,所述存储芯片为非内置固件firmware的存储芯片,具体地所述存储芯片可以采用norflash。进一步地,所述在ARMCortex-A系列核上,利用资源域控制器RDC对系统资源进行资源域划分,使ARMCortex-A系列核与ARMCortexM4系列核只能对应访问各自访问域的设备及资源;具体包括:将ARMCortex-A系列核设置为第一域,并为其对应的硬件设备及资源标记为第一域;第一域对应的硬件设备及资源包括但不限于第一存储器DDR、异步收发传输器UART、以太网Ethernet、CAN总线和G本文档来自技高网
...

【技术保护点】
1.一种满足DO178C标准的多安全级软件同时运行方法,其特征在于,包括以下步骤:/n将系统启动引导程序按照DO178C标准对高安全级软件的要求进行开发与认证;/n下载低安全级软件与高安全级软件,并分别镜像到存储芯片的指定位置;/n重启机载设备,机载设备的ARM Cortex-A系列核启动并运行系统启动引导程序对相关设备进行初始化,并启动ARM Cortex-A系列核,在ARM Cortex-A系列核上运行高安全级启动引导程序;/n在ARM Cortex-A系列核上,利用资源域控制器RDC对系统资源进行资源域划分,使ARMCortex-A系列核与ARM CortexM4系列核只能对应访问各自访问域的设备及资源;/n当启动高安全级软件系统时,系统启动引导程序从所述存储芯片中拷贝高安全级软件镜像到片上RAM存储器控制器上,并启动ARM CortexM4系列核,使高安全级软件开始在ARMCortexM4系列核上执行;/n当启动低安全级软件系统时,系统启动引导程序从所述存储芯片中拷贝低安全级软件镜像到第一存储器上,ARM Cortex-A系列核的程序计数器PC跳转到低安全级软件并开始执行相关代码,使低安全级软件在ARM Cortex-A系列核上执行。/n...

【技术特征摘要】
1.一种满足DO178C标准的多安全级软件同时运行方法,其特征在于,包括以下步骤:
将系统启动引导程序按照DO178C标准对高安全级软件的要求进行开发与认证;
下载低安全级软件与高安全级软件,并分别镜像到存储芯片的指定位置;
重启机载设备,机载设备的ARMCortex-A系列核启动并运行系统启动引导程序对相关设备进行初始化,并启动ARMCortex-A系列核,在ARMCortex-A系列核上运行高安全级启动引导程序;
在ARMCortex-A系列核上,利用资源域控制器RDC对系统资源进行资源域划分,使ARMCortex-A系列核与ARMCortexM4系列核只能对应访问各自访问域的设备及资源;
当启动高安全级软件系统时,系统启动引导程序从所述存储芯片中拷贝高安全级软件镜像到片上RAM存储器控制器上,并启动ARMCortexM4系列核,使高安全级软件开始在ARMCortexM4系列核上执行;
当启动低安全级软件系统时,系统启动引导程序从所述存储芯片中拷贝低安全级软件镜像到第一存储器上,ARMCortex-A系列核的程序计数器PC跳转到低安全级软件并开始执行相关代码,使低安全级软件在ARMCortex-A系列核上执行。


2.根据权利要求1所述的一种满足DO178C标准的多安全级软件同时运行方法,其特征在于,所述重启机载设备,机载设备的ARMCortex-A系列核启动并运行系统启动引导程序BootLoader对相关设备进行初始化;其中,初始化具体包括:
ARMCortex-A系列核运行片内ROM的启动代码配置相关寄存器,并从所述存储芯片固定位置读取存储芯片的相关配置参数;
ARMCortex-A系列核从所述存储芯片中拷贝的系统启动引导程序镜像到第一存储器;
ARMCortex-A系列核的程序计数器PC从片内ROM跳转到第一存储器上并开始执行系统启动引导程序镜像;
系统启动引导程序将配...

【专利技术属性】
技术研发人员:赵羚钧晋良银
申请(专利权)人:中电科航空电子有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1