Процесс сборки модели для моих моделей Simscape™ Multibody™ медленный и использует неожиданное количество памяти.
QNX по умолчанию® Нейтрино® компиляторные переключатели для Simulink® Real-Time™ применяйте оптимизации, которая приводит к длительным временам сборки или медленным сборкам для некоторых сложных моделей, таких как модели Simscape Multibody.
Чтобы улучшить скорость сборки приложения реального времени, измените выбор коммутатора компилятора с выборок по умолчанию, добавив -fdisable-rtl-sched2
коммутатор для компилятора C/C + +:
Откройте модель Simulink Real-Time.
В редакторе Simulink Editor на вкладке Real-Time выберите Hardware Settings.
Выберите Code Generation > Build configuration > Specify
Щелкните опции C Compiler и добавьте опцию -fdisable-rtl-sched2
.
Щелкните опции C++ Compiler и добавьте опцию -fdisable-rtl-sched2
.
Нажмите Apply и OK.
После обновления параметров компилятора опции появляются как показано.
Если вы предпочитаете использовать программный подход для обновления этих коммутаторов компилятора, можно использовать этот код.
% 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);