主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

减少信号的内存使用量

配置参数信号存储重用通过启用重用为具有 auto 存储类的信号分配的内存的参数来减少实时程序的内存需求。这些参数如下:

  • 启用局部模块输出

  • 重用局部模块输出

  • 重用全局模块输出

  • 优化全局数据访问

启用局部模块输出参数打开时,代码生成器会尽可能将模块输出声明为局部变量而不是全局变量。用局部变量代替全局变量可以提高执行速度并减少 RAM/ROM 消耗。创建更多的局部变量可以增加堆栈的使用率。代码生成器可以本地化的一些全局变量包括:

  • 跨越子系统边界的全局信号

  • 跨 Simulink 和 Stateflow 域的全局信号

  • 未使用的全局状态变量

  • 冗余本地 Data Store Memory 模块信号

重用局部模块输出参数打开时,代码生成器会尽可能重用局部(函数)变量作为模块输出。当您选择重用全局模块输出时,代码生成器会尽可能重用全局(函数)变量。

优化全局数据访问参数具有以下设置:

  • None

  • Use global to hold temporary results

  • Minimize global data access

当您选择 None 时,代码生成器将使用默认优化。设置 Use global to hold temporary results 最大限度地利用全局变量。设置 Minimize global data access 通过使用局部变量来保存中间值,最大限度地减少了全局变量的使用。

清除信号存储重用会使所有模块输出变得全局且唯一,这通常会显著增加 RAM 和 ROM 的使用率。

代码生成器不会为 MATLAB 系统对象或 AUTOSAR 本地化全局变量。

另请参阅

主题