概述
目录
- 一. Optimization
- 1.1 Default parameter behavior
- 1.2 Pass reusable subsystem outputs as
- 1.3 Data Initialization
- 1.4 Optimization levels
- 二. Report
- 三. Comments
- 四. 总结
上一节我们学习了 Code Generation 配置的一部分,这节我们继续进行学习,本节内容主要包含三个方面,部分内容在前面的学习中已经有所涉及,只是没有系统的讲解,这节我们将进行相对比较详细的讲解。废话不多说,开始讲解。
一. Optimization
在前几章的学习中我们建立了 Calculation 模型,与下图的模型区别就在于图中标红的地方,之所以加了一个 Gain 模块,是为了本节内容的讲解。
1.1 Default parameter behavior
模型建立好以后,我们对 Optimization 进行配置,打开 Optimization 可以看到默认配置如图所示。
默认情况下 Default parameter behavior 为 Inlined(内联),生成的 Gain 在代码中的表现形式直接是数值。
将 Default parameter behavior 改为 Tunable,再次生成代码。
可以看到,生成的 Gain 在代码中的表现形式不再是数值,而是一个结构体变量。
结构体的定义及赋值单独生成了一个 Calculation_data.c 文件。
结构体的原始定义及外部声明在 Calculation.h 中完成。
1.2 Pass reusable subsystem outputs as
在默认选项 Individual arguments 时,可复用子系统(原子子系统)的形式如图所示。函数是带有返回值的,直接返回计算结果。
将 Pass reusable subsystem outputs as 改为 Structure reference 再来查看生成代码的区别。
生成的代码不再带有返回值,计算结果以指针的方式进行传递。
在 MySelfFunction.h 头文件中定义了相关结构体,声明的函数也是不带有返回值的,而是通过指针进行传递。
细心的读者可以自行查看二者在 Calculation.c 中的调用情况,也不难发现它们的区别,在此笔者就不进行介绍了。
1.3 Data Initialization
在默认情况下 Data Initialization 的两个子选项都是勾选的,在勾选的情况下不对相关内容进行初始化,生成的代码如图所示。
在不对 Data Initialization 进行勾选时表示对相关内容进行初始化,生成的代码如图所示。
1.4 Optimization levels
该项是对代码进行优化,可以选择执行速度优先,占用内存最小优先,或是平衡内存和速度等,该项根据项目需求进行选择,如果内存足够,那就可以追求执行速度,如果内存紧张就可以选择占用内存最小,选择并不固定。
二. Report
此项决定是否生成代码报告,三个选项分别表示:(1)是否生成代码报告;(2)是否自动打开代码生成报告;(3)是否生成模型网页浏览。在全部勾选的情况下,在生成代码后会自动弹出代码报告。
代码报告如图所示,图中标红的部分就是模型的网页浏览,点击可以查看我们所搭建的模型,通常情况下我们不想让别人看到我们的模型,因此该选项都不进行勾选。
在不勾选时生成 Generate model automatically 时,生成的报告如图所示。从图中可以看出,报告中不在显示模型内容。
当其它两个选项也不勾选时,不在生成报告。
三. Comments
默认情况下 Comments 选项的配置如下图所示。该选项决定模型是否生成注释。
在默认情况下,生成的代码包含各种注释,如图所示。
在取消Include comments时,生成的代码不在包含任何注释。
至于每条选项对应哪个注释,大家自行去研究吧。
四. 总结
本节内容到此结束,其它配置下节继续讲解。
最后
以上就是幸福蜜粉为你收集整理的Simulink自动代码生成:Code Generation配置(二)一. Optimization二. Report三. Comments四. 总结的全部内容,希望文章能够帮你解决Simulink自动代码生成:Code Generation配置(二)一. Optimization二. Report三. Comments四. 总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复