exponenta event banner

Сокращение использования памяти для сигналов

Параметр конфигурации Повторное использование памяти сигналов уменьшает требования к памяти программы в реальном времени за счет включения параметров, которые повторно используют память, выделенную для сигналов с помощью auto класс хранения. Ниже приведены следующие параметры:

  • Включить локальные блочные выходы

  • Повторное использование выходных данных локальных блоков

  • Повторное использование глобальных блочных выходов

  • Оптимизация глобального доступа к данным

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

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

  • Глобальные сигналы в доменах Simulink и Stateflow

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

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

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

Параметр Оптимизировать глобальный доступ к данным имеет следующие настройки:

  • None

  • Use global to hold temporary results

  • Minimize global data access

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

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

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

Связанные темы