Анализ кода C/C + +, созданного R2020b или более новыми версиями встроенного кодера, с использованием другой версии Polyspace, более поздней, чем версия Simulink
[ выполняет анализ Polyspace ® кода, созданного изpolyspaceFolder, resultsFolder] = pslinkrunCrossRelease(ModelOrSubsystem)ModelOrSubsystem используя Embedded Coder ® из более ранней версии Simulink ®.
[ выполняет анализ Polyspace кода, созданного из polyspaceFolder, resultsFolder] = pslinkrunCrossRelease(ModelOrSubsystem,psOpt)ModelOrSubsystem через более ранний выпуск Simulink. В анализе используются опции конфигурации модели, указанные в pslinkoptions объект psOpt.
[ выполняет анализ Polyspace кода, созданного как ссылка на модель из polyspaceFolder, resultsFolder] = pslinkrunCrossRelease(ModelOrSubsystem,psOpt,asModelRef)ModelOrSubsystem через более ранний выпуск Simulink.The анализ использует asModelRef указать тип создаваемого кода для анализа - автономный код или ссылочный код модели.
[ выполняет анализ Polyspace кода, созданного из polyspaceFolder, resultsFolder] = pslinkrunCrossRelease(ModelOrSubsystem,psOpt,asModelRef,OptionsFile)ModelOrSubsystem через более ранний выпуск Simulink. В анализе используются опции анализа Polyspace, указанные в файле опций. OptionsFile.
Чтобы выполнить анализ Polyspace для кода, созданного с помощью более ранней версии Simulink, используйте функцию pslinkrunCrossRelease. В анализе используются опции конфигурации, связанные с ModelOrSubsystem. Выпуск Simulink должен быть R2020b или более поздней версии. Перед выполнением анализа необходимо интегрировать Polyspace с Simulink. См. раздел Интеграция Polyspace с MATLAB или Simulink Installation из более ранней версии.
Открытие модели Simulink rtwdemo_roll и сконфигурируйте модель для генерации кода.
% Load the model model = 'rtwdemo_roll'; load_system(model); % Configure the Solver configSet = getActiveConfigSet(model); set_param(configSet,'Solver','FixedStepDiscrete'); set_param(configSet, 'SystemTargetFile', 'ert.tlc');
Чтобы включить упаковку созданного кода в архив, установите параметр PackageGeneratedCodeAndArtifacts кому true.
set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true)
Создайте временные папки для создания кода и создайте код.
[TEMPDIR, CGDIR] = rtwdemodir(); slbuild(model);
Запустите анализ Polyspace.
% Run Polyspace analysis
[~,resultsFolder] = pslinkrunCrossRelease(model);
bdclose(model);
resultsFolder содержит полный путь к папке результатов.Чтобы выполнить анализ Polyspace с измененными конфигурациями модели, используйте pslinkoptions объект. Список конфигураций модели, связанных с анализом Polyspace, которые можно изменить, см. в таблице Параметры конфигурации Polyspace, поддерживаемые pslinkrunCrossRelease на этой странице. Перед выполнением анализа необходимо интегрировать Polyspace с Simulink. См. раздел Интеграция Polyspace с MATLAB или Simulink Installation из более ранней версии.
Открытие модели Simulink rtwdemo_roll и сконфигурируйте модель для генерации кода.
% Load the model model = 'rtwdemo_roll'; load_system(model); % Configure the Solver configSet = getActiveConfigSet(model); set_param(configSet,'Solver','FixedStepDiscrete'); set_param(configSet, 'SystemTargetFile', 'ert.tlc');
Чтобы включить упаковку созданного кода в архив, установите параметр PackageGeneratedCodeAndArtifacts кому true.
set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true)
Создайте временные папки для создания кода и создайте код.
[TEMPDIR, CGDIR] = rtwdemodir(); slbuild(model);
Чтобы задать конфигурации модели для анализа Polyspace, используйте pslinkoptions объект. Создать этот объект с помощью функции pslinkoptions. Чтобы выполнить анализ поиска ошибок, установите psOpt.VerificationMode кому 'BugFinder'. Чтобы задать диапазон, определенный в блоке на его входных переменных, укажите psOpts.InputRangeMode как 'DesignMinMax'.
% Create a Polyspace options object from the model. psOpts = pslinkoptions(model); % Set model configurtion for the Polyspace analysis. psOpts.VerificationMode = 'BugFinder'; psOpts.InputRangeMode = 'DesignMinMax';
Запустите анализ Polyspace. Чтобы задать конфигурацию модели для анализа Polyspace, задайте объект psOpt в качестве дополнительного второго аргумента в pslinkrunCrossRelease.
% Run Polyspace analysis
[~,resultsFolder] = pslinkrunCrossRelease(model,psOpt);
bdclose(model);
resultsFolder содержит полный путь к папке результатов.Чтобы ускорить моделирование модели, вызовите ссылочные модели Simulink в качестве целей моделирования. Чтобы создать цели моделирования привязки модели из модели Simulink, создайте код из ModelOrSubsystem с помощью slbuild с процессом построения, указанным как ModelReferenceCoderTargetOnly. Упакуйте созданный код с помощью packNGo (Встроенный кодер). Затем проанализируйте созданный код, выполнив перекрестный анализ Polyspace. Перед выполнением анализа необходимо интегрировать Polyspace с Simulink. См. раздел Интеграция Polyspace с MATLAB или Simulink Installation из более ранней версии.
Открытие модели Simulink rtwdemo_roll и сконфигурируйте модель для генерации кода.
% Load the model model = 'rtwdemo_roll'; load_system(model); % Configure the Solver configSet = getActiveConfigSet(model); set_param(configSet,'Solver','FixedStepDiscrete'); set_param(configSet, 'SystemTargetFile', 'ert.tlc'); set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true)
Создайте временные папки для создания кода и создайте код. Укажите опцию ModelReferenceCoderTargetOnly. Посмотрите slbuild (Симулинк).
[TEMPDIR, CGDIR] = rtwdemodir();
slbuild(model,'ModelReferenceCoderTargetOnly');slprjЧтобы упаковать код, созданный как ссылка на модель, используйте функцию packNGo. Найдите файл buildinfo.mat в и использовать полный путь к нему в качестве входных данных для <working folder>/slprj/ert/rtwdemo_counterpackNGo. Эта команда создает архив, содержащий созданный код и объект buildinfo.mat. Посмотрите packNGo (Встроенный кодер).
% Locate buildinfo and generate code archive buildinfo = fullfile(pwd,'slprj','ert',model,'buildinfo.mat'); packNGo(buildinfo)
Чтобы задать опции анализа Polyspace, используйте pslinkoptions объект. Создать этот объект с помощью функции pslinkoptions. Чтобы выполнить анализ поиска ошибок, установите psOpt.VerificationMode кому 'BugFinder'.
% Create a Polyspace options object from the model. psOpts = pslinkoptions(model); % Set properties that define the Polyspace analysis. psOpts.VerificationMode = 'BugFinder'; psOpts.InputRangeMode = 'DesignMinMax';
Запустите анализ Polyspace. Чтобы задать опции анализа Polyspace, задайте объект psOpt в качестве дополнительного второго аргумента в pslinkrunCrossRelease. Чтобы проанализировать код как ссылку на модель, задайте дополнительный третий аргумент asModelRef к true.
% Run Polyspace analysis
[~,resultsFolder] = pslinkrunCrossRelease(model,psOpt,true);
bdclose(model);
resultsFolder содержит полный путь к папке результатов. Открытие модели Simulink rtwdemo_roll и сконфигурируйте модель для генерации кода.
% Load the model model = 'rtwdemo_roll'; load_system(model); % Configure the Solver configSet = getActiveConfigSet(model); set_param(configSet,'Solver','FixedStepDiscrete'); set_param(configSet, 'SystemTargetFile', 'ert.tlc');
Чтобы включить упаковку созданного кода в архив, установите параметр PackageGeneratedCodeAndArtifacts кому true.
set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true)
Создайте временные папки для создания кода и создайте код.
[TEMPDIR, CGDIR] = rtwdemodir(); slbuild(model);
Чтобы указать конфигурацию модели для анализа Polyspace, используйте pslinkoptions объект. Создать этот объект с помощью функции pslinkoptions. Чтобы выполнить анализ поиска ошибок, установите psOpt.VerificationMode кому 'BugFinder'.
% Create a Polyspace options object from the model. psOpts = pslinkoptions(model); % Set properties that define the Polyspace analysis. psOpts.VerificationMode = 'BugFinder'; psOpts.InputRangeMode = 'DesignMinMax';
Чтобы задать опции анализа Polyspace, создайте файл опций. Файл опций - это текстовый файл, содержащий опции Polyspace в плоском списке, по одной строке для каждого параметра. Например, чтобы включить все средства проверки Bug Finder и правила кодирования AUTOSAR C++ 14, создайте текстовый файл с именемOptionFile.txt. В текстовом файле введите:
-checkers all -autosarcpp14 all
Options.txt в рабочей папке по умолчанию.См. раздел Параметры анализа в программе проверки кода Polyspace.
Запустите анализ Polyspace.
Чтобы задать конфигурации модели для выполнения анализа Polyspace, задайте объект psOpt в качестве дополнительного второго аргумента в pslinkrunCrossRelease.
Так как код создается как автономный, задайте третий аргумент asModelRef кому false.
Чтобы задать опции анализа Polyspace, укажите относительный путь к созданному файлу опций в качестве четвертого аргумента.
% Locate options file optionsPath = fullfile(userpath,'Options.txt'); % Run Polyspace analysis [~,resultsFolder] = pslinkrunCrossRelease(model,psOpts,false,optionsPath); bdclose(model);
resultsFolder содержит полный путь к папке результатов.ModelOrSubsystem - Цель анализаbdroot (по умолчанию) | имя модели или системыЦель анализа, указанная как символьный вектор с моделью или системой в отдельных кавычках. Значением по умолчанию является система, возвращенная bdroot (Симулинк).
Пример: resultsDir = pslinkrunCrossRelease('rtwdemo_roll') где rtwdemo_roll - имя модели.
Типы данных: char
psOpt - Объект OptionsModelOrSubsystem (по умолчанию) | объект конфигурации, созданный с помощью pslinkoptionsЗадает конфигурацию модели для анализа Polyspace с помощью pslinkoptions объект. Можно изменить определенные опции анализа, изменив psOpt, который является объектом, где отдельные поля представляют опции конфигурации модели. Полный список параметров, которые можно изменить, см. в этой таблице.
Параметры конфигурации Polyspace, поддерживаемые pslinkrunCrossRelease
| Собственность | Описание | Стоимость | Описание |
|---|---|---|---|
| EnableAdditionalFileList | Включить дополнительный список файлов для анализа, указанный как true или false. Использовать с AdditionalFileList вариант. | true | Полиспейс проверяет дополнительные файлы, указанные в AdditionalFileList вариант. |
false (по умолчанию) | Polyspace не проверяет дополнительные файлы. | ||
| AdditionalFileList | Список дополнительных файлов для анализа, указанный как массив ячеек файлов. Чтобы добавить эти файлы в анализ, используйте EnableAdditionalFileList вариант. | массив ячеек | Polyspace рассматривает перечисленные файлы для проверки. |
| VerificationMode | Режим анализа в пространстве, указанный как 'BugFinder', для анализа Bug Finder, или 'CodeProver', для проверки проверочного кода. | 'BugFinder' | Polyspace выполняет анализ Bug Finder. |
| 'CodeProver' (по умолчанию) | Polyspace выполняет анализ проверки кода. | ||
| InputRangeMode | Задает диапазон входных переменных. | 'DesignMinMax' (по умолчанию) | В Полиспейсе используется диапазон ввода, определенный в рабочей области или блоке. |
'Fullrange' | Polyspace использует входы полного диапазона. | ||
| ParamRangeMode | Задает диапазон параметров константы. | 'DesignMinmax' | В Полиспейсе используется диапазон постоянных параметров, определенный в рабочей области или в блоке. |
'None' (по умолчанию) | Polyspace использует значение параметров, указанное в коде. | ||
| OutputRangeMode | Задает выходные утверждения. | 'DesignMinMax' | Polyspace применяет утверждения к выводам, используя диапазон, определенный в блоке или рабочей области. |
'None' (по умолчанию) | Polyspace не применяет утверждения к выходным переменным. | ||
| ModelRefVerifDepth | Укажите глубину анализа моделей, на которые ссылается текущая модель. | 'Current model Only' (по умолчанию) | Polyspace анализирует только верхнюю модель без анализа ссылочных моделей. Эта опция используется при ссылке на модели, которые не нуждаются в анализе, например библиотечные модели. |
'1'|'2'|'3' | Polyspace анализирует ссылочные модели до заданной глубины в иерархии привязок. Для анализа моделей, на которые ссылается модель верхнего уровня, укажите свойство ModelRefVerifDepth как '1'. Для анализа моделей, на которые ссылается первый уровень привязок, задайте это свойство как '2'. | ||
'All' | Полиспейс проверяет все ссылочные модели. | ||
| ModelRefByModelRefVerif | Укажите, нужно ли анализировать все ссылочные модели вместе или по отдельности. | true | Polyspace анализирует верхнюю модель и ссылочные модели вместе. Эта опция используется для проверки проблем интеграции или масштабирования. |
false (по умолчанию) | Polyspace анализирует верхнюю модель и ссылочные модели по отдельности. | ||
| AutoStubLUT | Указывает, как используются таблицы подстановки. | true (по умолчанию) | Polyspace блокирует таблицы подстановки и проверяет модель без анализа кода таблицы подстановки. |
false | Polyspace включает в анализ код таблицы подстановки. | ||
| CheckConfigBeforeAnalysis | Указывает уровень проверки конфигурации, выполняемой перед началом анализа Polyspace. | 'Off' | Polyspace проверяет только наличие ошибок. Анализ останавливается при обнаружении ошибок. |
'OnWarn' (по умолчанию) | Полиспейс останавливает анализ при обнаружении ошибок и отображает сообщение при обнаружении предупреждений. | ||
'OnHalt' | Полиспейс останавливает анализ при обнаружении ошибок или предупреждений. |
Пример: pslinkrunCrossRelease('rtwdemo_roll', psOpt), где psOpt является объектом параметров, созданным путем вызова pslinkoptions
asModelRef - Индикатор для эталонного анализа моделиfalse (по умолчанию) | trueИндикатор для ссылочного анализа модели, указанный как true или false.
Если asModelRef является false (по умолчанию), функция создает файлы опций так, что Polyspace анализирует созданный код как автономный код.
Если asModelRef является true, функция создает файлы опций так, что Polyspace анализирует созданный код как ссылочный код модели.
Пример: pslinkrunCrossRelease('rtwdemo_roll', psOpt,true)
Типы данных: logical
OptionsFile - Относительный путь к файлу параметров PolyspaceОтносительный путь к текстовому файлу, содержащему список опций анализа Polyspace. Файл опций должен содержать каждую опцию в отдельной строке.
Пример: pslinkrunCrossRelease('rtwdemo_roll', psOpt,true,'OptionsFile.txt')
Типы данных: char
polyspaceFolder - Папка, содержащая проект Polyspace и результатыИмя папки, содержащей проекты и результаты Polyspace, указанное как вектор символов. Значение по умолчанию для этой переменной: results_$ModelName$.
Чтобы изменить это значение, см. раздел Папка вывода.
resultsFolder - Полный путь к подпапке, содержащей результаты PolyspaceПолный путь к подпапке, содержащей результаты Polyspace, указанный как символьный вектор.
Папка results_$ModelName$ содержит проект Polyspace и подпапку $ModelName$ содержащий результаты анализа. Эта переменная предоставляет полный путь к подпапке.
Изменение родительской папки results_$ModelName$, см. папку «Вывод».
polyspacePackNGo | pslinkoptions | pslinkrunCrossRelease | slbuild (Симулинк)
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.