autosar arxml文件配置实例

RadarObjectStruct 结构体定义

struct RadarObjectStruct {
    ::Bool active;
    
    ::ByteArray objectArray;
    

    static bool IsPlane()
    {
        return false;
    }

    using IsEnumerableTag = void;
    template<typename F>
    void enumerate(F& fun)
    {
        fun(active);
        fun(objectArray);
    }

    template<typename F>
    void enumerate(F& fun) const
    {
        fun(active);
        fun(objectArray);
    }

    bool operator == (const ::RadarObjectStruct& t) const {
        return (active == t.active) && (objectArray == t.objectArray);
    }
};

#endif

arxml中定义方式

<?xml version="1.0" encoding="UTF-8"?>
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_00046.xsd">
  <AR-PACKAGES>
    <AR-PACKAGE UUID="8efd1eb4-f857-4e91-a57a-a1fc47649f49">
      <SHORT-NAME>HuaweiMDC</SHORT-NAME>
      <AR-PACKAGES>
        <AR-PACKAGE>
          <SHORT-NAME>Sample</SHORT-NAME>
          <AR-PACKAGES>
           
            <AR-PACKAGE>
              <SHORT-NAME>RadarMsgDataType</SHORT-NAME>
              <ELEMENTS>
     
                <COMPU-METHOD>
                  <SHORT-NAME>RadarCalibrationCompuMethod</SHORT-NAME>
                  <CATEGORY>TEXTTABLE</CATEGORY>
                  <COMPU-INTERNAL-TO-PHYS>
                    <COMPU-SCALES>
                      <COMPU-SCALE>
                        <SYMBOL>VARANT_A</SYMBOL>
                        <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0x01</LOWER-LIMIT>
                        <UPPER-LIMIT INTERVAL-TYPE="CLOSED">0x01</UPPER-LIMIT>
                      </COMPU-SCALE>
                      <COMPU-SCALE>
                        <SYMBOL>VARANT_B</SYMBOL>
                        <LOWER-LIMIT INTERVAL-TYPE="CLOSED">0x02</LOWER-LIMIT>
                      </COMPU-SCALE>
                      <COMPU-SCALE>
                        <SYMBOL>VARANT_C</SYMBOL>
                        <LOWER-LIMIT>0x03</LOWER-LIMIT>
                      </COMPU-SCALE>
                    </COMPU-SCALES>
                  </COMPU-INTERNAL-TO-PHYS>
                </COMPU-METHOD>
     
                <IMPLEMENTATION-DATA-TYPE S="">
                  <SHORT-NAME>RadarCalibrationVariant</SHORT-NAME>
                  <CATEGORY>TYPE_REFERENCE</CATEGORY>
                  <SW-DATA-DEF-PROPS>
                    <SW-DATA-DEF-PROPS-VARIANTS>
                      <SW-DATA-DEF-PROPS-CONDITIONAL>
                        <COMPU-METHOD-REF DEST="COMPU-METHOD">/HuaweiMDC/Sample/RadarMsgDataType/RadarCalibrationCompuMethod</COMPU-METHOD-REF>
                        <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/UInt16</IMPLEMENTATION-DATA-TYPE-REF>
                      </SW-DATA-DEF-PROPS-CONDITIONAL>
                    </SW-DATA-DEF-PROPS-VARIANTS>
                  </SW-DATA-DEF-PROPS>
                </IMPLEMENTATION-DATA-TYPE>
     
                <IMPLEMENTATION-DATA-TYPE>
                  <SHORT-NAME>RadarObjectStruct</SHORT-NAME>
                  <CATEGORY>STRUCTURE</CATEGORY>
                  <SUB-ELEMENTS>
               
                    <IMPLEMENTATION-DATA-TYPE-ELEMENT>
                      <SHORT-NAME>active</SHORT-NAME>
                      <CATEGORY>TYPE_REFERENCE</CATEGORY>
                      <SW-DATA-DEF-PROPS>
                        <SW-DATA-DEF-PROPS-VARIANTS>
                          <SW-DATA-DEF-PROPS-CONDITIONAL>
                            <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/Bool</IMPLEMENTATION-DATA-TYPE-REF>
                          </SW-DATA-DEF-PROPS-CONDITIONAL>
                        </SW-DATA-DEF-PROPS-VARIANTS>
                      </SW-DATA-DEF-PROPS>
                    </IMPLEMENTATION-DATA-TYPE-ELEMENT>
               
                    <IMPLEMENTATION-DATA-TYPE-ELEMENT>
                      <SHORT-NAME>objectArray</SHORT-NAME>
                      <CATEGORY>TYPE_REFERENCE</CATEGORY>
                      <SW-DATA-DEF-PROPS>
                        <SW-DATA-DEF-PROPS-VARIANTS>
                          <SW-DATA-DEF-PROPS-CONDITIONAL>
                            <IMPLEMENTATION-DATA-TYPE-REF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/ByteArray</IMPLEMENTATION-DATA-TYPE-REF>
                          </SW-DATA-DEF-PROPS-CONDITIONAL>
                        </SW-DATA-DEF-PROPS-VARIANTS>
                      </SW-DATA-DEF-PROPS>
                    </IMPLEMENTATION-DATA-TYPE-ELEMENT>
              
                  </SUB-ELEMENTS>
                </IMPLEMENTATION-DATA-TYPE>
     
              </ELEMENTS>
            </AR-PACKAGE>
           
            <AR-PACKAGE>
              <SHORT-NAME>RadarServiceInterface</SHORT-NAME>
              <ELEMENTS>
               
                <SERVICE-INTERFACE>
                  <SHORT-NAME>RadarServiceInterface</SHORT-NAME>
                  <SHORT-NAME-PATTERN></SHORT-NAME-PATTERN>
                  <IS-SERVICE>true</IS-SERVICE>
                
                  <NAMESPACES>
                    <SYMBOL-PROPS>
                      <SHORT-NAME>mdc</SHORT-NAME>
                      <SYMBOL>mdc</SYMBOL>
                    </SYMBOL-PROPS>
                    <SYMBOL-PROPS>
                      <SHORT-NAME>Radar</SHORT-NAME>
                      <SYMBOL>Radar</SYMBOL>
                    </SYMBOL-PROPS>
                
                  </NAMESPACES>
                
                  <EVENTS>
                    <VARIABLE-DATA-PROTOTYPE>
                      <SHORT-NAME>RadarDataEvent</SHORT-NAME>
                      <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/Sample/RadarMsgDataType/RadarObjectStruct</TYPE-TREF>
                    </VARIABLE-DATA-PROTOTYPE>
                  </EVENTS>
                
                  <FIELDS>
                    <FIELD>
                      <SHORT-NAME>RadarStateField</SHORT-NAME>
                      <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/UInt32</TYPE-TREF>
                      <HAS-GETTER>true</HAS-GETTER>
                      <HAS-NOTIFIER>true</HAS-NOTIFIER>
                      <HAS-SETTER>true</HAS-SETTER>
                    </FIELD>
                  </FIELDS>
                
                  <METHODS>
                    <CLIENT-SERVER-OPERATION>
                      <SHORT-NAME>RadarControlMethod</SHORT-NAME>
                      <ARGUMENTS>
                        <ARGUMENT-DATA-PROTOTYPE>
                          <SHORT-NAME>inputArg</SHORT-NAME>
                          <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/UInt32</TYPE-TREF>
                          <DIRECTION>IN</DIRECTION>
                        </ARGUMENT-DATA-PROTOTYPE>
                        <ARGUMENT-DATA-PROTOTYPE>
                          <SHORT-NAME>outputArg</SHORT-NAME>
                          <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/Bool</TYPE-TREF>
                          <DIRECTION>OUT</DIRECTION>
                        </ARGUMENT-DATA-PROTOTYPE>
                        <ARGUMENT-DATA-PROTOTYPE>
                          <SHORT-NAME>inoutArg</SHORT-NAME>
                          <TYPE-TREF DEST="IMPLEMENTATION-DATA-TYPE">/HuaweiMDC/ImplementationDataType/String</TYPE-TREF>
                          <DIRECTION>INOUT</DIRECTION>
                        </ARGUMENT-DATA-PROTOTYPE>
                      </ARGUMENTS>
                    </CLIENT-SERVER-OPERATION>
                  </METHODS>
                
                </SERVICE-INTERFACE>
               
                <SOMEIP-SERVICE-INTERFACE-DEPLOYMENT>
                  <SHORT-NAME>RadarSomeipServiceInterfaceDeployment</SHORT-NAME>
              
                  <EVENT-DEPLOYMENTS>
                    <SOMEIP-EVENT-DEPLOYMENT>
                      <SHORT-NAME>RadarDataEventDeployment</SHORT-NAME>
                      <EVENT-REF DEST="VARIABLE-DATA-PROTOTYPE">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface/RadarDataEvent</EVENT-REF>
                      <EVENT-ID>3300</EVENT-ID>
                      <TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
                    </SOMEIP-EVENT-DEPLOYMENT>
                  </EVENT-DEPLOYMENTS>
              
                  <FIELD-DEPLOYMENTS>
                    <SOMEIP-FIELD-DEPLOYMENT>
                      <SHORT-NAME>RadarStateFieldDeployment</SHORT-NAME>
                      <FIELD-REF DEST="FIELD">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface/RadarStateField</FIELD-REF>
                      <GET>
                        <SHORT-NAME>Getter</SHORT-NAME>
                        <METHOD-ID>2</METHOD-ID>
                        <TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
                      </GET>
                      <NOTIFIER>
                        <SHORT-NAME>Notifier</SHORT-NAME>
                        <EVENT-ID>33002</EVENT-ID>
                        <TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
                      </NOTIFIER>
                      <SET>
                        <SHORT-NAME>Setter</SHORT-NAME>
                        <METHOD-ID>3</METHOD-ID>
                        <TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
                      </SET>
                    </SOMEIP-FIELD-DEPLOYMENT>
                  </FIELD-DEPLOYMENTS>
              
                  <METHOD-DEPLOYMENTS>
                    <SOMEIP-METHOD-DEPLOYMENT>
                      <SHORT-NAME>RadarControlMethodDeployment</SHORT-NAME>
                      <METHOD-REF DEST="CLIENT-SERVER-OPERATION">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface/RadarControlMethod</METHOD-REF>
                      <METHOD-ID>1</METHOD-ID>
                      <TRANSPORT-PROTOCOL>UDP</TRANSPORT-PROTOCOL>
                    </SOMEIP-METHOD-DEPLOYMENT>
                  </METHOD-DEPLOYMENTS>
              
                  <SERVICE-INTERFACE-REF DEST="SERVICE-INTERFACE">/HuaweiMDC/Sample/RadarServiceInterface/RadarServiceInterface</SERVICE-INTERFACE-REF>
              
                  <EVENT-GROUPS>
                    <SOMEIP-EVENT-GROUP S="">
                      <SHORT-NAME>RadarEventGroup</SHORT-NAME>
                      <EVENT-GROUP-ID>1</EVENT-GROUP-ID>
                      <EVENT-REFS>
                        <EVENT-REF DEST="SOMEIP-EVENT-DEPLOYMENT">/HuaweiMDC/Sample/RadarServiceInterface/RadarSomeipServiceInterfaceDeployment/RadarStateFieldDeployment/Notifier</EVENT-REF>
                        <EVENT-REF DEST="SOMEIP-EVENT-DEPLOYMENT">/HuaweiMDC/Sample/RadarServiceInterface/RadarSomeipServiceInterfaceDeployment/RadarDataEventDeployment</EVENT-REF>
                      </EVENT-REFS>
                    </SOMEIP-EVENT-GROUP>
                  </EVENT-GROUPS>
              
                  <SERVICE-INTERFACE-ID>95</SERVICE-INTERFACE-ID>
                  <SERVICE-INTERFACE-VERSION>
                    <MAJOR-VERSION>1</MAJOR-VERSION>
                    <MINOR-VERSION>0</MINOR-VERSION>
              
                  </SERVICE-INTERFACE-VERSION>
              
                </SOMEIP-SERVICE-INTERFACE-DEPLOYMENT>
            
              </ELEMENTS>
            </AR-PACKAGE>
         
          </AR-PACKAGES>
        </AR-PACKAGE>
      </AR-PACKAGES>
    </AR-PACKAGE>
  </AR-PACKAGES>
