Когда вы запускаете анализ Polyspace® непосредственно с панели инструментов Simulink®, анализ берет контекст модели специфичный, такие области значений проекта, к фактору. При выполнении анализа Polyspace без доступа к Simulink необходимо указать информацию модели специфичную при помощи файлов опций. Вместо того, чтобы создать эти файлы опций, используйте файлы опций, сгенерированные и упакованные функцией polyspacePackNGo
.
Сохранение контекстной информации модели Simulink при выполнении анализа Polyspace может быть полезным в различных ситуациях. Например:
Распределенный рабочий процесс: пользователь Simulink генерирует код из модели и отправляет код в другую среду разработки. В этой среде пользователь Polyspace, у которого не может быть Simulink, запускает отдельный анализ сгенерированного кода. При помощи упакованных файлов опций, областей значений проекта и другой информации модели специфичной сохраняется в анализе Polyspace.
Опции анализа, не доступные в Simulink: Некоторые опции анализа Polyspace доступны только, когда анализ Polyspace запущен отдельно от Simulink. Используйте упакованные файлы опций, чтобы запустить отдельный анализ Polyspace при сохранении информации модели специфичной. Например, анализируйте параллельные потоки в сгенерированном коде путем выполнения анализа Polyspace в сгенерированном коде при помощи упакованных файлов опций.
У вас должен быть Simulink, чтобы запустить функцию polyspacePackNGo
. Вам не нужен Polyspace, чтобы сгенерировать файлы опций из модели Simulink. polyspacePackNGo
функционируйте код поддержек, сгенерированный Embedded Coder® и TargetLink®. Для примера на использовании polyspacePackNGo
, смотрите Анализируют Код, Сгенерированный как Автономный Код в Распределенном Рабочем процессе (Simulink).
Чтобы сгенерировать и упаковать файл опций Polyspace для анализа кода, сгенерированного из модели Simulink, использовать polyspacePackNGo
.
В Редакторе Simulink откройте диалоговое окно Configuration Parameters и сконфигурируйте модель для генерации кода.
Чтобы сконфигурировать модель для совместимости с Polyspace, выберите ert.tlc
как System target file
Чтобы позволить генерировать архив кода, выберите опцию Package code and artifacts. Опционально, обеспечьте имя для пакета опций в поле Zip file name. Если ваш код содержит блок пользовательского кода, выберите Use the same custom code settings as Simulation target в панели Code Generation> Custom Code.
В качестве альтернативы в Командном окне MATLAB®, введите:
% Configure the Simulink model mdlName for code generation configSet = getActiveConfigSet(mdlName); set_param(configSet, 'PackageGeneratedCodeAndArtifacts', true); set_param(configSet, 'PackageName', 'CodeArchive.zip'); set_param(configSet, 'SystemTargetFile', 'ert.tlc'); set_param(configSet,'RTWUseSimCustomCode','on');
Сгенерируйте архив кода.
Чтобы сгенерировать архив автономного сгенерированного кода от топ-модели, используйте функцию slbuild
(Simulink).
Чтобы сгенерировать код как модель - ссылку, используйте функцию slbuild
(Simulink). После генерации кода как модель - ссылка создайте архив кода при помощи функции packNGo
(Embedded Coder).
В качестве альтернативы можно использовать TargetLink, чтобы сгенерировать код. Создайте архив кода путем архивации сгенерированного кода в zip-файл.
Сгенерировать и упаковать файлы опции Polyspace, в командном окне MATLAB, использование polyspacePackNGo
функция:
zipFile = polyspacePackNGo(mdlName);
Если вы используете TargetLink, чтобы сгенерировать код, то используйте имя подсистемы TargetLink в качестве входного параметра к polyspacepacknGo
.
Опционально, можно использовать pslinkoptions
возразите в качестве второго аргумента, чтобы изменить настройку модели по умолчанию для анализа Polyspace. Создайте pslinkoptions
возразите, измените настройки модели и задайте объект при создании архива:
psOpt = pslinkoptions(mdlName); psOpt.InputRangeMode = 'FullRange'; psOpt.ParamRangeMode = 'DesignMinMax'; zipFile = polyspacePackNGo(mdlName,psOpt);
Используйте дополнительный третий аргумент, чтобы задать, сгенерировать ли и упаковать файлы опций Polyspace для кода, сгенерированного как модель - ссылка. Предположим вы сгенерированный код как модель - ссылка при помощи slbuild
функция. Сгенерировать и упаковать опции Polyspace для кода, в командном окне MATLAB, введите:
zipFile = polyspacePackNGo(mdlName,[],true);
Функция polyspacepackNGo
возвращает полный путь в архив, содержащий файлы опций. Файлы расположены в polyspace
папка в заархивированной иерархии папок. Содержимое polyspace
папка зависит от входных параметров polyspacePackNGo
функция.
Если вы не задаете дополнительные вторые и третьи аргументы, то папка polyspace
содержит эти файлы опций в плоской иерархии:
optionsFile.txt
: Этот файл задает исходные файлы, включать файлы, технические требования области значений данных и опции анализа, требуемые для анализа сгенерированного кода при помощи Polyspace. Если ваш код содержит пользовательский код С, то этот файл задает относительные пути пользовательского источника и заголовочных файлов.
: Этот файл задает спецификацию области значений проекта модели.modelname
_drs.xml
linkdata.xml
: Этот файл соединяет сгенерированный код с компонентами модели.
Если вы задаете psOpts.ModelbyModelRef = true
, затем соответствующие файлы опций сгенерированы для всех моделей, на которые ссылаются. Эти файлы опций хранятся в отдельных папках, названных polyspace_
в архиве кода. Папка <referenced model name>
polyspace
содержит файлы опций для топ-модели.
Если архив кода и файлы опции Polyspace сгенерированы, можно использовать архив, чтобы запустить анализ Polyspace сгенерированного кода в различной среде разработки без Simulink.
Разархивируйте код, архивируют и определяют местоположение polyspace
папка.
На Windows® или командной строке Linux®, запуске:
. productname
- файл опций optionsFile.txt - dir результатов resultdir
соответствует одному из: Polyspace Bug Finder, Polyspace Code Prover, сервер средства поиска ошибки полипробела или сервер программы автоматического доказательства полипробела кода.productname
соответствует местоположению результатов Polyspace. Этот аргумент является дополнительным.resultdir
Соединить сгенерированный код с моделью Simulink, файл linkdata.xml
требуется. В случае, если файл linkdata.xml
не сгенерирован в архиве файла опций, используйте опцию Code Generator Support в Пользовательском интерфейсе рабочего стола Polyspace, чтобы задать, какие комментарии в коде действуют как ссылки на модель Simulink. В Пользовательском интерфейсе рабочего стола Polyspace выберите Tools> Preferences и найдите вкладку Miscellaneous. Из контекстного меню Code comments that act as code-to-model-link выберите генератор кода, который вы использовали. Если вы выбираете User defined, то задаете комментарии, которые действуют как ссылка кода к модели путем определения их префикса в поле Comments beginning with. Например, если вы задаете префикс как //Link_to_model
, затем Polyspace интерпретирует комментарии начиная с //Link_to_model
как соединяется с моделью.
Если вы используете Polyspace доступ, чтобы просмотреть результаты, загрузите файл linkdata.xml
в той же папке как ваши результаты Polyspace. Вы не можете соединить код с моделью Simulink, если у вас нет файла linkdata.xml
или если вы загружаете его вне папки результата Polyspace.
Чтобы рассмотреть результат, загрузите его на Polyspace доступ и просмотрите результаты в веб-браузере. В качестве альтернативы просмотрите результат при помощи пользовательского интерфейса десктопных решений Polyspace.
polyspace.Project
| polyspacePackNGo
| packNGo
(Embedded Coder) | slbuild
(Simulink)