exponenta event banner

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

Процесс построения модели для моих Simscape™ Multibody™ моделей медленный и использует неожиданный объем памяти.

Что означает этот вопрос

Параметры компилятора QNX ® Neutrino ® по умолчанию для Simulink ® Real-Time™ применять оптимизации, которые приводят к длительному времени сборки или медленным построениям для некоторых сложных моделей, таких как модели Simscape Multibody.

Попробуйте этот обходной путь

Чтобы повысить скорость построения приложения в реальном времени, измените выбор переключателя компилятора с выбора по умолчанию, добавив -fdisable-rtl-sched2 переключатель для компилятора C/C + +:

  1. Откройте модель Simulink в реальном времени.

  2. В редакторе Simulink на вкладке Real-Time выберите Hardware Settings.

  3. Выберите «Создание кода» > «Конфигурация построения» > «Указать»

  4. Щелкните параметры компилятора C и добавьте параметр -fdisable-rtl-sched2.

  5. Щелкните параметры компилятора C++ и добавьте параметр -fdisable-rtl-sched2.

  6. Нажмите «Применить» и «ОК».

После обновления параметров компилятора эти параметры отображаются, как показано на рисунке.

Image of updated C Compiler and C++ Compiler options

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

% add a compiler flag '-fdisable-rtl-sched2'

set_param(modelName, 'BuildConfiguration', 'Specify');
options = get_param(modelName, 'CustomToolchainOptions');
ccompiler_idx = find(strcmp(options, 'C Compiler'));
cppcompiler_idx = find(strcmp(options, 'C++ Compiler'));
options{ccompiler_idx+1} = ...
    [options{ccompiler_idx+1} ' -fdisable-rtl-sched2'];
options{cppcompiler_idx+1} = ...
    [options{cppcompiler_idx+1} ' -fdisable-rtl-sched2'];
set_param(modelName, 'CustomToolchainOptions', options);

Внешние веб-сайты