Если пользовательский целевой процессор должен поддерживать параллельное выполнение нескольких задач на многоядерной платформе, целевой объект должен объявить поддержку для параллельного выполнения путем установки целевой опции строения 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'можно выбрать пользовательский целевой объект и сконфигурировать многоядерную целевую модель для параллельного выполнения.
Пример, в котором показано, как сконфигурировать пользовательские целевые дополнительные функции, см. в разделе Настройка системных целевых файлов.