Опции для управления созданием проекта Polyspace и последующим анализом. Вы в основном используете опции для устранения неполадок, например, чтобы выполнить только определенные части обновления и сузить проблему или предоставить дополнительные заголовочные файлы или задать макросы.
Задайте каждую опцию как вектор символов, затем значение опцию как отдельный вектор символов. Например, можно задать файл опций opts.txt
при помощи синтаксиса polyspaceAutosar(...,'-options-file','opts.txt')
.
Общие опции
Опция | Значение | Описание |
---|
'-verbose' | | Сохраните дополнительную информацию о различных фазах выполнения команды (подробный режим). Файл psar_project.log и другие вспомогательные файлы хранят эту дополнительную информацию. Если при выполнении команды возникает ошибка, сообщение об ошибке сохраняется в отдельном файле, независимо от того, включен ли подробный режим. Выполнение в подробном режиме хранит только различные фазы выполнения. Используйте эту информацию, чтобы увидеть, когда была введена ошибка. |
'-options-file' | Имя файла опций, например 'opts.txt' . | Используйте файл опций для дополнения или замены опций командной строки. В файле опций задайте каждую опцию в отдельной линии. Начните линию с # для указания комментариев. Файл опций opts.txt может выглядеть следующим образом: # Store Polyspace results
-create-project polyspace
# ARXML Folder
-arxml-dir arxml
# SOURCE Folder
-sources-dir code Если опция, непосредственно заданная в polyspaceAutosar функция конфликтует с опцией в файле options, используется непосредственно заданная опция. Обычно файл опций используется для хранения и повторного использования опций, общих для нескольких проектов. |
Опции для контроля обновления проекта
Если вы обновляете проект, по умолчанию результаты анализа обновляются для всех поведений AUTOSAR SWC в отношении любых изменений в файлах ARXML или исходном коде C с момента последнего анализа. Управляйте обновлением с помощью этих опций.
Опция | Значение | Описание |
---|
'-autosar-behavior' | Полное имя SWC-поведения, например 'pkg.component.bhv' . | Проверяйте реализацию программных компонентов, внутреннее поведение которых задано. Анализ по умолчанию рассматривает все программные компоненты, существующие в спецификациях ARXML. Чтобы задать несколько программных компонентов, повторите опцию. Кроме того, используйте регулярные выражения, чтобы задать группу программных компонентов в том же пакете. Для образца:
Чтобы указать программный компонент, внутренне поведение которого имеет полное имя pkg.component.bhv , использовать: polyspaceAutosar(...,
'-autosar-behavior',...
'pkg.component.bhv') Чтобы задать программные компоненты, внутреннее поведение которых имеет полные имена, начинающиеся с pkg.component , использовать: polyspaceAutosar(...,
'-autosar-behavior',...
'pkg.component\..*') The \ . представляет диафрагму имен пакетов . (точка) и .* представляет любое количество символов.
|
'-do-not-update-autosar-prove-environment' | | Не считывайте спецификации ARXML. Используйте спецификации ARXML, сохраненные в предыдущем анализе. Используйте эту опцию во время обновления проекта, чтобы сравнить код с предыдущими спецификациями. Если вы не используете эту опцию, обновления проекта снова считывают все спецификации ARXML. |
'-do-not-update-extract-code' | | Не считывайте исходный код C. Используйте исходный код, сохраненный из предыдущего анализа. Используйте эту опцию во время обновления проекта, чтобы сравнить предыдущий исходный код со спецификациями ARXML. Если вы не используете эту опцию, в обновлениях проекта учитываются все изменения исходного кода с момента предыдущего анализа. |
'-do-not-update-verification' | | Ознакомьтесь только со спецификациями ARXML и реализацией кода С, но не запускайте анализ Code Prover. Используйте эту опцию во время обновления проекта, чтобы исследовать ошибки, внесенные в спецификации ARXML или ошибки компиляции, введенные в исходный код. Можно сначала устранить эти проблемы, а затем запустить анализ Code Prover. |
Опции для управления синтаксическим анализом спецификаций ARXML
Опция | Значение | Описание |
---|
'-autosar-datatype' | Полное квалифицированное имя типа данных, например 'pkg.datatypes.type' | Определение импорта заданных типов данных AUTOSAR. Анализ по умолчанию импортирует только типы данных, заданные во внутреннем поведении проверяемых компонентов программного обеспечения. Чтобы задать несколько типов данных, повторите опцию. Кроме того, используйте регулярные выражения, чтобы задать все типы данных в том же пакете. Для образца:
Чтобы задать тип данных с полным именем pkg.datatypes.type , использовать: polyspaceAutosar(...,
'-autosar-datatype',...
'pkg.datatypes.type') Чтобы задать типы данных с полными именами, начинающимися с pkg.datatypes , использовать: polyspaceAutosar(...,
'-autosar-datatype',...
'pkg.datatypes\..*') The \ . представляет диафрагму имен пакетов . (точка) и .* представляет любое количество символов.Чтобы принудительно импортировать все типы данных, используйте: polyspaceAutosar(...,
'-autosar-datatype',...
'.*\..*')
|
'-Eautosar-xmlReaderSameUuidForDifferentElements'
'-Eno-autosar-xmlReaderSameUuidForDifferentElements'
| | Если несколько элементов спецификаций ARXML имеют одинаковый универсальный уникальный идентификатор (UUID), используйте эти опции, чтобы переключаться между предупреждением и ошибкой. Анализ по умолчанию останавливается с ошибкой, если эта проблема происходит. Для преобразования в предупреждение используйте '-Eno-autosar-xmlReaderSameUuidForDifferentElements' . Для конфликтующих UUID, анализ сохраняет последний элемент read и продолжает с предупреждением. Последующие исполнения продолжают использовать режим предупреждения. Чтобы вернуться к ошибке, используйте '-Eautosar-xmlReaderSameUuidForDifferentElements' . |
'-Eautosar-xmlReaderTooManyUuids'
'-Eno-autosar-xmlReaderTooManyUuids'
| | Если тот же элемент спецификаций ARXML имеет другие универсально-уникальные идентификаторы (UUID), используйте эти опции, чтобы переключаться между предупреждением и ошибкой. Анализ по умолчанию останавливается с ошибкой, если эта проблема происходит. Для преобразования в предупреждение используйте '-Eno-autosar-xmlReaderTooManyUuids' . Для конфликтующих UUID, анализ сохраняет последний элемент read и продолжает с предупреждением. Последующие исполнения продолжают использовать режим предупреждения. Чтобы вернуться к ошибке, используйте '-Eautosar-xmlReaderTooManyUuids' . |
Опции для контроля чтения исходного кода C
Опция | Значение | Описание |
---|
'-include' | Файл с типом данных и определениями макросов. | Задайте дополнительные типы данных и макросы, которые не являются частью спецификаций ARXML, но необходимы для анализа реализации кода. Добавьте тип данных и определения макросов к файлу. Эти определения добавляются к файлу заголовка Rte_Type.h который используется в анализе. Файл, который вы предоставляете, не должен сам называться Rte_Type.h . Вы можете предоставить файлу тип данных и определения макросов только во время создания проекта. Для последующих обновлений можно изменить содержимое этого файла, но не предоставить новый файл. Кроме того, этот файл не должен находиться в той же папке, что и проект Polyspace, и результаты. Если вы дополнительно задаете макросы или не определяете их с помощью опций '-D' или '-U' , для определений, которые конфликтуют с таковыми в USER_RTE_TYPE_H , а -D или -U преобладают спецификации. |
'-I' | Папка, содержащая заголовочные файлы. | Укажите папки, содержащие заголовочные файлы. Анализ ищет #include -d файлы в этой папке. Папка должна быть подпапкой папки исходного кода. Повторите опцию для нескольких папок. Анализ ищет заголовочные файлы в этих папках в том порядке, в котором вы их задаете. Если необходимо указать папки, которые не находятся в папке исходного кода, используйте опцию: polyspaceAutosar(...,
'-extra-project-options','-I INCLUDE_FOLDER') |
'-D' | Имя макроса, например '_WIN32 . | Задайте макросы, которые анализ должен учитывать как определено. Например, если вы задаете: polyspaceAutosar(...,
'-D','_WIN32') условный процессор препроцессора #ifdef _WIN32 успешно завершается, и выполняется соответствующая ветвь. |
'-U' | Имя макроса, например '_WIN32 . | Укажите макросы, которые анализ должен считать неопределенными. Например, если вы задаете: polyspaceAutosar(...,
'-U','_WIN32') условный процессор препроцессора #ifndef _WIN32 успешно завершается, и выполняется соответствующая ветвь. |
Опции для кода системы управления проверок Prover
Опция | Значение | Описание |
---|
'-extra-project-options' | Разделенный пробелом список опций. | Задайте дополнительные опции для анализа Code Prover. Заданные опции применяются не к анализу ARXML или извлечению кода, а только к последующему анализу Code Prover. Этот метод используется для задания опций анализа, которые используются в анализе, отличном от AUTOSAR Code Prover. См. Опции анализа в Polyspace Code Prover. Например, можно хотеть задать компилятор и целевую архитектуру. По умолчанию при компиляции проектов, созданных из спецификаций AUTOSAR, используются gnu4.7 компилятор и архитектура i386. Чтобы задать компилятор visual11.0 с x86_64 архитектурой, введите эту опцию: polyspaceAutosar(...,
'-extra-project-options','-compiler visual11.0 -target x86_64') См. также Compiler (-compiler) и Target processor type (-target) . |
'-extra-options-file' | Файл с опциями Polyspace. | Укажите дополнительные опции для анализа Code Prover в файле параметров. Заданные опции применяются не к анализу ARXML или извлечению кода, а только к последующему анализу Code Prover. Например, можно проследить команду build, чтобы собрать опции компилятора, определения макросов и пути, чтобы включить папки, и предоставить эту информацию в файл options для анализа реализации кода компонентов программного обеспечения AUTOSAR.
Проследите свою команду сборки (для образца, make ) с polyspaceConfigure и сгенерируйте файл опций для последующего анализа Code Prover. Подавьте включение источников в файл опций с -no-sources опция. polyspaceConfigure -output-options-file options.txt -no-sources make Запустите Code Prover на коде AUTOSAR с polyspace-autosar . Укажите папку ARXML, исходные папки и другие опции. В сложение предоставьте ранее сгенерированный файл опций с -extra-options-file опция. polyspaceAutosar(...,
'-extra-options-file','options.txt')
|
'-show-prove' | Полное имя SWC-поведения, например 'pkg.component.bhv' . | После анализа откройте результаты для определенного программного компонента, внутреннее поведение которого задано. |