Поддержите параллельное выполнение нескольких задач

Если пользовательский целевой процессор должен поддержать параллельное выполнение нескольких задач на многожильной платформе, цель должна объявить поддержку параллельного выполнения путем установки целевого параметра конфигурации ConcurrentExecutionCompliant. В противном случае вы не сможете сконфигурировать многожильную целевую модель для параллельного выполнения.

Если ConcurrentExecutionCompliant уже не сконфигурирован для вашей пользовательской цели, можно установить опцию следующими способами:

  • Включайте следующий код непосредственно в ваш системный конечный файл (mytarget.tlc):

    rtwgensettings.SelectCallback = 'slConfigUISetVal(hDlg,hSrc,...
         ''ConcurrentExecutionCompliant'',''on'');';
    rtwgensettings.ActivateCallback = 'slConfigUISetVal(hDlg,hSrc,...
         ''ConcurrentExecutionCompliant'',''on'');';
  • Реализуйте функцию обратного вызова, которая устанавливает ConcurrentExecutionCompliant опция, и затем устанавливает функцию обратного вызова в SelectCallback поле rtwgensettings структура в вашем системном конечном файле. Функция обратного вызова инициирована каждый раз, когда пользователь выбирает цель в Системном Браузере Конечного файла. Например, следующий системный код конечного файла устанавливает 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);

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

Когда ConcurrentExecutionCompliant целевой параметр конфигурации установлен в 'on', можно выбрать пользовательскую цель и сконфигурировать многожильную целевую модель для параллельного выполнения.

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

Похожие темы