Использование памяти

Уменьшайте RAM, ROM и стековое пространство, используемое сгенерированным кодом

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

Генератор кода уменьшает потребление ROM путем объединения построений потока управления, удаления путей к мертвому коду и кода для блоков, которые не оказывают влияние на результаты расчетов. Можно далее уменьшать потребление ROM путем удаления кода, что вы не можете нуждаться, такие как код инициализации, сброс и отключить функции и защитный код.

Темы

Задайте переменные локально или глобально

Настройте выделение стекового пространства

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

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

Включите параметры, которые предусматривают возможность снова использовать память, выделенную для сигналов.

Включите и повторное использование локальный блок Выходные параметры в сгенерированном коде

Где возможно, генератор кода объявляет, блокируют выходные параметры как локальные переменные, так, чтобы он мог потенциально снова использовать эти переменные.

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

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

Оптимизируйте использование глобальной переменной

Выберите оптимизацию ссылки глобальной переменной, чтобы удовлетворить вашим требованиям к скорости использования памяти и выполнения.

Оптимизируйте сгенерированный код путем передачи допускающей повторное использование подсистемы Выходные параметры в качестве отдельных аргументов

Генератор кода устраняет копии данных с локальных переменных назад к глобальным структурам блока I/O путем передачи допускающей повторное использование подсистемы выходные параметры в качестве отдельных аргументов вместо как указатель на структуру, сохраненную в глобальной памяти.

Уменьшайте глобальные переменные в функциях подсистемы одноразового использования

Чтобы уменьшать глобальный RAM для подсистемы одноразового использования, сгенерируйте функциональный интерфейс, который передает данные через аргументы вместо глобальных переменных.

Уменьшайте размер кода

Удалите нулевой код инициализации

Управляйте, инициализировать ли внутренние данные (состояния блоков и блокировать выходные параметры) и внешние данные (корневой импорт и выходные порты, значение которых является нулем) в сгенерированном коде.

Удалите сброс и отключите функции от сгенерированного кода

Удалите недостижимый (невыполняемый код) экземпляры сброса и отключите функции от сгенерированного кода для основанных на ERT систем, которые включают модель, ссылающуюся на иерархии.

Встройте инвариантные сигналы

Используйте численные значения инвариантных сигналов вместо их символьных имен в сгенерированном коде.

Встроенные числовые значения параметров блоков

Уменьшайте глобальное Использование оперативной памяти путем встраивания литеральных числовых значений параметров блоков.

Оптимизируйте сгенерированный код путем консолидации избыточный если еще операторы

Генератор кода оптимизирует сгенерированный код путем объединения if-else операторы, которые совместно используют то же условие.

Устраните пути к мертвому коду в сгенерированном коде

Генератор кода устраняет мертвый (то есть, неиспользованный) пути выполнения кода от сгенерированного кода.

Удалите код для блоков, которые не оказывают влияния на результаты расчетов

Генератор кода увеличивает скорость выполнения и уменьшает потребление ROM путем удаления кода, который не влияет на результаты расчетов.

Оптимизируйте сгенерированный код объединением нескольких конструкций

Генератор кода использует анализ зависимости по данным, чтобы объединить for построения, чтобы уменьшать статический размер кода и ответвление во время выполнения.

Уменьшайте память для того, чтобы хранить данные

Буферы повторного использования различных размеров и размерностей

Повторное использование буферизует для матриц, которые имеют различные размеры и формы.

Уменьшайте использование памяти для булевых и переменных настройки состояния

Уменьшайте объем памяти, который хранит переменные настройки состояния и Boolean переменные.

Оптимизируйте использование памяти для счетчиков времени

Оптимизируйте память, которую генератор кода выделяет в течение прошедшего времени или абсолютного времени.

Оптимизируйте сгенерированный код Используя булевы данные для логических сигналов

Генератор кода оптимизирует сгенерированный код путем хранения логических сигналов как Boolean типы данных.

Оптимизируйте сгенерированный код путем упаковки булевых данных в битовые поля

Генератор кода уменьшает потребление RAM путем упаковки булевых данных в 1-битные битовые поля.

Векторная оптимизация операции

Генератор кода уменьшает стековую память, заменяя временные локальные массивы на локальные переменные.

Задайте тип данных с одинарной точностью для встраиваемого приложения

Сгенерируйте код, чьи типы данных с плавающей точкой являются только одинарной точностью, например, для предназначения для процессора с одинарной точностью.

Сгенерируйте эффективный код путем определения типов данных для параметров блоков

Чтобы сгенерировать более эффективный код, совпадайте с типами данных параметров типам данных сигнала или сохраните параметры в меньших типах данных.

Управляйте типом оператора в сгенерированном коде

Сгенерируйте код с Логическими или Побитовыми операторами или комбинацией обоих операторов.