Процесс сборки модели для моих моделей Simscape™ Multibody™ является медленным и использует неожиданный объем памяти.
QNX по умолчанию® Нейтрино® компилятор переключается для Simulink® Real-Time™ применяет оптимизацию, которая приводит к долгим временам сборки или медленным сборкам для некоторых сложных моделей, таких как модели Simscape Multibody.
Чтобы улучшить скорость сборки приложения реального времени, измените выборы переключателя компилятора от выборов по умолчанию путем добавления -fdisable-rtl-sched2
переключитесь для компилятора C/C++:
Откройте свою модель Simulink Real-Time.
В Редакторе Simulink, от вкладки 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);