使用配置参考来选择代码生成目标
此示例显示如何使用配置参考来为模型参考层次结构选择代码生成目标,而无需修改单个模型。
打开示例模型
打开示例模型 ConfigSetCodegenTargetTop。
open_system('ConfigSetCodegenTargetTop');

要打开模型 ConfigSetCodegenTargetTop 的活动配置集,请在建模选项卡上点击模型配置参数按钮。

由于模型正在使用引用配置,因此“配置引用”对话框将打开并显示引用配置集的只读视图。对话框顶部的信息表明该模型正在使用位于数据字典 ConfigSetRefData.sldd 中的配置集 Reference。在这个示例中,Reference 是另一个配置引用,Configuration_ERT。
在模型编辑器中,右键点击 Model 模块、Amplifier,然后选择作为顶层模型打开。这将打开引用的模型 ConfigSetCodegenTargetRef。
open_system('ConfigSetCodegenTargetTop/Amplifier');

打开此模型的活动配置集。引用配置的名称和位置与 ConfigSetCodegenTargetTop 中的相同。

打开引用的配置集
如果您需要更改和应用配置集中的参数值,请点击任一配置参考对话框顶部的模型配置参数图标,在配置参数对话框中打开 Configuration_ERT 进行编辑。

为 ERT 目标生成代码
引用的配置集是为 ERT 代码生成自定义的。要生成代码,请按 Ctrl+B。
slbuild('ConfigSetCodegenTargetTop');
### Searching for referenced models in model 'ConfigSetCodegenTargetTop'. ### Total of 2 models to build. ### Starting serial code generation build. ### Starting build procedure for: ConfigSetCodegenTargetRef ### Successful completion of code generation for: ConfigSetCodegenTargetRef ### Starting build procedure for: ConfigSetCodegenTargetTop ### Successful completion of code generation for: ConfigSetCodegenTargetTop Build Summary Model reference code generation targets: Model Build Reason Status Build Duration =============================================================================================================== ConfigSetCodegenTargetRef Target (ConfigSetCodegenTargetRef.c) did not exist. Code generated. 0h 0m 10.041s Top model targets: Model Build Reason Status Build Duration =============================================================================================================== ConfigSetCodegenTargetTop Information cache folder or artifacts were missing. Code generated. 0h 0m 10.674s 2 of 2 models built (0 models already up to date) Build duration: 0h 0m 22.175s
代码生成完成后将显示代码生成报告。
切换目标并为 AUTOSAR 目标生成代码
对于此模型,还有另一个配置集,Configuration_AUTOSAR,它是为 AUTOSAR 代码生成自定义的。在配置引用对话框的顶部,最右边的下拉列表中,选择 Configuration_AUTOSAR。slexConfigSetREfExample 及其引用的模型 slexConfigSetMdlRef 现在都使用配置集 Configuration_AUTOSAR。

由于您编辑了配置参考,数据字典中有未保存的更改。配置存储在模型外部,因此模型没有未保存的更改。
如果您已经下载了 AUTOSAR 包,那么您现在可以为 AUTOSAR 目标生成代码。在模型编辑器窗口中,按 Ctrl+B。