В этом разделе описывается, как сконфигурировать пользовательский целевой процессор для поддержки управления прототипом функции. Без описанных изменений вы не сможете использовать доступные интерфейсы для настройки интерфейсов функций точки входа. Для получения дополнительной информации смотрите Сконфигурируйте генерацию кода C для функций точки входа модели.
Требования к поддержке управления прототипом функции C следующие:
Системный целевой файл должен быть получен из системного целевого файла ERT.
Системный целевой файл должен объявить податливость управления прототипом функции C, как описано в разделе «Объявление Податливости управления прототипом функции C».
Если ваш системный целевой файл использует пользовательскую статическую основную программу, и если строение управления прототипом функции nondefault связано с моделью, статическая основная программа должна вызвать функцию, управляемую инициализацией и пошаговыми функциями, как описано в Поддержку Обеспечения прототипа функции C в Пользовательской статической основной программе.
Пример, в котором показано, как сконфигурировать пользовательские целевые дополнительные функции, см. в разделе Настройка системных целевых файлов.
Чтобы объявить податливость прототипа функции C контролю для вашей цели, вы должны реализовать функцию обратного вызова, которая устанавливает ModelStepFunctionPrototypeControlCompliant
флаг, а затем установите функцию обратного вызова в SelectCallback
поле rtwgensettings
структура в целевом файле системы. Функция обратного вызова запускается каждый раз, когда пользователь выбирает цель в System Target File Browser. Например, следующий системный код целевого файла устанавливает SelectCallback
функция с именем custom_select_callback_handler
:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы в адрес SelectCallback
функция (hDlg
, hSrc
) являются указателями на частные данные, используемые функциями API коллбэка. Эти указатели ограничены для использования в функциях обратного вызова системного целевого файла. Они должны быть переданы без переделок.
Ваша функция обратного вызова должна задать ModelStepFunctionPrototypeControlCompliant
отметьте следующим образом:
slConfigUISetVal(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ModelStepFunctionPrototypeControlCompliant',false); hSrc.refreshDialog;
Для получения дополнительной информации о системном API коллбэка целевого файла, смотрите slConfigUIGetVal
, slConfigUISetEnabled
, и slConfigUISetVal
function страниц с описанием.
Когда ModelStepFunctionPrototypeControlCompliant
целевому параметру конфигурации задано значение on
можно использовать диалоговое окно Configure C Step Function Interface, чтобы управлять прототипом функции ступенчатой функции базовой скорости, сгенерированной для модели на основе скорости.
Если ваш целевой объект использует пользовательскую статическую основную программу, и если строение управления прототипом функции nondefault связано с моделью, вы должны обновить статическую основную программу, чтобы вызвать управляемую инициализацию и шаговые функции прототипа функции. Это можно сделать любым из следующих способов:
Вручную адаптируйте свою статическую основную программу, чтобы объявить данные модели и вызвать функции управляемой инициализации и шага прототипа функции.
Сгенерируйте свою основную программу, выбрав Generate an example main program параметра конфигурации модели. Сгенерированная основная программа объявляет данные модели и вызывает функцию управляемой инициализации и шага прототипа функции.