目 录CONTENT

文章目录

AUTOSAR知识(二):如何解读arxml

moke
2024-07-25 / 0 评论 / 0 点赞 / 328 阅读 / 0 字

1、概述

        在工具里面已经实现脚本解析arxml,照葫芦画瓢,难免一知半解,文档记录一下如何去查看arxml文件,基于规范。

        ARXML文件实质是一个XML文件,一般通过AUTOSAR标准的XSD进行约束,ARXML文档中的元素形成了一棵文档树,这棵树从根部开始,并扩展到树的最底端。所有元素均可拥有子元素,所有元素均可拥有文本内容和属性。

参考文档

《AUTOSAR_TR_XMLPersistenceRules.pdf》

2、ARXML解读

第一行:文档声明,包含文档版本和文档字符编码;

第二行:根元素,每个文档有且只有一个根元素,元素由开始标签、元素内容、结束标签组成,没有被其它元素包围的元素称为根元素。属性:xmls: 引用Schema的约束,xmlns:xsi:声明当前的XML文件是schema一个实例,xsi:schemaLocation:引用schema的位置;

. . .

第三行:顶级包,此元素是添加到文件中的所有AUTOSAR元素的容器。

. . .

第四行:AUTOSAR包,包是AUTOSAR的主要组件,它包含彼此相关的AUTOSAR元素,如软件组件、行为和受支持的数据类型。它由一个名称和称为UUID的全局唯一标识符定义。它也可能包含子包

<AR-PACKAGE UUID="8348d5fa-cd36-5935-e72f-9ac3852cc24f">

Package Name

. . .

. . .

 

2.1、arxml注释

        

        

从AUTOSAR模型的命名到XML的命名手册举例如下

 下表显示了从元模型名称到XML模式中使用的名称的一些转换示例

 创建表

 2.2、命名空间

AUTOSAR的命名空间的声明必须是默认的,就是下面这个http://autosar.org/schema/r.<minor>,这意味着AUTOSAR XML不需要一个命名空间前缀。AUTOSAR XML的编码格式必须是UTF-8,假设不是注意转码。

开始模式确定是

在文档《AUTOSAR_TR_XMLPersistenceRules.pdf》的第六章节。

2.3、解析定义

<ECUC-MODULE-DEF>
 
      定义模块参数,该部分规范及限制了容器参数的使用方法,取值范围等
 
</ECUC-MODULE-DEF>
<ECUC-MODULE-CONFIGURATION-VALUES>
 
用来存储模块配置参数数据。
 
</ECUC-MODULE-CONFIGURATION-VALUES>

规范里面有个点:带有stereotype 构造型标签的元素可以被拆分到不同的arxml里面,例如就是此标签。

2.3.1、AR-PACKGE

会有好几个AR-PACKGE,成对出现,有的属于顶级包,有的属于本身我们需要使用的次级包。

2.3.2、:要素

 此层结构包含了我们需要配置的模块信息,包含模块,模块配置项等。

2.3.3、:容器

 包含了配置工具的配置界面

 此处对应于配置项,数据都是五个已配置,展开之后NAME也是下面五个。

展开ECUC-CONTAINER-VALUE可以看到如下排列

 上图包含了与即参数(一个配置项)与子配置包(4个),对应于下图

 展开之后查看

CanIfInitCfgSet对应了,其值是0,符合配置

注意点,这点和我们的思维稍微有些异常的点

CanIfInitCfg 里面有子服务 CanIfInitHohCfg 注意第二个红框是CanIfInitHohCfgs 多了一个s

其实在工具里面很容易理解,CanIfInitCfg

 但是CanIfInitHohCfgs有一个配置包

也就是说CanIfInitCfg里面只有一个配置包

符合此ARXML的格式:子包里面又有一个子包去配置

 这个参数值对应于配置

由此可以看出,每个配置项都在arxml里面找到出处。

:ECUC的参考值,这个地方一般是引用其他地方的信息

2.3.4、:定义参考

一般参数定义来源与指向本容器配置项的路径,第一个红框是参数,第二个是自己本身的路径。

 

 2.3.5、:参数值

参数定义里面可以包含

博主关闭了所有页面的评论