exponenta event banner

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

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

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

Генератор кода уменьшает потребление ПЗУ, комбинируя конструкции потока управления, удаляя мертвые пути кода и код для блоков, которые не оказывают влияния на результаты вычислений. Кроме того, можно уменьшить потребление ПЗУ, удалив код, который может не понадобиться, например, код инициализации, функции сброса и отключения и защитный код.

Темы

Определение переменных локально или глобально

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

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

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

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

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

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

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

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

Оптимизация использования глобальных переменных

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оптимизация сгенерированного кода путем консолидации избыточных операторов if-Else

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

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

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

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

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

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

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

Сокращение объема памяти для хранения данных

Повторное использование буферов различных размеров и размеров

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

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

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

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

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

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

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

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

Генератор кода уменьшает потребление ОЗУ, упаковывая логические данные в 1-битовые битовые поля.

Оптимизация векторной операции

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

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

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

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

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

Тип управляющего оператора в сгенерированном коде

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