Поддержите контроль уровня компиляторной оптимизации

В этом разделе описывается сконфигурировать пользовательский целевой процессор, чтобы поддержать контроль уровня компиляторной оптимизации. Без описанных модификаций вы не можете использовать Configuration Parameters> Code Generation> Build process> параметр Compiler optimization level, чтобы управлять уровнем компиляторной оптимизации для создания сгенерированного кода. Для получения дополнительной информации о контроле уровня компиляторной оптимизации, смотрите уровень Компиляторной оптимизации (Simulink Coder).

О контроле уровня компиляторной оптимизации и пользовательских целях

Требования для поддержки контроля уровня компиляторной оптимизации следующие:

Для примера, который показывает, как сконфигурировать пользовательские целевые дополнительные функции, смотрите, Настраивают Системные Конечные файлы (Simulink Coder).

Объявление соответствия контроля уровня компиляторной оптимизации

Чтобы объявить соответствие контроля уровня компиляторной оптимизации для вашей цели, необходимо реализовать функцию обратного вызова, которая устанавливает флаг CompOptLevelCompliant, и затем установите функцию обратного вызова в поле SelectCallback структуры rtwgensettings в STF. Функция обратного вызова инициирована каждый раз, когда пользователь выбирает цель в Системном Браузере Конечного файла. Например, следующий код STF устанавливает функцию с именем SelectCallback custom_select_callback_handler:

rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';

Аргументы к функции SelectCallback (hDlg, hSrc) являются указателями на частные данные, используемые API-функциями коллбэка. Эти указатели ограничиваются, чтобы использовать в функциях обратного вызова STF. Они должны быть переданы в без изменения.

Ваша функция обратного вызова должна установить флаг CompOptLevelCompliant можно следующим образом:

slConfigUISetVal(hDlg,hSrc,'CompOptLevelCompliant','on');
slConfigUISetEnabled(hDlg,hSrc,'CompOptLevelCompliant',false);

Для получения дополнительной информации о API коллбэка STF, смотрите slConfigUIGetVal, slConfigUISetEnabled и страницы ссылки на функцию slConfigUISetVal.

Когда целевой параметр конфигурации CompOptLevelCompliant установлен в on, параметр Compiler optimization level отображен в панели Code Generation диалогового окна Configuration Parameters для вашей модели.

Оказание поддержки контроля уровня компиляторной оптимизации в целевом make-файле

Как часть поддержки контроля уровня компиляторной оптимизации для вашей цели, необходимо изменить целевой make-файл, чтобы соблюдать установку для Compiler optimization level. Используйте GRT или цель ERT, обеспеченную MathWorks как модель для того, чтобы сделать модификации.

Похожие темы