欢迎访问学兔兔标准下载网,学习、交流 分享 !

返回首页 |
当前位置: 首页 > 行业标准>航空航天民航 > 高清可复制 HB 8576-2020 民用飞机机载软件操作系统层与模块支持层接口要求

高清可复制 HB 8576-2020 民用飞机机载软件操作系统层与模块支持层接口要求

收藏
  • 大小:374.69 KB
  • 语言:中文版
  • 格式: PDF文档
  • 类别:航空航天民航
  • 更新日期:2026-05-12
本站推荐: 升级会员 无限下载,节约时间成本!
关键词:机载   模块   接口   复制   民用
资源简介

  ICS 49.020 V 07

  HB 8576-2020

  民用飞机机载软件操作系统层与模块

  支持层接口要求

  Interface requirement between airborne RTOS and module support

  layer in civilian aircraft

  2020-09-14 发布 2021-01-01 实施

  中华人民共和国工业和信息化部 发 布

  前 言

  本标准按照 GB/T 1.1-2009 给出的规则起草。

  本标准由中国航空工业集团有限公司提出。

  本标准由中国航空综合技术研究所归口。

  本标准起草单位:中国航空工业集团公司西安航空计算技术研究所、中国航空综合技术研究所、中国航空工业集团公司西安飞机设计研究所、中国航空工业集团公司成都飞机设计研究所。

  本标准起草人:崔西宁、王 宁、朱晓飞、戴小氐、周南明、魏学杭、牟 明、母方欣。

  民用飞机机载软件操作系统层与模块

  支持层接口要求

  1 范围

  本标准规定了航空电子系统中机载实时操作系统与模块支持层之间的直接接口要求,包括功能要求和接口服务定义。

  本标准适用于通用功能模块上的航空电子系统软件开发。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

  GJB 5357 航空电子应用软件接口要求

  GJB 6199 机载核心处理系统通用功能模块要求

  3 术语和定义、缩略语

  3.1 术语和定义

  下列术语和定义适用于本标准。

  3.1.1

  标识符 identifier

  系统中对于一个硬件或者软件的唯一标识。

  3.1.2

  端口 port

  标识 CFM 连接到网络中的特定接口。

  3.2 缩略语

  下列缩略语适用于本标准。

  AGT——absolute global time,绝对全局时间;

  AL——application layer,应用层;

  ALT——absolute local time,绝对本地时间;

  AM——application manager,应用管理;

  APEX——application/execution,应用执行接口;

  BIT——built_in test,机内自测试;

  BMC——between module communication,模块间通信;

  CBIT——continuous BIT,连续自测试;

  CFM——common functional module,通用功能模块;

  DMC——distributed multicast communication,分布多播通信;

  DPM——data processing module,数据处理模块;

  FA——functional application,功能应用;

  GM——generic system management,通用系统管理;

  GPM——graphic processing module,图形处理模块;

  IBIT——initiated BIT,启动自测试;

  IMA——integrated modular avionics,综合化模块化航电;

  IMC——intra module communication,模块内通信;

  IPC——intra processor communication,处理器内通信;

  IPEC——intra PE communication ,PE 内通信;

  ITM——integrated test and maintenance,集成测试和维护;

  MC——module clock,模块时钟;

  MLI——module logical interface,模块逻辑接口;

  MMM——mass memory module,大容量存储器模块;

  MOS——MSL to OS interface,模块支持层与操作系统之间的接口;

  MRC——master reference clock,主参考时钟;

  MSL——module support layer,模块支持层;

  MSU——module support unit,模块支持单元;

  NC——network channel,网络通道;

  NII——network independent interface,网络独立接口;

  NSM——network support module,网络支持模块;

  OS——operating system,操作系统;

  OSL——operating system layer,操作系统层;

  PBIT——power_up BIT,上电自测试;

  PCM——power conversion module,电源转换模块;

  PE——processing element,处理单元;

  RC——reference clock,参考时钟;

  RLT——relative local time,相对本地时间;

  RTBP——runtime blueprints,运行蓝图;

  SM——system management,系统管理;

  SMBP——system management to blueprints interface,系统管理与蓝图接口;

  SMOS——system management to OS interface,系统管理与 OS 接口;

  SPM——signal processing module,信号处理模块;

  TC——transfer connection,传输连接;

  TLS——three layer stack,三层栈;

  VC——virtual channel,虚通道;

  VM——virtual memory,虚拟内存。

  4 一般要求

  4.1 软件结构

  航空电子系统软件应分为三层:应用层、操作系统层、模块支持层, 称为 TLS 结构,见图 1所示。

  AL 包括 FA 和 AM 。FA 涉及处理数据操作的所有功能,如雷达应用、任务管理、存储管理、飞行器管理、通信、导航和识别管理。AM 负责非标准化的系统管理。

  OSL 包括 OS 、GSM 和 RTBP 。OS 提供 OSL 功能中控制 PE 及相关资源实时行为的特定部分。 GSM 负责核心系统的管理,包括健康监控、故障管理、配置管理、安全管理四个方面。RTBP 包含为配置和管理核心处理所需要的信息(例如分区信息、路由信息、故障管理数据)。

  MSL 屏蔽了基本硬件的细节,并提供对底层资源通用的、技术无关的访问。MSL 之间可通过MLI 逻辑接口进行交互活动,实现模块间的互操作,MLI 逻辑接口不在本标准中定义。

  图 1 软件结构图AL 与 OS 之间的接口是 APEX,在 GJB 5357 中定义。

  OS 与 MSL 之间的接口是 MOS,在本标准中定义。

  MOS 接口是 OS 为实现自身的管理功能或处理来自 APEX 和 SMOS 的请求,在必要时调用。

  4.2 硬件平台

  CFM 上驻留有 MSL 层软件,支持 MOS 接口。CFM 通常包括 DPM、MMM、PCM、SPM 和 GPM等模块。CFM 的结构组成在 GJB 6199 中定义,其他专用模块可参照本标准对 CFM 的要求,对 CFM模块的基本要求如下:

  a) 至少有一个 PE;

  b) 提供足够的存储空间;

  c) 提供非易失存储器;

  d) 提供定时器;

  e) 提供通信接口。

  5 功能要求

  5.1 功能概述

  机载实时操作系统与模块支持层要实现机内自测试、各模块设备的管理、时间管理等功能。具体的功能项包括:机内自测试(上电自测试、周期自测试、启动自测试)、通信管理(通信模型、通信配

  置等)、大容量存储模块管理、电源转换模块管理、网络管理(网络配置、网络技术透明性等)、时间管理(参考时间和时钟层次结构等)、日志设备管理(日志存储与操作)、回调管理和通用功能模块信息管理。

  5.2 机内自测试

  5.2.1 概述

  机内自测试(BIT)服务提供执行模块机内测试和读取其结果的能力,对模块内所有可用的测试例程提供访问,包括上电自测试(PBIT)、周期自测试(CBIT)、启动自测试(IBIT)三种类型。

  MOS 提供 BIT 管理的相关服务:

  a) 取得 PBIT 结果:取得已存储的 PBIT 结果;

  b) 启动 CBIT:启动 CBIT 运行并返回,它允许运行特定类型的测试或全部测试;

  c) 取得 CBIT 结果:取得 CBIT 结果;

  d) 启动 IBIT:启动 IBIT 运行;

  e) 取得 IBIT 结果:取得已存储的 IBIT 结果。

  5.2.2 上电自测试

  PBIT 是上电初始化过程的一部分,用于检查模块硬件的状态。该测试作为 MSL 的组成部分在上电时自动运行,测试结果记录在 MSL 中,可通过 MOS 接口获取,也可通过远程通信发送给其他需要的模块使用。

  5.2.3 周期自测试

  5.2.3.1 工作方式

  CBIT 用于正常操作期间模块健康的连续检查。CBIT 不抢占其他分区的运行,其运行方式有:

  a) 自动运行,如果不要求处理器支持执行此测试;

  b) 在 GSM 命令下运行,如果要求处理器支持执行此测试。

  测试结果可使用回调和查询两种机制获得。

  CBIT 的各种组合工作方式描述见表 1。

  表 1 CBIT 工作方式

  5.2.3.2 测试方法

  CBIT 测试方法有如下两种:

  a) 完整测试:当启动 CBIT 时,CBIT 软件将按配置运行一个测试,并且在一次启动内完成,调

  用者在测试完成前应被阻塞,在预定的时间周期内返回,此预定的周期是系统特有的;

  b) 分段测试:当启动 CBIT 时,CBIT 软件将按配置运行一个测试,不必在一次启动内完成,也不要求处理器必须在系统特定的周期内完成,一个完整的测试将需要多次分段测试才能完成。

  5.2.3.3 测试结果

  CBIT 测试结果,有以下三种情况:

  a) 通过:规定的测试在最近的 CBIT 测试中完成并通过;

  b) 正在测试:规定的测试是分段的,且在最近的 CBIT 测试中未完成;

  c) 不通过:在最近的 CBIT 测试中规定的测试失败。

  如果 CBIT 测试返回不通过,可进一步通过获取 CBIT 结果服务,取得最后一次测试失败的详细故障信息。

  如果以测试代码“0”进行 CBIT 测试,则 CBIT 软件应循环执行所有测试项。在这种情况下,只能用分段方式启动 CBIT,且在检测到一个故障前,测试结果为正在测试。CBIT 测试失败后,下一次调用应在循环测试中故障测试项处重新开始测试。

  5.2.4 启动自测试

  IBIT 作为故障管理功能的组成部分,用于检查模块硬件的状态。为了帮助故障定位,IBIT 执行模块的全面测试。该测试可在本地通过启动 IBIT 测试服务运行,也可在某个模块的远程控制下通过MLI 命令运行。

  IBIT 的运行会是破坏性的,当测试完成时,模块的当前配置不能被保证。使用 IBIT 时必须保证不危及系统安全。破坏性测试仅限于经 MLI 的调用。测试结果记录在 MSL 中,由 IBIT 的启动者利用 MOS 服务获取,或由某个模块利用 MLI 命令获取。

  5.3 通信管理

  5.3.1 通信模型

  5.3.1.1 原则

  通信协议栈如图 2 所示,应由 VC 、TC、NC 支持,见图 2 所示。VC 由 OSL 提供,与硬件无关; TC 由 MSL 提供,与硬件无关;NC 由 MSL 提供,与硬件有关。

  图 2 通信协议栈通信应支持:

  a) 一个发送者对一个接收者;

  b) 一个发送者对 n 个接收者;

  c) 分布多播通信(可适用于信号处理应用)。

  5.3.1.2 虚通道

  虚通道(VC)在 OS 中实现。按 GJB 5357 执行。

  5.3.1.3 传输连接

  MSL 提供的基本通信链路是传输连接(TC)。经 TC 的数据传输有如下性质:

  a) TC 是单向的;

  b) OS 管理 TC 创建、删除和路由;

  c) TC 应能为一个或多个 VC 所用;

  d) TC 支持流通信方式。

  5.3.1.4 网络通道

  本标准不定义网络通道(NC)的功能需求,NC 应在MSL 之内加以管理。

  RTBP 数据应配置 NC 属性。它们是实现相关的数据,对 OSL 软件应是透明的。

  5.3.1.5 数据传输类型

  通信按传输范围有四种类型:

  a) IPC:它实现一个处理器内部的通信,在 OSL 由 VC 处理;

  b) IPEC:它实现一个 PE 内处理器间的通信,在 MSL 层由TC 处理;

  c) IMC:它实现一个模块内 PE 间的通信,在 MSL 层由TC 处理;

  d) BMC:它实现 CFM 间的通信,在 OSL 层由VC 处理,在 MSL 层由TC 和 NC 处理。

  5.3.1.6 通信配置

  通信应以 RTBP 数据为依据加以配置,为了配置通信,GSM 在发送和接收两端使用RTBP 数据,使用 SMOS 创建通信对象:

  a) OS 建立一个 TC 实例,用一个在系统中唯一的全局 TC ID 标识。全局 TC ID 在发送和接收两端应是相同的。

  b) OS 把一个 VC 映射到一个相应的 TC 上。

  因为 NC 和一个 TC 的定义相关,NC 的定义应是 TC 参数集的一部分。NC 不按独立的实体处理。

  5.3.2 通信协议

  5.3.2.1 概述

  通信栈定义了建立 TLS 各层通信的协议。

  5.3.2.2 虚通道之间

  两个不同的 CFM 上的分区间通信能利用下列机制:

  a) 分区到分区:VC 允许到达某 PE 内的某分区;

  b) PE 到PE:TC 允许到达某 CFM 内的某 PE;

  c) CFM 到CFM:NC 允许到达网络上的某 CFM。

  VC 到 VC 支持应用分区间通信、GSM 间通信、AM 与 GSM 间通信。

  5.3.2.3 传输连接之间

  TC 的访问和控制应在 OSL 与 MSL 的边界处(即 NII),或者在 MSL 内部。

  TC 到 TC 通信支持 BMC 、IMC 和 IPEC。

  5.3.2.4 路由报头

  为了在起点与终点间选择路由,需要包含其特征信息的报头和描述每个消息层的标识符,这个标识符允许识别内部表中的路由消息。

  每个报头应提供到达一个终点的信息:

  a) 网络报头提供到达目的 CFM 的信息;

  b) 当几个 TC 使用此 NC 时,TC 报头应标识使用的TC,这个标识允许到达目的 PE;

  c) 当几个 VC 使用此 TC 时,VC 报头应标识使用的 VC,这个标识允许到达目的分区。

  在通信栈中发生传输的层决定所要求的路由数据的集合。

  VC 报头和 TC 报头是标准的,网络报头不是标准的,和实现技术有关。

  5.3.3 多播传输

  通信应支持多播传输,这个能力允许一个发送者连接到多个接收者。

  多播传输能力应在通信栈的 VC 和 TC 层支持。

  在有多个接收者时,会产生同时有几种数据传输类型组合的情况。如果 VC 使用 TC 进行多播传输时,有两种方法:

  a) 使用单个 TC 提供多播通信能力;

  b) 使用多个简单 TC。

  5.3.4 分布多播通信

  5.3.4.1 概述

  DMC 只适合于信号处理,这是一种使用多播传输和分段的 N 对 M 通信(N 个发送者到 M 个接收者)。

  当必须使用数据平行性以减少一系列信号处理操作的处理时间时,需要 DMC。输入数据被分为若干子部分被几个处理器同时处理。不同的处理器处理数据,但执行的算法是相同的。

  DMC 允许重新分配数据在若干处理器上。使用 DMC 的一个典型应用是拐角转向。

  5.3.4.2 需求

  DMC 应具有下列特征:

  a) 涉及 DMC 的处理器可是此事务中的发送者或接收者;

  b) 每个发送者或接收者可位于一个或几个 PE 中,PE 可位于一个或几个 SPM 中;

  c) 每个发送处理器应对每个接收处理器定义一个分发规则;

  d) 每个接收处理器应对每个发送处理器定义一个收集规则;

  e) 信号处理应用应有能力处理一维、二维或三维的分段;

  f) 在一个专用于 DMC 的 TC 上发送的每个消息前,应加上用于接收者路由的 TC 标识符和用于重构造的段标识符。

  5.3.4.3 三层栈结构上的分布多播通信

  应使用一个 VC 发送数据。这个 VC 应规定为原始的VC,此 VC 连接到一个规定为 DMC 的 TC。 OS 应执行专用于 DMC 用途的 MOS 服务。

  DMC TC 的分发在 MSL 内部执行。特定的段应分派给不同的 TC。每个接收者应被赋以一个 TC,此 TC 的标识符标识这个接收者。

  接收的 MSL 应使用规定为 DMC 的 TC 标识符收集各个 TC,并且基于标识发送者的段标识符重新组成此消息。当缓冲重组完成,它用 MOS 服务取回。此 MOS 服务可使用与发送点相同的 TC ID。

  OS 应执行 MOS 服务获得分段的传输数据,然后通过一个原始 VC 传递数据给应用。

  5.3.4.4 消息分段

  消息分段遵循一种线性规则处理数据选择,它分别依赖于应用在发送或接收方提供的分发或收集规则。

  5.3.5 流

  流数据是连续数据,两个基本的用途是视频和音频。流数据应只在 TC 层处理。流数据可包含标识的子数据块,例如,视频数据可包含单独的帧。

  为了允许系统匹配这个流,从网络接口单元到处理单元的数据传输,应与数据到达网络接口单元有同样的速率。一旦不满足要求,则流被中断,并必须按一个错误处理。

  对一个流 TC ,应给网络接口单元提供信息, 以允许直接向处理单元传输数据。

  包括网络接口单元和处理单元在内, MSL 的实现是项目相关的。因此,规定流行为的配置数据应是实现相关的。

  5.3.6 通信能力

  5.3.6.1 概述

  MSL 通信能力是硬件相关的。由同一 CFM 或另一 CFM 上的其他组件可见的内容是标准化的。该内容包括:

  a) NII:与 MSL 中使用的技术无关的 MOS 通信接口,即 NII,它是专用于通信用途的 MOS 接口的子集;

  b) TC:MSL 的通信手段,处于 NII 的下面,而上层通过 NII 服务使用TC;

  c) MLI:CFM 能在 MSL 层利用MLI 控制远程的 CFM。

  5.3.6.2 网络独立接口

  NII 的作用是:

  a) 在系统中提供标准的通信接口;

  b) 使网络实现和 OS 实现彼此无关;

  c) 提供与所应用的网络技术无关的网络访问。

  为了支持某些信号处理应用(例如雷达),提供一些扩充服务支持分段传输。

  5.3.6.3 传输连接

  5.3.6.3.1 标识符

  5.3.6.3.1.1 概述

  在 MSL 通信中,三类标识符被用于寻址和路由中:

  a) TC 标识符;

  b) 网络标识符;

  c) 接口标识符。

  5.3.6.3.1.2 传输连接标识符

  每个 TC 在整个系统中由唯一的 TC 标识符标识,且在 TC 的所有终端是相同的。

  5.3.6.3.1.3 网络标识符

  网络和 CFM 之间的每个连接在整个系统中由唯一的网络标识符标识。

  网络标识符由网络号和端口号两个元素组成。网络号是用于标识特定网络的一个值,该值在系统中唯一;端口号用于标识与网络连接的一个端口,在此网络中唯一。

  每个内部和外部网络或通信机制被标识为一个网络号。CFM 通过 NIU 连接到外部网络上,CFM的内部各组成部分经路由单元连接到内部网络上。

  网络标识符的值是可配置的并由 RTBP 给定。

  网络号和端口号在特定的网络范围内是唯一的:

  a) 对 BMC 网络,当网络号必须在系统内唯一时,端口号只需在此模块内唯一;

  b) 对 IMC 网络,两个参数必须在此模块内唯一;

  c) 对 IPEC 网络,两个参数必须在此 PE 内唯一;

  d) 对 IPC 网络,两个参数是一个名义值。

  5.3.6.3.1.4 接口标识符

  各种形式的接口用于通过通信网络的 BMC 和 IMC,接口包括用于 BMC 通信网络的网络独立单元以及用于 IMC 的路由单元。

  PE 上的接口在此 PE 内唯一,网络独立单元和路由单元上的接口在 CFM 内唯一。

  模块上物理接口的接口标识符是永久的,并由 MSL 的实现者给定。

  5.3.6.3.2 配置

  所有标识符都在 RTBP 中规定。OSL 处理 RTBP 并使用 NII 服务配置 MSL。此配置分两个阶段完成。

  配置接口映射接口标识符到一个网络标识符,并且配置分布在处理单元、模块支持单元和网络接口单元上的接口设备。此操作后,从 NII 看所有接口有唯一的标识符。

  配置 TC 映射网络标识符到一个 TC 标识符,并按由网络标识符规定的接口配置必要的 TC 资源。重复使用该服务,就可配置此模块内的出发点、到达点和中间点。用这种方式,可建立全部路由选择的路经。在 BMC 中,网络路由信息在 NIU 的接口点建立。

  5.3.6.3.3 传输连接端点

  一个 TC 有两个或多个(对多播通信)端点,它们可在同一 CFM 或不同 CFM 上,决定了 TC 的出发点和到达点。端点可是以下两种情况:

  a) NII:TC 消息用NII 服务发送和接收执行。

  b) MSL:消息直接在 MSL 执行。OSL 不被通知也不能存取此消息,这类端点用于执行 MLI服务。

  5.4 大容量存储模块管理

  MMM 提供大容量存储器的存储能力,它向其他 CFM 提供文件访问和存储功能。

  MMM 可包含若干文件类型(依赖于实现),例如:

  a) 包含 TLS 各组成部分的映像:MSL 、OS 、GSM 和RTBP;

  b) 应用软件;

  c) 网络配置数据;

  d) 电源转换配置数据;

  e) 上电时 CFM 通信配置数据;

  f) 应用数据;

  g) 保密数据。

  MMM 为需要存取上述文件的 CFM 提供服务。

  直接文件存取只在 MMM 上执行,其他 CFM 执行远程文件存取。

  5.5 电源转换模块管理

  PCM 提供软件控制 CFM 的电源开/关的能力,允许相关的 CFM 以一种受控的方式上电和下电。电源的控制管理可通过以下三种途径实现:

  a) 受应用控制;

  b) 受 GSM 软件控制;

  c) 受 MSL 的通信命令控制。

  为了支持三种实现,MOS 中包含一组允许电源开关操作的 PCM 专用服务,该服务可负责开/关在同一机架上的其他 CFM 的电源、复位电源和读取电源状态。

  5.6 网络管理

  5.6.1 网络定义

  通信的体系结构独立于所选的网络技术,网络技术的依赖性被封装到 RTBP 中,RTBP 包含着网络技术和实现相关的数据。

  网络应全部使用单一的技术,网络的物理性质与实现技术相关。

  有两种不同类型的网络:

  a) 模块内部通信(即 IPC 、IPEC 和 IMC)网络;

  b) 模块外部通信(即 BMC)网络。

  5.6.2 网络配置

  5.6.2.1 通用功能模块网络能力配置

  通用功能模块(CFM)在上电时是静止的,且能在一个缺省 TC 上从网络接收消息。

  CFM 在接收 MLI 消息路由表后配置 CFM 在初始化阶段对网络的访问。

  管理此 CFM 的上级 GSM 从 RTBP 中读取数据,发送路由表给被配置的 CFM。此路由表信息定义了要求在 CFM 中执行的路由配置操作的类型。

  CFM 初始化后,当完整的 TLS 被建立和运行时,GSM 可使用 SMOS(然后 OS 使用对应的MOS)服务配置此 CFM 的网络能力。

  5.6.2.2 网络支持模块配置

  NSM 以缺省配置启动,缺省配置与应用的网络技术有关。缺省配置建立一个缺省的路由方案,允许在系统初始化的开始就有一个最小的 NSM 配置。此后,NSM 能从外部 CFM 接收配置。

  GSM 管理网络配置,从 RTBP 中获得网络配置数据,使用连接此 CFM 和 NSM 的 TC 发送配置数据。

  5.6.3 网络技术透明性

  网络技术的改变导致 MSL 的改变。NII 保证在 MSL 上面各层中的组件应与网络技术无关,它们的实现应是有效的。网络的改变只隐含着必要时 RTBP 中网络配置数据的改变。

  5.7 时间管理

  5.7.1 概述

  特定的时间管理基于非集中的同步策略,时间的管理和处理涉及 TLS 的所有层:

  a) MSL:

  ——通过 MOS 接口提供时间;

  ——时钟初始化、同步和更新。

  b) OSL:

  ——GSM 负责时间的配置和故障管理;

  ——RTBP 包含与时间管理相关的信息;

  ——OS 在 MSL 和 APEX 或 GSM 之间实现桥接。

  c) AL:使用 APEX 时间服务。

  时间管理基于参考时间、时钟的层次结构以及在每个 CFM 上时钟的管理。

  5.7.2 参考时间

  5.7.2.1 概述

  时间管理概念支持以下三个参考时间:

  a) AGT;

  b) ALT;

  c) RLT。

  5.7.2.2 绝对全局时间

  绝对全局时间(AGT)本质上是日历时间,是在飞机内外和 IMA 系统内外普遍认可的。AGT 通常以年、月、日、时、分、秒的方式提供,必要时有带小数的秒,它通常采用当地的时区时间(例如北京时间)。

  分辨率和精度受到时间源(如 GPS)传送给飞机的数据的分辨率和精度的限制。

  AGT 的概念规定这种参考时间应是:

  a) 提供给 IMA 系统一个参考时间;

  b) 分发给 IMA 系统中所有的CFM;

  c) 提供给 AL 和 OSL。

  5.7.2.3 绝对本地时间

  绝对本地时间(ALT)是在 IMA 系统内的系统参考时间。ALT 应在系统事件(如上电等)发生时被初始化。ALT 比 AGT 的分辨率更高,它可用于要求高级同步的功能应用,例如多冗余处理航线的实现。

  ALT 概念规定这种参考时间应是:

  a) 局限于 IMA 系统;

  b) 根据逻辑上位于中心的参考时间源维护;

  c) 通过在形成 IMA 系统的各 CFM 之间分发与同步,来满足对系统或全局时间分辨率的要求;

  d) 连续的,即时钟不应跳前或跳后;

  e) 按照时钟层次进行分发/同步;

  f) 与 AGT 相互独立;

  g) 提供给 AL 和 OSL。

  5.7.2.4 相对本地时间

  相对本地时间(RLT)是局限于一个 CFM 的时间,它具有比 ALT 和 AGT 更高的分辨率。RLT用于:

  a) 紧耦合计算处理和调度的紧密同步;

  b) 与系统中特定事件的同步;

  c) 提供给 AL 和 OSL。

  RLT 这种参考时间独立于 ALT 和 AGT。

  5.7.2.5 时钟的层次结构

  每个 CFM 应有一个时钟。为了管理整个系统参考时间,定义了三个不同时钟概念,用于建立一个层次结构。

  图 3 航空电子系统时钟结构

  时钟的层次结构在系统初始化期间,根据 RTBP 信息建立,时钟在层次结构中所处的位置不同,承担的功能不同。不同的时钟概念包括:MRC 、RC 和 MC 三种,不同的时钟在系统中的层次结构,见图 3 所示。

  时钟的层次结构可根据具体实现要求而设计,这种层次结构的基本规则如下:

  a) MRC 在时钟分层中应是唯一的,它是结构中的最高层次,应能负责几个 RC 或MC;

  b) RC 应在较高层时钟(RC 或 MRC)控制之下,应能负责几个 RC 或MC;

  c) MC 应在较高层时钟(RC 或 MRC)控制之下,是结构中的最低层次。

  5.7.3 时钟配置

  时钟配置的信息在 RTBP 中配置,每个时钟的功能和时钟结构中的位置在 RTBP 信息中已经确定。时钟配置包括:

  a) 时钟模式:MRC 、RC 或 MC。

  b) 与上层时钟(MRC 、RC)通信的TC。如时钟自身是 MRC,则应是与外部时间源通信的 TC。

  c) 所有为时钟同步算法所必须的信息。

  对时钟所在 CFM 的联合时钟配置包括联合时钟的标识和与联合时钟通信的 TC。

  时钟的配置执行一次。联合时钟的配置依赖于时钟的层次结构,可执行多次(MRC 或 RC),或一次也不执行(MC)。

  如果 CFM 没有 TLS,只有 MSL 可用,则可由一个远程 CFM 上的 GSM 启动MLI 消息远程配置时钟。

  5.7.4 时钟管理

  MSL 负责时钟管理,包括了所有允许通过 MOS 接口为 APEX 提供三种参考时间的功能。该功能包括时钟初始化和时钟分发/同步与更新。

  时钟管理依赖于配置的模式和管理参考时间。

  参考时间被初始化的几个步骤是上电、GSM 配置和时间分发。

  在上电时,如果专用的硬件资源被建立并运行,RLT 可被初始化并且可用,当 GSM 还未建立和运行,ALT 和AGT 被置为不可用。

  GSM 以特定模式配置时钟,ALT 和AGT 依赖于所用时钟的模式开始初始化:

  a) MRC:初始化 ALT,然后准备好向下层提供 ALT,同时从外部源请求 AGT;

  b) RC:从上层时钟请求 ALT 和AGT;

  c) MC:同 RC。

  当 MRC 中的 AGT 和ALT 被初始化并可用,它们可通过时钟的层次结构被分发。

  5.8 日志设备管理

  5.8.1 概述

  为了满足系统管理和应用的需求,MSL 在非易失存储器中开辟一块存储空间来存放日志消息。 5.8.2 日志类型

  日志管理中定义以下四种日志类型:

  a) 错误日志;

  b) 应用日志;

  c) GSM 日志;

  d) 维护日志。

  5.8.3 日志存储

  日志消息的存储位置由消息类型和日志标识共同决定。消息类型应是上述四种类型之一,不同类型的消息分别存放在不同的存储空间中。在每种类型的日志中,日志标识是唯一的,日志标识决定了消息在日志文件中的相对位置, 日志标识为“0”表示消息位于日志文件的末尾。

  5.8.4 日志操作

  日志管理服务提供了对指定日志进行读写和擦除操作。擦除存储器的动作必须由 OSL 发起,实际擦除 CFM 上物理存储器的动作在 MSL 中执行。

  5.9 回调管理

  5.9.1 概述

  回调管理为 MSL 提供了一种可向 OS 通报发生异步事件(如中断)的方法,实现 OS 对 MSL 异步事件管理的功能要求。

  当 MSL 软件在执行过程中产生一个事件或者硬件发生异常中断时,MSL 可通过 MOS 提供的回调服务来调用操作系统对相关事件的处理程序,对每一种事件,可通过事件信息数据结构字段给操作系统的事件处理程序传递不同的特定信息。

  5.9.2 回调事件

  回调管理处理特定的事件,实现时可根据系统要求扩充事件类型,一些典型事件的相关描述如下:

  a) 错误事件:该事件与任何特定的通信服务调用无关。当检测到一个非期望和自发性错误(如不能与一个特定的 TC 相关联的错误)时,触发该事件。如果事件发生在本地网络接口并且能和被涉及的 TC 标识符相关联,就用更具体的事件类型通知。如果在其他地方检测到错误或不能将之与一个特定的 TC 标识符相联系,则应触发一个一般性的错误事件。如果一个错误发生在

  数据传输时或没有可用缓冲来保存接收的数据时,也触发该事件。

  b) 信息事件:有关网络的信息可通过获取网络端口状态服务来获取。MSL 用获取的信息填写事件信息数据结构字段,当信息可用时,就触发该事件。

  c) 配置事件:该事件触发表明一次配置的成功(如配置网络或者配置传输)。配置请求的成功或失败以及相关的网络标识符或 TC 标识符在事件信息数据结构中返回。

  d) 发送事件:如果在配置发送 TC 时选择回调方式,则当 TC 发送完成时触发该事件。发送的成功或失败以及相关的网络标识符或 TC 标识符在事件信息数据结构中返回。

  e) 接收事件:如果在配置接收 TC 时选择回调方式,则当缓冲中准备好接收的数据时,触发该事件。接收到数据的 TC 标识符在事件信息数据结构中返回。

  f) 定时器事件:该事件与某一定时器的时限相关,应在事件信息数据结构中返回定时器标识符。

  g) CBIT 事件:该事件与由 CBIT 检测出的故障相关,事件信息数据结构应为空,详细的故障报告通过获取 CBIT 结果服务得到。

  h) MMM 传输事件:当一次磁盘 DMA 传输完成时引发该事件。

  i) 系统调用事件:当应用或 GSM 访问OS 功能时,触发该事件,该事件用于通知OS 发生系统调用,系统调用的编号在事件信息数据结构中返回。

  j) 请求服务事件:当 MSL 需要调用 OS 的服务时,触发该事件,OS 服务的编号在事件信息数据结构中返回。

  5.10 通用功能模块信息

  通用功能模块(CFM)信息是 CFM 所包含的硬件资源的相关信息,该信息保存在 CFM 的非易失存储器中,确保下电时不会丢失。存储信息分为以下两部分:

  a) 只读信息:定义和设计后不能在使用中改变,例如厂家标识、CFM 类型、生产批号等;

  b) 读写信息:模块使用中可被更新,例如运行时间、执行的维护活动和操作日志等。

  6 接口服务定义

  6.1 总则

  MOS 接口由通用服务和 OS 专用的扩展服务组成。见图 4 所示。

  图 4 MOS 接口MOS 服务分组如下:

  a) 通用服务,它自身分成:

  ——核心服务,对所有模块类型是公共的。它们自身又分成板级服务和通信服务, 其中,板级服务包含与该处理器外部的模块上资源有关的服务;通信服务包含与在同一模块或模块间

  的处理器间通信有关的服务;

  ——专用服务,规定了对 GPM 、PCM 和 MMM 特殊的几组服务。

  b) 扩展服务,定制的扩展服务提供一个定制的 OS 在不同处理器间的可移植性支持。

  6.2 公用数据结构

  6.2.1 概述

  公用数据结构定义了 MOS 接口中涉及的常量、基本整数类型和通用类型定义。

  6.2.2 基本整数类型

  本标准使用的基本整数类型见表 2 所示。

  表 2 基本数据类型

  6.2.3 通用类型

  本标准使用的通用类型定义如下:

  typedef long Length;

  typedef unsigned char octet;

  typedef unsigned long Size;

  typedef unsigned long PublicId;

  typedef unsigned long PrivateId;

  typedef unsigned long RegionID;

  typedef void* Address;

  typedef unsigned char* CharAddress;

  typedef PublicId FunctionId;

  typedef PublicId PublicIdSet[ OS_MAX_PUBLIC_ID_SET_SIZE ];

  typedef octet OctetSequence[ OS_MAX_STRING_SIZE ];

  typedef struct _CharacterSequence

  {

  Size size;

  octet data[ OS_MAX_STRING_SIZE ];

  } CharacterSequence;

  typedef enum _Bool

  {

  BOOL_FALSE , BOOL_TRUE

  } Bool;

  注:OS_MAX_PUBLIC_ID_SET_SIZE 与 OS_MAX_STRING_SIZE 由具体实现时所采用的操作系统确定。

  6.3 通用服务

  6.3.1 核心服务

  6.3.1.1 概述

  核心服务应提供对模块上处理器外资源的访问,它们应对每种类型的模块都可用,分为板级服务和通信服务两部分。板级服务具体包括:

  a) 时间管理;

  b) 日志管理;

  c) 回调管理;

  d) 机内自测试服务;

  e) 通用功能模块资源服务;

  f) 通信管理。

  6.3.1.2 时间管理

  6.3.1.2.1 时间管理数据类型

  6.3.1.2.1.1 概述

  时间管理数据类型包括时间类型定义,时间间隔类型定义,定时器资源类型定义,时间返回值类型定义,定时器返回值类型定义,时钟模式类型定义,时钟配置信息类型定义,联合时钟类型定义,告警类型定义。

  6.3.1.2.1.2 时间类型

  typedef struct _Time

  {

  long sec ;

  long nsec ;

  } Time ;

  6.3.1.2.1.3 时间间隔

  typedef Time TimeInterval ;

  6.3.1.2.1.4 定时器资源

  typedef struct _TimerResources

  {

  unsigned long id ;

  unsigned long resolution ;

  } TimerResources ;

  6.3.1.2.1.5 时间返回值

  typedef enum _TimedReturnStatus

  {

  TM_SUCCESS , TM_ERROR , TM_TIMEOUT } TimedReturnStatus ;

  6.3.1.2.1.6 定时器返回值

  typedef enum _TimerReturnStatus

  {

  MOS_TIMER_CALL_OK ,

  MOS_TIMER_CALL_FAILED } TimerReturnStatus ;

  6.3.1.2.1.7 时钟模式

  typedef enum _ClockMode

  {

  MASTER_REFERENCE_CLOCK , REFERENCE_CLOCK , MODULE_CLOCK } ClockMode ;

  6.3.1.2.1.8 时钟配置信息

  typedef struct _ClockInfo

  {

  ClockMode clock_mode ;

  PublicId clock_id ;

  PublicId tc_id_from_parent ;

  PublicId tc_id_to_parent ;

  TimeInterval sync_wave_period ;

  unsigned long max_of_missed_alt ;

  TimeInterval range_for_alt ;

  TimeInterval alt_res_bound ;

  TimeInterval max_alt_diff ;

  TimeInterval timeout ;

  } ClockInfo ;

  6.3.1.2.1.9 联合时钟信息

  typedef struct _FederatedClockInfo

  {

  ClockMode clock_mode ;

  PublicId clock_id ;

  PublicId Tc_Id_To_Federated ;

  PublicId Tc_Id_From_Federated ;

  } FederatedClockInfo ;

  6.3.1.2.1.10 告警类型

  typedef enum _AlarmType

  {

  NO_ALARM ,

  CYCLIC_ALARM ,

  ONLY_ONCE_ALARM } AlarmType ;

  6.3.1.2.2 时间管理服务

  6.3.1.2.2.1 概述

  时间管理服务例程包括:

  a) 取得 ALT 时间(getAbsolutelocalTime);

  b) 取得 RLT 时间(getRelativelocalTime);

  c) 取得 AGT 时间(getAbsoluteGlobalTime);

  d) 配置时钟(configureClock);

  e) 配置联合时钟(attachFederatedClock);

  f) 设置定时器(setupTimer);

  g) 启动定时器工作(startTimer);

  h) 停止定时器工作(stopTimer);

  i) 读一个定时器(readTimer)。

  6.3.1.2.2.2 取得 ALT 时间

  取得 ALT 时间要求如下:

  功能:本服务以秒和纳秒传送在核心系统中分发的绝对本地时间(当前飞机系统时间)。

  语法:

  TimerReturnStatus getAbsoluteLocalTime(

  out Time ac_system_time);

  输入:无。

  输出:

  ac_system_time 用于存放取得的绝对本地时间。

  算法:

  {

  TimerReturnStatus ret ;

  错误处理:

  {

  if (ac_system_time 无效)

  ret = MOS_TIMER_CALL_FAILED; if (模块 ALT 时间不可用)

  ret = MOS_TIMER_CALL_FAILED; }

  正常流程:

  {

  ac_system_time = 模块的 ALT 时间;

  ret = MOS_TIMER_CALL_OK;

  }

  取得 RLT 时间要求如下:

  功能:本服务应被用于获得以秒和纳秒度量的当前 CFM 的 RLT 时间。

  语法:

  TimerReturnStatus getRelativeLocalTime( out Time cfm_time);

  输入:无。

  输出:

  cfm_time 用于存放取得的相对本地时间。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (cfm_time 无效)

  ret = MOS_TIMER_CALL_FAILED;

  }

  正常流程:

  {

  cfm_time = 模块的 RLT 时间;

  ret = MOS_TIMER_CALL_OK;

  }

  取得 AGT 时间要求如下:

  功能:本服务以秒和纳秒传送核心系统中分发的绝对全局时间值。

  语法:

  TimerReturnStatus getAbsoluteGlobalTime(

  out Time absolute_global_time);输入:无。

  输出:

  absolute_global_time 用于存放取得的绝对全局时间。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (absolute_global_time 无效)

  ret= MOS_TIMER_CALL_FAILED;

  if (模块 AGT 时间不可用)

  ret= MOS_TIMER_CALL_FAILED; }

  正常流程:

  {

  absolute_global_time = 模块的 ALT 时间; ret= MOS_TIMER_CALL_OK;

  }

  配置时钟要求如下:

  功能:本服务应被用于配置模块的时钟模式。时钟模式决定其在 IMA 系统中层次结构的位置,位置控制着 MLI 协议。依赖于其所处的位置,MSL 应发送请求或应答与时间管理有关的消息。当时钟配置完成,它就被启动而不等待联合时钟的配置。如果此服务被执行多次,则它将覆盖以前的时钟配置以及所有联合时钟的配置。

  语法:

  TimerReturnStatus configureClock(

  in ClockInfo clock_info);

  输入:

  clock_info 时钟的配置信息。

  输出:无。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (clock_info 无效)

  ret = MOS_TIMER_CALL_FAILED; if (没有时钟资源可用)

  ret= MOS_TIMER_CALL_FAILED; }

  正常流程:

  {

  if (指定的时钟已经启动)

  停止时钟。

  利用 clock_info 配置时钟;

  启动时钟;

  ret= MOS_TIMER_CALL_OK;

  配置联合时钟要求如下:

  功能:本服务应被用于将一个联合时钟连接到模块时钟上。它指定处理模块时钟和一个远程联合时钟之间的 MLI 协议的信息。本服务应对每个联合时钟执行。联合时钟的配置彼此独立,在开始 MLI协议前不等待所有联合时钟的配置。

  语法:

  TimerReturnStatus attachFederatedClock(

  in FederatedclockInfo federated_clock_info);

  输入:

  federated_clock_info 配置联合时钟的信息。

  输出:无。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (federated_clock_info 无效)

  ret= MOS_TIMER_CALL_FAILED; if (时钟资源未配置)

  ret = MOS_TIMER_CALL_FAILED;

  if (时钟模式为模块时钟,且联合时钟已配置)

  ret = MOS_TIMER_CALL_FAILED; }

  正常流程:

  {

  利用 federated_clock_info 配置联合时钟;

  ret = MOS_TIMER_CALL_OK;

  }

  功能:设置定时器服务,该定时器可用于 CFM 本地时间的度量。

  语法:

  TimerReturnStatus setupTimer(

  in PublicId timer_id,

  in Time time_to_expire,

  in Callback callback_id,

  in AlarmType alarm_type);

  输入:

  timer_id 设置的定时器 ID;

  time_to_expire 定时器的时限;

  callback_id 时限到达后执行的回调 ID;

  alarm_type 时限到达的告警类型。

  输出:无。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (timer_id 无效)

  ret = MOS_TIMER_CALL_FAILED;

  if (callback_id 无效)

  ret = MOS_TIMER_CALL_FAILED;

  if (timer_id 被其他定时器占用)

  ret = MOS_TIMER_CALL_FAILED;

  if (系统资源缺乏)

  ret= MOS_TIMER_CALL_FAILED;

  }

  正常流程:

  {

  初始化定时器;

  设置该定时器资源已被占用;

  ret = MOS_TIMER_CALL_OK;

  }

  启动定时器要求如下:

  功能:启动一已配置的定时器,此定时器可用于 CFM 本地时间的度量(例如用于 OS 调度)。

  语法:

  TimerReturnStatus startTimer(

  in PublicId timer_id);

  输入:

  timer_id 启动的定时器 ID。

  输出:无。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (timer_id 无效)

  ret= MOS_TIMER_CALL_FAILED;

  if (timer_id 未设置)

  ret= MOS_TIMER_CALL_FAILED;

  }

  正常流程:

  {

  启动定时器;

  标识该定时器已运行;

  ret = MOS_TIMER_CALL_OK;

  }

  停止定时器要求如下:

  功能:停止一正运行的定时器。

  语法:

  TimerReturnStatus stopTimer(

  in PublicId timer_id);

  输入:

  timer_id 启动的定时器的 ID。

  输出:无。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (timer_id 无效)

  ret = MOS_TIMER_CALL_FAILED;

  if (timer_id 未设置)

  ret = MOS_TIMER_CALL_FAILED;

  if (timer_id 未运行)

  ret = MOS_TIMER_CALL_FAILED;

  }

  正常流程:

  {

  停止定时器;

  标识该定时器已停止;

  ret = MOS_TIMER_CALL_OK;

  }

  return (TimerReturnStatus); }

  读定时器要求如下:

  功能:读正运行的一个定时器的时限。

  语法:

  TimerReturnStatus readTimer(

  in PublicId timer_id,

  out Time time_to_expire);

  输入:

  timer_id 定时器 ID。

  输出:

  time_to_expire 定时器距离时限的剩余时间。

  算法:

  {

  TimerReturnStatus ret;

  错误处理:

  {

  if (timer_id 无效)

  ret= MOS_TIMER_CALL_FAILED;

  if (timer_id 未设置)

  ret = MOS_TIMER_CALL_FAILED;

  if (timer_id 未运行)

  ret = MOS_TIMER_CALL_FAILED;

  }

  正常流程:

  {

  读取定时器的值;

  time_to_expire = 定时器当前值距离时限的时间; ret = MOS_TIMER_CALL_OK;

  }

  6.3.1.3 日志管理

  6.3.1.3.1 日志管理数据类型

  6.3.1.3.1.1 概述

  日志管理数据类型包括日志类型、日志消息、资源返回状态。

  6.3.1.3.1.2 日志类型

  typedef enum _LogMessageType

  {

  LOG_MESSAGE_TYPE_ERROR ,

  LOG_MESSAGE_TYPE_APPLICATION ,

  LOG_MESSAGE_TYPE_GSM ,

  LOG_MESSAGE_TYPE_MAINTENANCE } LogMessageType ;

  6.3.1.3.1.3 日志消息

  typedef struct _CharacterSequence

  {

  unsigned long size ;

  char data[ OS_MAX_STRING_SIZE ] ;

  } CharacterSequence ;

  6.3.1.3.1.4 资源返回状态

  typedef enum _ResourceReturnStatus

  {

  RS_SUCCESS, RS_ERROR , RS_RESOURCE } ResourceReturnStatus ;

  6.3.1.3.2 日志管理服务

  6.3.1.3.2.1 概述

  日志管理提供一组对系统日志的操作,包括读、写和擦除服务:

  a) 读日志(readLogDevice);

  b) 写日志(writeLogDevice);

  c) 擦除存储器(erasePhysicalMemory)。

  6.3.1.3.2.2 读日志

  读日志要求如下:

  功能:从存储器读一个日志消息。

  语法:

  ResourceReturnStatus readLogDevice(

  in LogMessageType message_type,

  in unsigned long log_id,

  out CharacterSequence log_message);

  输入:

  message_type 本参数标识消息为四种消息类型之一;

  log_id 本参数标识消息在日志存储器中的位置。

  输出:

  log_message 被读取的日志消息序列,一个 NULL 字符表示消息结束。算法:

  {

  ResourceReturnStatus ret;

  错误处理:

  {

  if (日志不存在)

  ret = RS_ERROR; if (资源不可用)

  ret = RS_RESOURCE; }

  正常流程:

  {

  ret = RS_SUCCESS;

  if (log_id 为 NULL 时)

  从特定的日志未尾读出日志符串 log_message; else

  从 log_id 确定的位置读出日志字符串 log_message; }

  return (ret);

  }

  返回值:

  RS_SUCCESS 读取成功;

  RS_ERROR 读取失败;

  RS_RESOURCE 读取资源受限。

  6.3.1.3.2.3 写日志

  写日志要求如下:

  功能:把一消息写入存储器。

  语法:

  ResourceReturnStatus writeLogDevice(

  in LogMessageType message_type,

  in unsigned long log_id,

  in CharacterSequence log_message);

  输入:

  message_type 本参数标识消息为四种类型之一;

  log_id 本参数标识消息在日志存储器中的位置;

  log_message 要写入的字符序列,一个 NULL 字符表示消息结束。

  输出:无。

  算法:

  {

  ResourceReturnStatus ret;

  错误处理:

  {

  if (日志满)

  ret = RS_ERROR; if (资源不可用)

  ret = RS_RESOURCE; }

  正常流程:

  {

  ret= RS_SUCCESS;

  if (log_id 为 NULL)

  把传递的字符串 log_message 存储到一个专用的本地日志末尾; else

  利用给定的 log_id 把传递的字符串 log_message 存储到一个专用的本地日志中; }

  return (ret);

  }

  返回值:

  RS_SUCCESS 写入成功;

  RS_ERROR 写入失败;

  RS_RESOURCE 写入资源受限。

  6.3.1.3.2.4 擦除存储器

  擦除存储器要求如下:

  功能:在 CFM 上擦除物理存储器。

  语法:

  ReturnStatus erasePhysicalMemory( );

  输入:无。

  输出:无。

  算法:

  {

  ReturnStatus ret;

  错误处理:

  {

  if (不能正确执行)

  ret = ERROR; }

  正常流程:

  {

  ret = SUCCESS;

  快速擦除 CFM 上的物理存储器;

  }

  return (ret);

  }

  返回值:

  SUCCESS 擦除成功;

  ERROR 擦除失败。

  6.3.1.4 回调管理

  6.3.1.4.1 回调管理数据类型

  6.3.1.4.1.1 概述

  回调管理数据类型包括事件类型和 MSL 返回状态。

  6.3.1.4.1.2 事件类型

  typedef enum _EventType

  {

  COMMS_EV_ERROR ,

  COMMS_EV_INFO ,

  COMMS_EV_CONFIGURED_OK ,

  COMMS_EV_BUFFER_SEND ,

  COMMS_EV_BUFFER_RECEIVED ,

  COMMS_TEST_RETURN ,

  COMMS_TEST_TIMEOUT ,

  TIMER_ALARM ,

  CBIT_ERROR_DETECT ,

  MMM_SD_EVENT ,

  DEV0_EVENT0 ,

  KBD_PRESS

  } EventType ;

  6.3.1.4.1.3 模块支持层返回状态

  typedef enum _MSLStatus

  {

  MSL_OK ,

  MSL_FAILED ,

  MSL_INVALID_PARAMETER ,

  MSL_FAILED_TO_CREATE_REGION ,

  MSL_FAILED_TO_DELETE_REGION ,

  MSL_FAILED_TO_ATTACH_REGION ,

  MSL_FAILED_TO_DETACH_REGION ,

  MSL_FAILED_TO_CREATE_VM ,

  MSL_FAILED_TO_DELETE_VM ,

  MSL_INVALID_LINEAR_ADDRESS ,

  MSL_INVALID_REGION_ID ,

  MSL_INVALID_VM_ID ,

  MSL_FAILED_TO_ADD_SEP ,

下载地址
高清可复制 HB 8576-2020 民用飞机机载软件操作系统层与模块支持层接口要求资源截图