文档

将内存段和共享实用程序设置从配置参数迁移到代码映射编辑器

从R2018a开始,对于新模型:

  • 要应用模型范围的内存部分设置,不要使用下面的模型配置参数代码生成>先进的参数>记忆的部分.相反,请使用代码映射编辑器。要定义内存部分,请继续使用包,或者可以使用嵌入式编码器字典。

  • 如果要为共享实用程序函数设置命名规则,请不要使用model配置参数代码生成>标识符>先进的参数>共享实用程序标识符格式.相反,您可以使用嵌入式编码器字典创建指定命名规则的函数定制模板,然后通过使用代码映射编辑器应用该模板。

有关Simulink编辑器代码透视图模式、代码映射编辑器和嵌入式编码金宝app器字典的一般信息,请参见配置模型数据和代码生成功能的环境

在R2018a之前的版本中创建的模型中,当有人启用代码透视图模式时,Simulink金宝app®将内存部分和共享实用程序设置从配置参数迁移到模型的代码映射编辑器。如果有必要,作为迁移的一部分,Simulink配置模型使用的嵌入式编码器字典:金宝app

  • 引用定义内存段的包,如中所述请参阅包中的代码生成定义

  • 包含一个函数自定义模板,该模板指定您为共享实用程序指定的命名规则和(如果适用的话)内存部分设置。

另外,如果你使用coder.mapping.create功能,Simulink以这种方式迁移内存段和共享实用金宝app程序设置。

移民的影响

  • 迁移过程对模型文件进行更改,您必须保存该文件。改动包括:

    • 将配置参数设置转换为代码映射编辑器设置。

    • 如果模型没有链接到数据字典,那么在模型文件中配置Embedded Coder dictionary以引用内存段包并包含函数定制模板。

  • 如果模型链接到数据字典,迁移过程将对字典进行更改,您必须保存该字典。改动包括:

    • 如果配置参数存储在模型文件中(模型不引用金宝app仿真软件。ConfigSet对象),配置数据字典的Embedded Coder Dictionary引用内存段包并包含函数定制模板。

      如果数据字典引用其他字典,迁移过程将在引用层次结构的底部配置字典,以便层次结构中的其他模型和字典可以使用内存部分和函数模板定义。

    • 如果模型指的是a金宝app仿真软件。ConfigSet对象,配置存储该对象的数据字典的嵌入式编码器字典。

迁移前的注意事项

  • 通常,当您启用代码透视图模式时,Simulink执行迁移过程而不提示您。金宝app除非您准备迁移内存段和共享实用程序命名设置,否则不要启用代码透视图模式。

    如果您的模型满足以下任何一个条件,代码透视图模式会提示您接受迁移:

    • 模型有多个配置集(一个活动的和一个或多个非活动的)。

    • 该模型指的是a金宝app仿真软件。ConfigSet对象。

    如果不接受,就不能使用Code透视图。

  • 如果您使用Simuli金宝appnk数据字典,在您或其他用户打开任何模型中的Code透视图之前,请先考虑创建和配置字典。

    在引用数据字典的层次结构中(例如,与模型层次结构平行的字典层次结构),只有一个字典可以包含嵌入式编码器字典。在迁移相关模型之前设置数据字典使您能够控制嵌入式编码器字典在字典层次结构中的位置。在层次结构的底部创建或标识一个数据字典,以便所有模型都可以访问内存部分和函数模板定义。然后,当您通过启用模型的Code透视图启动迁移时,Simulink将配置该数据字典。金宝app

    有关通过使用引用字典在模型之间共享嵌入式编码器字典的信息,请参见在模型之间共享嵌入式编码器字典定义

  • 迁移过程基于模型的活动配置集进行更改(参见管理配置集(金宝appSimulink))时启用代码透视图模式。在启用Code透视图之前,请激活您希望迁移过程使用其设置的配置集。

    该流程忽略未激活配置集中的设置。如果模型的不同配置集指定不同的设置,您必须选择一个集进行迁移。

迁移后的考虑

  • 在引用模型和引用数据字典的分支层次结构中,当您或其他用户将引用模型迁移到不同的分支中时,在父模型中启用代码透视图模式可能会生成错误,因为在数据字典层次结构中存在多个嵌入式编码器字典。要解决这些错误,请使用coder.dictionary.move而且coder.dictionary.remove转移和删除嵌入式编码器字典,直到只剩下一个字典为止。将剩余的嵌入式编码器字典放在层次结构底部的数据字典中,以便所有模型都可以访问内存部分和函数模板定义。

    有关通过使用引用字典在模型之间共享嵌入式编码器字典的信息,请参见在模型之间共享嵌入式编码器字典定义

  • 在您迁移一个模型之后,嵌入式Coder®忽略配置参数中的内存部分和共享实用程序设置。如果你使用set_paramget_param要以编程方式访问这些配置参数设置,函数会生成警告。若要更改或设置这些设置,请使用代码映射编辑器或类似的编程接口为模型数据和函数的类别配置默认C代码生成

    但是,如果模型包含具有非默认内存段设置的原子子系统,则模型继续依赖于设置配置参数。看到覆盖子系统功能和数据的默认内存位置

  • 如果一个模型指的是金宝app仿真软件。ConfigSet对象,在迁移之后,模型不再使用对象中的内存部分和共享实用程序设置。如果使用该对象设置多个模型的配置参数:

    • 更改对象中的内存部分和共享实用程序设置只影响未迁移的模型。

    • 迁移的模型不再从单个位置获得内存段和共享实用程序设置金宝app仿真软件。ConfigSet对象)。要更改这些模型的这些设置,您必须使用每个单独模型的Code Mappings编辑器。

另请参阅

|

相关的话题