主要内容

全球块输出生成的代码重用

减少ROM和RAM和增加消费和数据复制生成的代码的执行速度。配置代码生成器重用全局变量通过选择模型配置参数重用全球块输出

示例模型

在命令窗口,打开GlobalReuse模型。

模型=“GlobalReuse”;open_system (“GlobalReuse”)

没有生成代码优化

  1. 在配置参数对话框,确认信号存储重用被选中。

  2. 代码生成报告>窗格中,验证生成静态代码度量被选中。

  3. 清晰的重用全球块输出并点击应用。或者,您可以以编程方式设置该参数:

set_param(模型,“GlobalBufferReuse”,“关闭”);

新闻Ctrl + B生成的代码。

slbuild(模型);
# # #开始构建过程:GlobalReuse # # #成功完成构建过程:GlobalReuse模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = GlobalReuse代码生成和编译。代码生成信息文件不存在。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米16.834秒

查看生成的代码没有优化。这是一部分GlobalReuse.c

用= fullfile (“GlobalReuse_ert_rtw”,“GlobalReuse.c”);rtwdemodbtype(用“/ *模型步骤”,/ *初始化模型的1 0);
/ *模型阶跃函数* /空白GlobalReuse_step (void){/ *金额:< Root > /笔的结合:*延迟:< Root > /延迟的*尺寸:“< Root > / In1”* / rtDW。Delay_DSTATE + = rtU.In1;/ *输出港:“< Root > /着干活”包含:*延迟:< Root > /延迟的* /而无。着干活= rtDW.Delay_DSTATE;}

生成的代码包含一个数据拷贝到全局变量rtDW.Delay_DSTATE。开放的静态代码度量报告。读和写的总数为全局变量是8。总大小为32字节。

生成代码的优化

在配置参数对话框中,选择重用全球块输出并点击应用。或者,您可以以编程方式设置该参数:

set_param(模型,“GlobalBufferReuse”,“上”);

生成的代码。

slbuild(模型);
# # #开始构建过程:GlobalReuse # # #成功完成构建过程:GlobalReuse模型建立目标:总结构建模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = GlobalReuse代码生成和编译。生成的代码是过时了。1 1模型的建立(0模型已经更新)构建持续时间:0 h 0米15.362秒

查看生成的代码的优化。这是一部分GlobalReuse.c

用= fullfile (“GlobalReuse_ert_rtw”,“GlobalReuse.c”);rtwdemodbtype(用“/ *模型步骤”,/ *初始化模型的1 0);
/ *模型阶跃函数* /空白GlobalReuse_step (void){/ *金额:< Root > /笔的结合:*延迟:< Root > /延迟的*尺寸:“< Root > / In1”* /而无。着干活+ = rtU.In1;}

代码生成器消除了数据复制,减少两个语句来声明全局变量和三两个全局变量。

开放的静态代码度量报告。为全局变量,这种优化降低了读和写的总数从8 - 5和全局变量的总大小32个字节到24字节。

bdclose rtwdemoclean(模型);

另请参阅

相关的话题