主要内容

配置AUTOSAR代码生成

生成AUTOSAR-compliant C代码和ARXML组件从一个模型描述为AUTOSAR经典配置平台:

  1. 在配置参数对话框,代码生成>AUTOSAR代码生成选项窗格中,配置AUTOSAR代码生成参数。

  2. 配置AUTOSAR XML导出选项使用AUTOSAR字典或AUTOSAR属性功能。

  3. 构建的模型。

选择AUTOSAR模式

进出口ARXML文件和代AUTOSAR-compliant C代码,软件支持以下AUTOSAR经典模式版本的平台。金宝app

模式版本值 模式修改支持导入金宝app 出口模式修订
4.4 4.4.0 4.4.0
4.3(默认) 4.3.0,4.3.1 4.3.1
4.2 4.2.1,准备4.2.2 4.2.2
4.1 4.1.2,以下4.4.1 4.1.3 4.1.3
4.0 4.0.1,4.0.2,4.0.3 4.0.3
3.2 3.2.1、3.2.2 3.2.2
3.1 3.1.1、3.1.2 3.1.3 3.1.4 3.1.4
3.0 3.0.1,3.0.2 3.0.3、3.0.4 3.0.5 3.0.6 3.0.2
2.1 2.1 (XSD牧师0014、0015、0017、0018) 2.1 (XSD牧师0017)

请注意

金宝app对AUTOSAR模式版本3的支持。2.1 x和被移除。验证一个AUTOSAR模型,使用模式版本3。2.1 x或生成一个错误,防止代码生成。使用模式版本4.0或更高版本。

选择AUTOSAR系统目标文件为您的模型首次设置模式版本参数默认值,4.3

如果你ARXML文件导入仿真软件金宝app®,ARXML进口国检测模式版本和版本模型中的参数设置模式。例如,如果您导入ARXML文件基于schema 4.3安装修订4.3.0或4.3.1,进口国设置的模式版本参数4.3

AUTOSAR模型,当你构建一个代码生成器出口ARXML描述并生成C代码,符合当前的模式版本。例如,如果为模式生成XML文件版本(嵌入式编码)=4.3、出口为schema 4.3使用上面列出的出口模式修改,修订4.3.1。

在出口AUTOSAR软件组件之前,检查所选模式版本。如果你需要更改所选模式版本,使用模型配置参数为模式生成XML文件版本

请注意

AUTOSAR模型配置参数设置为相同的值,引用的模型。这条指导原则适用于为模式生成XML文件版本(嵌入式编码),最大字长度(嵌入式编码),使用AUTOSAR编译器抽象宏(嵌入式编码),金宝app支持根级矩阵I / O使用一维数组(嵌入式编码)

指定最大字长度

AUTOSAR标准指定的最大长度XML元素是128个字符。

指定的最大长度元素导出的代码生成器,设置模型配置参数最大字长度(嵌入式编码)一个积极的字符数小于或等于128。默认值是128个字符。

编译器配置AUTOSAR抽象宏

16位的平台上的编译器(例如,宇宙和Metrowerks ST10 S12X或任务)使用特殊关键字处理16位寻址范围有限。数据和代码的位置超出了64 k选择边界明确的特殊的关键字。然而,如果这样的关键字直接在源代码中使用,然后为每个单片机软件必须单独移植。也就是说,不是独立于平台的软件。

AUTOSAR指定C宏抽象编译器指令(近/远内存调用)以独立于平台的方式。这些编译器指令,由16位平台上,使更好的代码效率为16位微控制器没有单独为每个编译器移植源代码。这种方法允许您的系统集成商,而不是您的软件组件实现者,选择的位置数据和代码为每个软件组件。

AUTOSAR的编译器上抽象的更多信息,见www.autosar.org

使AUTOSAR编译器宏产生,选择模型配置参数使用AUTOSAR编译器抽象宏(嵌入式编码)

当您构建模型,软件编译器抽象宏适用于全局数据和函数定义生成的代码。

对于数据,宏在以下形式:

  • 常量(consttype,memclass)varname;

  • VAR (类型,memclass)varname;

在哪里

  • consttype类型是数据类型

  • memclass是一个宏观的字符串SWC_VAR(SWC是软件组件标识符)

  • varname是变量标识符

函数(模型和子系统),宏在以下形式:

  • 函数(类型,memclass)funcname(空白)

在哪里

  • 类型返回参数的数据类型吗

  • memclass是一个宏观的字符串。这个字符串可以是SWC_CODE为runnable(外部函数),或SWC_CODE_LOCAL为内部函数(SWC是软件组件标识符)。

