As with version 3.0, AUTOSAR switched from OSEK-OIL to a XML based format in order to configure their OS. I'm looking now for an example of how this configuration can look like. The AUTOSAR specification unfortunately just covers the configuration parameters. Has anyone an idea where to get an example?
If you use the textual language for Ecuc value configuation provided by Artop, a textual configuration could look like this:
module Os = {
container OsAppMode = {
}
container OsOS: ExampleOS = {
param OsUseParameterAccess = true
param OsStackMonitoring = true
param OsStatus = .EXTENDED
param OsUseGetServiceId = true
param OsUseResScheduler = true
container OsHooks = {
param OsErrorHook = true
param OsPostTaskHook = true
param OsPreTaskHook = true
param OsShutdownHook = true
param OsStartupHook = true
}
}
container OsEvent : ev1 = {
}
container OsTask : task1 = {
ref OsTaskEventRef = os/Os/ev1
}
}
The generated .arxml would then be:
<?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_4-2-2.xsd">
<ADMIN-DATA>
<USED-LANGUAGES>
<L-10 L="EN" xml:space="preserve">English</L-10>
</USED-LANGUAGES>
</ADMIN-DATA>
<AR-PACKAGES>
<AR-PACKAGE>
<SHORT-NAME>os</SHORT-NAME>
<ELEMENTS>
<ECUC-VALUE-COLLECTION>
<SHORT-NAME>os</SHORT-NAME>
<ECUC-VALUES>
<ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL>
<ECUC-MODULE-CONFIGURATION-VALUES-REF DEST="ECUC-MODULE-CONFIGURATION-VALUES">/os/Os</ECUC-MODULE-CONFIGURATION-VALUES-REF>
</ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL>
</ECUC-VALUES>
</ECUC-VALUE-COLLECTION>
<ECUC-MODULE-CONFIGURATION-VALUES>
<SHORT-NAME>Os</SHORT-NAME>
<ADMIN-DATA>
<SDGS>
<SDG GID="source">
<SD GID="VALUE">/osconfig/os.ecucvalues</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DEFINITION-REF DEST="ECUC-MODULE-DEF">/AUTOSAR/EcucDefs/Os</DEFINITION-REF>
<IMPLEMENTATION-CONFIG-VARIANT>VARIANT-PRE-COMPILE</IMPLEMENTATION-CONFIG-VARIANT>
<CONTAINERS>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>OsAppMode</SHORT-NAME>
<ADMIN-DATA>
<SDGS>
<SDG GID="source">
<SD GID="VALUE">/osconfig/os.ecucvalues</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Os/OsAppMode</DEFINITION-REF>
</ECUC-CONTAINER-VALUE>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>ExampleOS</SHORT-NAME>
<ADMIN-DATA>
<SDGS>
<SDG GID="source">
<SD GID="VALUE">/osconfig/os.ecucvalues</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Os/OsOS</DEFINITION-REF>
<PARAMETER-VALUES>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsUseParameterAccess</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsStackMonitoring</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-TEXTUAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsStatus</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>EXTENDED</VALUE>
</ECUC-TEXTUAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsUseGetServiceId</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsUseResScheduler</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
</PARAMETER-VALUES>
<SUB-CONTAINERS>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>OsHooks</SHORT-NAME>
<ADMIN-DATA>
<SDGS>
<SDG GID="source">
<SD GID="VALUE">/osconfig/os.ecucvalues</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsHooks</DEFINITION-REF>
<PARAMETER-VALUES>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsErrorHook</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsPostTaskHook</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsPreTaskHook</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsShutdownHook</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
<ECUC-NUMERICAL-PARAM-VALUE>
<DEFINITION-REF DEST="ECUC-BOOLEAN-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsStartupHook</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE>1</VALUE>
</ECUC-NUMERICAL-PARAM-VALUE>
</PARAMETER-VALUES>
</ECUC-CONTAINER-VALUE>
</SUB-CONTAINERS>
</ECUC-CONTAINER-VALUE>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>ev1</SHORT-NAME>
<ADMIN-DATA>
<SDGS>
<SDG GID="source">
<SD GID="VALUE">/osconfig/os.ecucvalues</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Os/OsEvent</DEFINITION-REF>
</ECUC-CONTAINER-VALUE>
<ECUC-CONTAINER-VALUE>
<SHORT-NAME>task1</SHORT-NAME>
<ADMIN-DATA>
<SDGS>
<SDG GID="source">
<SD GID="VALUE">/osconfig/os.ecucvalues</SD>
</SDG>
</SDGS>
</ADMIN-DATA>
<DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Os/OsTask</DEFINITION-REF>
<REFERENCE-VALUES>
<ECUC-REFERENCE-VALUE>
<DEFINITION-REF DEST="ECUC-REFERENCE-DEF">/AUTOSAR/EcucDefs/Os/OsTask/OsTaskEventRef</DEFINITION-REF>
<ANNOTATIONS>
<ANNOTATION>
<LABEL>
<L-4 L="EN">source</L-4>
</LABEL>
<ANNOTATION-ORIGIN>Ecuc Values Editor</ANNOTATION-ORIGIN>
<ANNOTATION-TEXT>
<P SI="egal">
<L-1 L="EN">/osconfig/os.ecucvalues</L-1>
</P>
</ANNOTATION-TEXT>
</ANNOTATION>
</ANNOTATIONS>
<VALUE-REF DEST="ECUC-CONTAINER-VALUE">/os/Os/ev1</VALUE-REF>
</ECUC-REFERENCE-VALUE>
</REFERENCE-VALUES>
</ECUC-CONTAINER-VALUE>
</CONTAINERS>
</ECUC-MODULE-CONFIGURATION-VALUES>
</ELEMENTS>
</AR-PACKAGE>
</AR-PACKAGES>
</AUTOSAR>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With