Если вы хотите проверять свой код S-функции на ошибки или ошибки, можно запустить Polyspace® непосредственно от Блока s-function в Simulink®.
Прежде чем вы запустите Polyspace от MATLAB®, необходимо соединить Polyspace и установки MATLAB. Смотрите Интегрируют Polyspace с MATLAB и Simulink.
Чтобы проверить S-функцию с Polyspace, следуйте за этим рекомендуемым рабочим процессом:
Скомпилируйте свою S-функцию, чтобы быть совместимыми с Polyspace.
Выберите свои опции Polyspace.
Запустите верификацию Polyspace Code Prover™ с помощью одного из двух аналитических режимов:
This Occurrence — Анализирует заданное вхождение S-функции с входом для того блока.
All Occurrences — Анализирует код S-функции с входными значениями от каждого вхождения S-функции.
Рассмотрите результаты в интерфейсе Polyspace.
Для получения информации о навигации через ваши результаты смотрите Результаты Фильтра и Группы.
Для рассмотрения справки и понимания результатов, смотрите Результаты Polyspace Code Prover.
Прежде чем вы будете анализировать свою S-функцию с Polyspace Code Prover , необходимо скомпилировать S-функцию с одним из следующих инструментов:
Legacy Code Tool с набором def.Options.supportCoverageAndDesignVerifier
к true
. Смотрите legacy_code
.
Блок SFunctionBuilder, с Enable support for Design Verifier, выбранным на вкладке Build Info диалогового окна SFunctionBuilder.
Функция Simulink Coverage™ slcovmex
, с опцией -sldv
.
Этот пример показывает рабочий процесс для анализа S-функций с Polyspace. Вы используете модель psdemo_model_link_sl
и S-функцию Command_Strategy
.
Откройте модель и используйте Legacy Code Tool, чтобы скомпилировать S-функцию Command_Strategy
.
% Open Model psdemo_model_link_sl % Compile S-Function Command_Strategy def = legacy_code('initialize'); def.SourceFiles = { 'command_strategy_file.c' }; def.HeaderFiles = { 'command_strategy_file.h' }; def.SFunctionName = 'Command_Strategy'; def.OutputFcnSpec = 'int16 y1 = command_strategy(uint16 u1, uint16 u2)'; def.IncPaths = { fullfile(polyspaceroot, ... 'toolbox','polyspace','pslink','pslinkdemos','psdemo_model_link_sl') }; def.SrcPaths = def.IncPaths; def.Options.supportCoverageAndDesignVerifier = true; legacy_code('compile',def);
Откройте подсистему psdemo_model_link_sl/controller
.
Щелкните правой кнопкой по Блоку s-function Command_Strategy и выберите Polyspace> Options.
В диалоговом окне Configuration Parameters убедитесь, что следующие параметры устанавливаются:
Product mode — Code Prover
Settings from — Project configuration and MISRA C 2012 checking
Open results automatically after verification — На
Примените свои настройки и закройте Параметры конфигурации.
Щелкните правой кнопкой по блоку Command_Strategy и выберите Polyspace> Verify S-Function> This Occurrence.
Следуйте за анализом в Окне Команды MATLAB. Когда анализ закончен, ваши результаты, открытые в интерфейсе Polyspace.