Уменьшите использование памяти для сигналов

Параметр конфигурации <reservedrangesplaceholder1> уменьшает требования к памяти вашей программы в реальном времени, позволяя параметрам, которые повторно используют память, выделенную для сигналов с auto класс памяти. Эти параметры следующие:

  • Enable local block outputs

  • Reuse local block outputs

  • Reuse global block outputs

  • Optimize global data access

Когда параметр Enable local block outputs включен, где это возможно, генератор кода объявляет выходы блоков локальными переменными вместо глобальных переменных. Замена глобальных переменных локальными переменными улучшает скорость выполнения и уменьшает потребление ОЗУ/ПЗУ. Создание большего количества локальных переменных может увеличить использование стека. Некоторые глобальные переменные, которые генератор кода может локализовать, включают:

  • Глобальные сигналы, которые пересекают контуры подсистемы

  • Глобальные сигналы через области Simulink и Stateflow

  • Неиспользованные переменные глобального состояния

  • Избыточные блоки памяти локального хранилища данных

Когда параметр Reuse local block outputs включен, по возможности генератор кода повторно использует локальные (функциональные) переменные для выходов блоков. Когда вы выбираете Reuse global block outputs, генератор кода повторно использует глобальные (функциональные) переменные, где это возможно.

Параметр Optimize global data access имеет следующие настройки:

  • None

  • Use global to hold temporary results

  • Minimize global data access

Когда вы выбираете NoneГенератор кода использует оптимизацию по умолчанию. Настройка Use global to hold temporary results максимизирует использование глобальных переменных. Настройка Minimize global data access минимизирует использование глобальных переменных при помощи локальных переменных для хранения промежуточных значений.

Очистка Signal storage reuse делает все выходы блоков глобальными и уникальными, что часто значительно увеличивает использование ОЗУ и ПЗУ.

Генератор кода не локализует глобальные переменные для системных объектов MATLAB или AUTOSAR.

Похожие темы