</AUTOSAR>

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Autosar ARXML文件是汽车软件架构标准(AUTOSAR)的一种文件格式,用于描述汽车上使用的电子控制单元(ECU)之间的通信和数据交换。该文件包含了ECU的描述、软件组件、接口、通信矩阵以及应用软件的参数。 Autosar ARXML文件是一种XML(可扩展标记语言)格式的文件,通过使用结构化的标签和属性,可以轻松地进行信息交换和解析。这种文件格式是AUTOSAR标准中定义的,因此具有广泛的兼容性和标准化特性。 在Autosar ARXML文件中,可以找到各个ECU的描述,包括硬件、软件和功能方面的信息。每个ECU都可以被定义为一个节点,其中包含了ECU的唯一标识符、厂商信息、硬件插槽、操作系统属性以及支持的软件组件等。 此外,Autosar ARXML文件还定义了不同ECU之间的接口和通信矩阵。通过定义这些接口,不同的ECU可以交互并共享数据。通信矩阵定义了不同ECU之间的通信连接,包括信号名称、数据类型、发送方和接收方等。 最后,Autosar ARXML文件还包含了应用软件的参数。这些参数描述了ECU上运行的各个软件组件的属性和配置信息。例如,可以定义软件组件的版本、启动顺序、优先级、内存分配等。 总而言之,Autosar ARXML文件是一种用于描述汽车ECU之间通信和数据交换的文件格式。通过使用这种标准化的文件格式,可以提高不同ECU之间的兼容性和可靠性,促进汽车软件的开发和集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值