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

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

  • Enable local block outputs

  • Reuse local block outputs

  • Reuse global block outputs

  • Optimize global data access

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

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

  • Глобальные сигналы через 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 делает весь блок выходной глобальной переменной и уникальный, который часто значительно увеличивает использование ROM и RAM.

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

Похожие темы