主要内容

为软件架构定义服务接口、存储类、内存段和功能模板

在团队或大型组织中,为了使多个用户能够生成符合标准架构的代码,您可以创建并与这些用户共享代码生成定义,例如服务接口、存储类。在为不同的模型配置代码生成设置时,用户可以将定义应用于模型中的数据和功能元素,生成标准化的代码。

创建代码定义以在代码映射编辑器中使用

为了控制生成代码中模型元素的外观,您可以使用code Mappings编辑器将代码定义应用到元素中。若要创建您和其他用户可以在“代码映射”编辑器中使用的代码定义,请使用“嵌入式编码器字典”中的代码接口配置。通过考虑您想从模型生成什么类型的代码,以及您想如何在目标执行环境中部署代码,来决定使用什么类型的代码接口配置。

  • 数据接口配置——代码生成器创建一个打算在目标设备上运行的程序。生成的代码使用您定义的数据接口。

  • 服务接口配置——代码生成器创建一个算法,您打算将该算法部署到针对目标平台的大型应用程序中。平台中间件调用算法代码并为目标设备提供服务。生成的代码根据服务接口配置中的定义调用服务。要创建服务接口配置,必须使用保存在SLDD文件中的嵌入式编码器字典。

在嵌入式编码器字典中创建定义时,应考虑如何使用定义和代码接口配置类型,从而决定将定义保存在何处。该表列出了存储代码定义的位置。

接口配置类型 定义的用法 嵌入式编码器字典的位置
业务接口配置 多个模型或一个模型 所有模型都配置为用于编码器字典的SLDD文件
数据接口配置 多个模型——共享一组代码定义来标准化代码 所有模型都配置为用于编码器字典的SLDD文件
数据接口配置 一个模型——通过使用一个模型来原型化生成的代码 模型的本地嵌入式编码器字典。

要使用嵌入式编码器字典及其关于代码生成定义的限制,请参见嵌入式编码器词典

为外部数据对象创建代码定义

为存储在基本工作区或Simulink中的数据对象创建定义万博1manbetx®数据字典,使用自定义存储类设计器在包中创建定义。对于这些数据对象,您可以将代码生成设置应用到数据对象,而不是应用到模型映射中。当模型中的项使用数据对象及其代码生成设置时,该项的代码映射反映了数据对象的规范。有关更多信息,请参见使用自定义存储类设计器创建存储类而且通过插入Pragmas控制数据和函数在内存中的位置

在嵌入式编码器字典中使用包代码定义

如果希望在code Mappings编辑器和数据对象中使用相同的代码生成定义,则不需要将定义的一个副本存储在嵌入式编码器字典中,而将另一个副本存储在包中。相反,将定义存储在包中(通过使用自定义存储类设计器)。然后,配置一个或多个嵌入式编码器字典以引用包中的定义。使用这种技术,当您想对定义进行更改时,只需在一个地方进行更改,即包。

若要使用自定义存储类设计器在包中创建代码生成定义,请参见使用自定义存储类设计器创建存储类.然后,要配置嵌入式编码器字典以引用包,请参见参考包中的代码生成定义

有关在包和字典中维护定义的详细信息,请参见将包定义迁移到嵌入式编码器字典中以在代码映射中使用

限制存储类代码映射的使用

在嵌入式编码器字典中定义存储类时,可以指定用户是否可以将存储类映射到参数、信号或参数和信号。要约束存储类的使用,可以使用数据初始化属性必须设置为汽车没有一个.然后,在属性检查器中,在允许使用中,选择参数信号,或参数而且信号.有关更多信息,请参见嵌入式编码器词典

向用户部署代码生成定义

在拥有多个模型和用户的大型组织中,您可以通过将代码生成定义存储在可相互访问的位置来共享它们。共享代码定义的过程被称为部署.有关更多信息,请参见部署代码生成定义

以编程方式与数据接口配置中的代码定义交互

使用数据接口配置时,可以使用嵌入式编码字典API创建代码定义并与之交互。

  1. 类表示嵌入式编码器字典编码器。字典对象。使用该对象访问字典的部分:存储类、内存部分和函数自定义模板。如果您有一个代码定义包,请使用编码器。字典对象加载并刷新字典中的包。

  2. 属性表示字典的某个部分coder.dictionary.Section对象。使用该节访问代码定义。

  3. 类表示代码定义coder.dictionary.Entry对象。使用该条目与代码定义及其属性交互。

您还可以使用诸如coder.dictionary.copy而且coder.dictionary.move对嵌入式编码器字典执行操作。有关更多信息,请参见以编程方式创建数据接口配置

另请参阅

|

相关的话题