В этом разделе описывается сконфигурировать пользовательский целевой процессор, чтобы поддержать контроль уровня компиляторной оптимизации. Без описанных модификаций вы не можете использовать параметр конфигурации модели Compiler optimization level, чтобы управлять уровнем компиляторной оптимизации для создания сгенерированного кода. Для получения дополнительной информации о контроле уровня компиляторной оптимизации, смотрите уровень Компиляторной оптимизации (Simulink Coder).
Требования для поддержки контроля уровня компиляторной оптимизации следующие:
Цель должна быть выведена из цели GRT или цели ERT.
Системный конечный файл должен объявить податливость контроля уровня компиляторной оптимизации, как описано в Объявлении Податливости Контроля уровня Компиляторной оптимизации.
Целевой make-файл должен соблюдать установку для параметра конфигурации модели Compiler optimization level, как описано в Оказании Поддержки Контроля уровня Компиляторной оптимизации в Целевом Make-файле.
Для примера, который показывает, как сконфигурировать пользовательские целевые дополнительные функции, смотрите, Настраивают Системные Конечные файлы (Simulink Coder).
Чтобы объявить податливость контроля уровня компиляторной оптимизации для вашей цели, необходимо реализовать функцию обратного вызова, которая устанавливает CompOptLevelCompliant
отметьте, и затем установите функцию обратного вызова в SelectCallback
поле rtwgensettings
структура в вашем системном конечном файле. Функция обратного вызова инициирована каждый раз, когда пользователь выбирает цель в Системном Браузере Конечного файла. Например, следующий системный код конечного файла устанавливает 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);
Для получения дополнительной информации о системном API коллбэка конечного файла, смотрите slConfigUIGetVal
, slConfigUISetEnabled
, и slConfigUISetVal
страницы ссылки на функцию.
Когда CompOptLevelCompliant
целевой параметр конфигурации установлен в on
, параметр Compiler optimization level отображен в панели Code Generation диалогового окна Configuration Parameters для вашей модели.
Как часть поддержки контроля уровня компиляторной оптимизации для вашей цели, необходимо изменить целевой make-файл, чтобы соблюдать установку для параметра конфигурации модели Compiler optimization level. Используйте GRT или цель ERT, обеспеченную MathWorks как модель для того, чтобы сделать модификации.