如果你做选择使用AUTOSAR编译器抽象宏代码生成器产生以下代码:

/ *块信号(自动存储)* / BlockIO rtB;/ *块状态(自动存储)* / D_Work rtDWork;/ *模型阶跃函数* /空白Runnable_Step(空白)

然而,如果你选择使用AUTOSAR编译器抽象宏,代码生成器产生的宏代码:

/ *块信号(自动存储)* / VAR (BlockIO, SWC1_VAR) rtB;/ *块状态(自动存储)* / VAR (D_Work, SWC1_VAR) rtDWork;/ *模型阶跃函数* / FUNC(空白,SWC1_CODE) Runnable_Step(空白)

根级矩阵I / O

AUTOSAR的组件模型和多维数组,如果你设置模型配置参数阵列布局(金宝app仿真软件编码器),您可以保存维度的多维数组生成的C代码。保存数组维度在生成的代码中可以增强代码集成。

如果您的应用程序的设计要求列为主阵列布局,您可以配置ARXML出口支持根级矩阵I / O。金宝app软件可以导出ARXML描述实现矩阵的一维数组。

默认情况下,为列为主阵列布局,软件不允许矩阵根级别的I / O。建筑模型生成一个错误。使根级矩阵I / O,选择模型配置参数金宝app支持根级矩阵I / O使用一维数组(嵌入式编码)

阵列布局被设置为,金宝app支持根级矩阵I / O使用一维数组没有效果。

检查AUTOSAR XML选项

检查XML配置选项,您通过使用AUTOSAR字典。如果您尚未配置它们,看到AUTOSAR XML配置选项

AUTOSAR C和生成XML文件

AUTOSAR代码生成和XML配置选项之后,生成的代码。生成C代码和导出XML描述,构建组件模型。

构建过程生成AUTOSAR-compliant C代码和AUTOSAR XML描述模型的建立文件夹。导出的XML文件包括:

  • 一个或多个modelname* .arxml文件,根据你是否设置导出的XML文件的包装单独的文件模块化

  • 如果你ARXML文件导入到仿真软件,相同的文件的更新版本。金宝app

此表列出了modelname* .arxml文件生成基于的价值导出的XML文件的包装选项中配置AUTOSAR字典。

导出的XML文件包装的价值 导出文件名称 默认情况下包含…
单独的文件 modelname.arxml AUTOSAR元素软件组件、数据类型实现,接口和时机。
模块化 modelname_component.arxml

软件组件,包括:

  • 港口

  • 事件

  • 可运行的

  • Inter-runnable变量(课)

  • 包括数据类型集

  • 组件范围的参数和变量

这是主ARXML文件导出仿真软件模型。金宝app除了软件组件,该组件文件包含packageable出口商不移动的元素数据类型,实现,接口,或时机文件基于AUTOSAR元素类别。

modelname_datatype.arxml

数据类型和相关元素,包括:

  • 应用程序数据类型

  • 软件基本类型

  • 数据类型映射集

  • 不断规范

  • 物理数据的约束

  • 系统常量

  • 软件解决方法

  • 模式声明组

  • 计算方法

  • 单位和单位组

  • 软件记录布局

  • 内部数据的约束

modelname_implementation.arxml 软件组件实现,包括代码描述符。
modelname_interface.arxml 接口,包括因此,c, m, NV、参数,并触发接口。接口包括特定类型元素,如因此数据元素,c操作、出口参数,或触发器。
modelname_timing.arxml 时机模型,包括可运行的执行顺序约束。

你可以合并AUTOSAR XML组件描述回一个AUTOSAR创作工具。AUTOSAR组件信息划分为单独的文件中,便于合并。分区试图减少合并的数量,你必须做的。您不需要将数据类型文件合并到创作工具,因为数据类型通常是定义在设计过程的早期。然而,你必须合并内部行为的文件,因为这些信息模型实现的一部分。

帮助支持AUTO金宝appSAR元素之间的往返AUTOSAR创作工具(AAT)和模型基于模型的设计环境中,代码生成器保留AUTOSAR元素及其通用唯一标识符(uuid) ARXML进出口。金宝app有关更多信息,请参见双向保护AUTOSAR XML文件结构和元素的信息

的例子如何生成AUTOSAR-compliant C代码和出口AUTOSAR XML组件从一个仿真软件模型描述,看到的金宝appAUTOSAR生成C代码和XML描述

另请参阅

(嵌入式编码)|(嵌入式编码)|(嵌入式编码)|(嵌入式编码)

相关的例子

更多关于