Параметр конфигурации <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.