В этом разделе описывается, как настроить пользовательский целевой процессор для поддержки управления уровнем оптимизации компилятора. Без описанных модификаций вы не можете использовать Compiler optimization level параметра конфигурации модели для управления уровнем оптимизации компилятора для создания сгенерированного кода. Для получения дополнительной информации об управлении уровнем оптимизации компилятора смотрите Уровень оптимизации компилятора.
Требования к поддержке управления уровнем оптимизации компилятора следующие:
Цель должна быть получена из цели GRT или цели ERT.
Системный целевой файл должен объявить податливость управления уровня оптимизации компилятора, как описано в Податливость управления уровнем оптимизации компилятора.
Целевой make-файл должен соответствовать настройке для параметр конфигурации <reservedrangesplaceholder0> модели, как описано в разделе «Обеспечение поддержки уровня оптимизации компилятора» в целевом make-файле.
Пример, в котором показано, как сконфигурировать пользовательские целевые дополнительные функции, см. в разделе Настройка системных целевых файлов.
Чтобы объявить податливость уровня управления оптимизации компилятора для вашего целевого объекта, вы должны реализовать функцию обратного вызова, которая устанавливает CompOptLevelCompliant
флаг, а затем установите функцию обратного вызова в SelectCallback
поле rtwgensettings
структура в целевом файле системы. Функция обратного вызова запускается каждый раз, когда пользователь выбирает цель в System Target File Browser. Например, следующий системный код целевого файла устанавливает SelectCallback
функция с именем custom_select_callback_handler
:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы в адрес SelectCallback
функция (hDlg
, hSrc
) являются указателями на частные данные, используемые функциями API коллбэка. Эти указатели ограничены для использования в функциях обратного вызова системного целевого файла. Они должны быть переданы без переделок.
Ваша функция обратного вызова должна задать CompOptLevelCompliant
отметьте следующим образом:
slConfigUISetVal(hDlg,hSrc,'CompOptLevelCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'CompOptLevelCompliant',false); hSrc.refreshDialog;
Для получения дополнительной информации о системном API коллбэка целевого файла, смотрите slConfigUIGetVal
, slConfigUISetEnabled
, и slConfigUISetVal
function страниц с описанием.
Когда CompOptLevelCompliant
целевому параметру конфигурации задано значение on
параметр Compiler optimization level отображается в панели Code Generation диалогового окна Параметры конфигурации (Configuration Parameters) для вашей модели.
Как часть поддержки управления уровнем оптимизации компилятора для вашего целевого объекта, вы должны изменить целевой make-файл, чтобы выполнить настройку для параметр конфигурации <reservedrangesplaceholder0> модели. Используйте цель GRT или ERT, предоставленную MathWorks, в качестве модели для внесения изменений.