logo好方法网

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


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