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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы