ARXML简介

在AUTOSAR架构下,ARXML文件作为通用配置文件数据库文件,在数据传输和存储中起到关键作用,所以我们很有必要了解ARXML。因为ARXML是在XML基础上发展起来的,我就先从XML了解。

1. XML和HTML的区别

XML 被设计用来传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。

在xml文件的基础上,AUTOSAR规范基于汽车电子的应用场景,将传输信息的文件格式定义为arxml,ar即architecture。

2.ARXML文件的结构

ARXML文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最顶端。
所有元素均可拥有子元素,所有元素均可拥有文本内容和属性

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bookstore>
<book category="计算机">
  <title>操作系统</title>
  <author>Demu</author>
  <year>2021</year>
  <price>35.00</price>
</book>

<book category="汽车工程">
  <title>汽车电子功能安全实战应用</title>
  <author>赵鑫</author>
  <year>2005</year>
  <price>36.00</price>
</book>
</bookstore>

在XML文档的第一行,声明由以下几个部分组成:

  • version:文档版本,比如version=“1.0”;
  • encoding :文档字符编码,比如”GB2312”或者”UTF-8”;
  • standalone :文档定义是否独立使用,yes代表独立使用,no代表非独立使用,默认值为“no”。

每个XML文档有且只有一个根元素

  • 根元素是完全包括文档中其他所有元素的元素;
  • 根元素的起始标记要放在所有其他元素的起始标记之前;
  • 根元素的结束标记要放在所有其他元素的结束标记之后;

上面例子中根元素是 <bookstore>,文档中的所有 <book> 元素都被包含在 <bookstore> 中。<book>元素有 4 个子元素:<title>、< author>、<year>、<price>。

3. ARXML文件 语法规则

  1. ARXML 元素标签必须成对,省略关闭标签是非法;

<year>2005</year>

  1. ARXML标签对大小写敏感,必须使用相同的大小写来编写打开标签和关闭标签;

<Demu>这是错误的</DEMU>

  1. ARXML元素需正确嵌套,标签需成对;

<p><l>汽车电控与人工智能</l></p>

  1. ARXML文档必须有根元素;
  2. ARXML的属性值须加引号;

<book category=“汽车工程”>

ARXML支持实体引用:
在ARXML中,一些字符拥有特殊的意义,比如把字符 “<” 放在ARXML元素中,会发生错误,这是因为解析器会把它当作新元素的开始,为了避免这个错误,需用实体引用“&lt;”来代替 “<” 字符:

实体引用 对应符号
&lt; <
&gt; >
&amp; &
&apos;
&quot; "

ARXML中的注释:
ARXML中的注释格式:

<!-- 我就是一行注释 -->

  • 被注释的内容不要出现–
  • 不要把注释放在标记中间;
  • 注释一定不能嵌套;

ARXML元素必须遵循以下命名规则:

  • 名称可以含字母、数字以及其他字符
  • 名称不能以数字或者标点符号开始
  • 名称不能包含空格
  • 名称中间不能包含冒号(:)
  • 可使用任何名称,没有保留字。
  • 可以使用中文,但不推荐使用
  • 比较好的命名习惯:使名称具有描述性;使用下划线的名称;名称尽可能简短;避免使用连词符 “-”;避免使用点".";避免使用冒号 “:”。

4. ARXML的应用场景

在AUTOSAR标准下,ARXML文档的解析均已实现工具化,如Vector DavinciDeveloper、Artop、AutosarExplorer等,也有部分企业基于Eclipse自主开发了工具。将ARXML文件导入支持其文件格式的工具,可查看到里面的信息。

由于整车OEM更加关注系统应用层功能,因而,OEM端将提供系统的描述文件,文件中包含ECU的应用功能需求,不包含基础软件组件。
然后,控制器供应商基于OEM提供的系统描述文档,加载到工具链,引入系统的虚拟功能总线上,即AUTOSAR RTE层的VFB,如此就可以和系统的其它模块进行通讯。
最后,因OEM提供的系统功能描述文件包含了系统部件到ECU的映射关系,信号的映射关系,供应商可进行ECU内部硬件结构和接口的设计,并将信号分配给实际的接口,如此就完成了arxml创建。

猜你喜欢

转载自blog.csdn.net/u014157109/article/details/120148672