Если пользовательский целевой процессор должен поддерживать параллельное выполнение нескольких задач на многоядерной платформе, целевой объект должен объявить поддержку для параллельного выполнения путем установки целевой опции строения ConcurrentExecutionCompliant
. В противном случае вы не сможете сконфигурировать многоядерную целевую модель для параллельного выполнения.
Если ConcurrentExecutionCompliant
не настроен для вашего пользовательского целевого объекта, можно задать опцию следующими способами:
Включите следующий код непосредственно в целевой системный файл (
):mytarget
.tlc
rtwgensettings.SelectCallback = 'slConfigUISetVal(hDlg,hSrc,... ''ConcurrentExecutionCompliant'',''on'');'; rtwgensettings.ActivateCallback = 'slConfigUISetVal(hDlg,hSrc,... ''ConcurrentExecutionCompliant'',''on'');';
Реализуйте функцию обратного вызова, которая устанавливает ConcurrentExecutionCompliant
опция, а затем установите функцию обратного вызова в SelectCallback
поле rtwgensettings
структура в целевом файле системы. Функция обратного вызова запускается каждый раз, когда пользователь выбирает цель в System Target File Browser. Например, следующий системный код целевого файла устанавливает SelectCallback
функция с именем custom_select_callback_handler
:
rtwgensettings.SelectCallback = 'custom_select_callback_handler(hDlg,hSrc)';
Аргументы в адрес SelectCallback
функция (hDlg
, hSrc
) являются указателями на частные данные, используемые функциями API коллбэка. Эти указатели ограничены для использования в функциях обратного вызова системного целевого файла. Они должны быть переданы без переделок.
Ваша функция обратного вызова должна задать ConcurrentExecutionCompliant
опция следующим образом:
slConfigUISetVal(hDlg,hSrc,'ConcurrentExecutionCompliant','on'); slConfigUISetEnabled(hDlg,hSrc,'ConcurrentExecutionCompliant',false); hSrc.refreshDialog;
Для получения дополнительной информации о системном API коллбэка целевого файла, смотрите slConfigUIGetVal
, slConfigUISetEnabled
, и slConfigUISetVal
function страниц с описанием.
Когда ConcurrentExecutionCompliant
для целевой опции строения задано значение 'on'
можно выбрать пользовательский целевой объект и сконфигурировать многоядерную целевую модель для параллельного выполнения.
Пример, в котором показано, как сконфигурировать пользовательские целевые дополнительные функции, см. в разделе Настройка системных целевых файлов.