本文以一个简单的示例说明如何通过Isolar设计的SWC arxml导入到simulink中生成模型,并指定simulink生成的代码带内存分区信息。本文创建的SWC叫做ECAS_Sensor_SWC, 主要作用是对传感器信号进行处理和传递给后级SWC使用。
1. solarAB修改PlatformBase_Types.arxml文件
对IsolarAB AUTOSAR_Platform/BaseTypes(定义位于PlatformBase_Types.arxml)下面的基础数据类型添加如图所示NativeDeclaration属性。

添加完成后浏览Isolar工程下的PlatformBase_Types.arxml文件可以看到数据类型定义下多出了NativeDeclaration属性, 该属性为导入Simulink必要属性。

2. 创建必要的ImplementationDataTypes
创建ImplementationDataTypes请使用前缀IDT_, 同时新建一个DataTypes.arxml, 之后将所有DataTypes, ComputeMethods都放入该文件。


将ImplementationDataTypes类型设置为VALUE, 并选择对应的BaseType(这里有3个,需确定选择的定义位于Platform_BaseType.arxml)。
3.创建必要的Interfaces
创建Interface请使用前缀SRI/CSI, 同时新建一个Intefaces.arxml, 之后将所有Interface都放入该文件(至少是ASW所需的)。

4.为SR Interfaces添加必要的数据元素

5.对Component进行建模
这里以ECAS_Sensor_SWC为例, 每个SWC的描述文件(arxml)保持独立,名字保持默认。

创建Port, 其中RequestPort加前缀RP_,ProviderPort加前缀PP_。

创建如图所示的两个Runable。

创建对应Runable的Event。

指定Runable的DataAcess。

6.将Arxml导入Matlab并自动创建Simulink模型
首先新建一个工作文件夹, 并将工作区设置为该文件夹。

在该文件夹下新建一个子文件夹Arxml。

将Isolar工程下的PlatformBase_Types.arxml, Platform_Types.arxml, DataType
s.arxml, Intefaces.arxml, 以及XX_SWC.arxml放入该文件夹。
其中XX_SWC.arxml描述了SWC的名字, Port, Runable, Runable触发事件, Port引用的Inteface, 以及读写的DataElement等信息。
而Intefaces.arxml则是对Intefaces即其数据元素的具体描述, 同时数据元素的变量类型描述位于PlatformBase_Types.arxml文件, 这里的Platform_Types.arxml暂时没用到。

在工程根文件夹下创建一个.m函数, 方便自动生成模型,里面添加代码:
function CreateModefromArxml(modeName)
arxmlDir = './Arxml/';
platformTypeArxmlPath = strc

本文详细介绍了如何通过Isolar设计的SWCarxml导入Simulink,创建ECAS_Sensor_SWC模型,并指定内存分区,包括基础类型修改、实施数据类型、接口创建、组件建模以及自定义内存管理方法。
1325

被折叠的 条评论
为什么被折叠?



