Сгенерируйте сигналы блока модели (блок ввода-вывода) и дискретные состояния (DWork), действующие с той же скоростью в одну и ту же структуру данных. В зависимости от того, сколько скоростей у модели, эти структуры содержат префиксы FuncInternalData0
, FunctionInternalData1
и так далее.
Category: Генерация кода > Интерфейс
По умолчанию: off
Сохраните данные глобального блочного сигнала (блок ввода-вывода) и данные о глобальном состоянии (векторы DWork), работающие с одной скоростью в одной структуре данных в сгенерированном коде.
Не храните данные глобального блочного сигнала (блок ввода-вывода) и данные о глобальном состоянии (векторы DWork), работающие с одной скоростью в одной структуре данных в сгенерированном коде
Установка этого параметра на On
повышает эффективность кэша при развертывании модели в многоядерном аппаратном окружении, удовлетворяющей следующим требованиям:
Модель имеет несколько скоростей и имеет Treat each discrete rate as a separate task, набор параметров для on
.
Модель содержит несколько экспортированных функций, которые выполняются с различными скоростями.
Предыдущие модели имеют отдельные функции точки входа, которые могут вызываться различными ядрами. Ядро имеет свой кэш данных. Размещение данных для одной функции точки входа в одних и тех же фундаментальных выражениях повышает эффективность выполнения, поскольку обращения к кэшу являются непрерывными, а не распределяются по нескольким ядрам.
Для модели, которая генерирует этот код:
/* Block signals and states (default storage) for system '<Root>' */ typedef struct { real_T RTBS2F; /* '<Root>/RTBS2F' */ real_T UDS; /* '<Root>/UDS' */ real_T Sum3; /* '<Root>/Sum3' */ real_T Sum1; /* '<Root>/Sum1' */ real_T UDF_DSTATE; /* '<Root>/UDF' */ real_T UDS_DSTATE; /* '<Root>/UDS' */ real_T RTBS2F_Buffer0; /* '<Root>/RTBS2F' */ real_T MIXEDDSM; /* '<Root>/DSMM' */ real_T SLOWDSM; /* '<Root>/DSMS' */ } DW_demo1_T;
Если вы выбираете Generate separate internal data per entry-point function, сгенерированный код теперь выглядит как этот код:
/* Block signals and states (default storage) for system '<Root>' */ typedef struct { real_T RTBS2F_Buffer0; /* '<Root>/RTBS2F' */ real_T MIXEDDSM; /* '<Root>/DSMM' */ } DW_demo1_T; /* Internal Data Grouped For Same Function, for system '<Root>' */ typedef struct { real_T RTBS2F; /* '<Root>/RTBS2F' */ real_T Sum3; /* '<Root>/Sum3' */ real_T UDF_DSTATE; /* '<Root>/UDF' */ } FuncInternalData0_demo1_T; /* Internal Data Grouped For Same Function, for system '<Root>' */ typedef struct { real_T UDS; /* '<Root>/UDS' */ real_T Sum1; /* '<Root>/Sum1' */ real_T UDS_DSTATE; /* '<Root>/UDS' */ real_T SLOWDSM; /* '<Root>/DSMS' */ } FuncInternalData1_demo1_T;
Этот параметр требует Embedded Coder® лицензия при генерации кода.
Этот параметр активируется путем выбора параметра Combine signal/state structures.
Параметр:
GroupInternalDataByFunction |
Тип: Вектор символов |
Значение:
'on' | 'off' |
По умолчанию:
'off'
|
Приложение | Настройка |
---|---|
Отладка | Никакого влияния |
Трассируемость | Никакого влияния |
Эффективность | На |
Меры безопасности | Никакого влияния |