-compiler iar-ew)Укажите компилятор IAR Embedded Workbench
Определить iar-ew для Compiler (-compiler) при компиляции кода с помощью компилятора IAR Embedded Workbench. Указывая компилятор, можно избежать ошибок компиляции из синтаксиса, который не является частью стандарта, но происходит от языковых расширений.
Затем укажите тип целевого процессора. При выборе iar-ew для компилятора в интерфейсе пользователя настольных продуктов Polyspace ® отображаются только процессоры, разрешенные для компилятора IAR Embedded Workbench. Ваш выбор целевого процессора определяет размер фундаментальных типов данных, полноту целевой машины и определённые определения ключевых слов.
При указании iar-ew необходимо указать путь к файлам заголовка компилятора. См. раздел Предоставление стандартных заголовков библиотек для анализа полиспейсов.
Целевые объекты используют следующие размеры по умолчанию в битах для фундаментальных типов. Эти размеры не отображаются в интерфейсе пользователя настольных продуктов Polyspace.
| Цель | случайная работа | короткий | интервал | долго | длинная | плавание | дважды | длинный двойник | ptr | Знак символа по умолчанию | Endianness | Выравнивание | Определение size_t | Определение wchar_t |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
arm | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | Неподписанный | Мало | 64 | неподписанная int | подписанный короткий |
avr | 8 | 16 | 16 | 32 | 64 | 32 | 32 | 32 | 16 | Неподписанный | Мало | 8 | неподписанная int | неподписанный короткий |
msp430 | 8 | 16 | 16 | 32 | 64 | 32 | 32 | 32 | 16 | Неподписанный | Мало | 16 | неподписанная int | неподписанный короткий |
rh850 | 8 | 16 | 32 | 32 | 64 | 32 | 64 | 64 | 32 | Неподписанный | Мало | 32 | неподписанная int | подписанный короткий |
rl78 | 8 | 16 | 16 | 32 | 64 | 32 | 32 | 32 | 16 | Неподписанный | Мало | 16 | неподписанная int | неподписанный короткий |
Спецификация компилятора также определяет значения многих специфичных для компилятора макросов. Если требуется узнать, как Polyspace определяет определенный макрос, используйте опцию -dump-preprocessing-info.
Чтобы переопределить определение макроса, используйте параметр Preprocessor definitions (-D).
Чтобы отменить определение макроса, используйте параметр Disabled preprocessor definitions (-U).
Polyspace не поддерживает некоторые конструкции, специфичные для компилятора IAR.
Список неподдерживаемых конструкций см. в разделе codeprover_limitations.pdf в . Здесь, polyspaceroot\polyspace\verifier\code_prover_desktop является папкой установки MATLAB ®, например ,polyspacerootC:\Program Files\Polyspace\R2019a.
Если в качестве расширений кода в IDE используется Polyspace, введите эту опцию в файл опций анализа. См. файл параметров.
Параметр:
-compiler iar-ew -target |
Значение:
arm | avr | msp430 | rh850 | rl78 |
По умолчанию:
arm |
Пример (поиск ошибок):
polyspace-bug-finder -compiler iar-ew -target rl78 |
Пример (проверка кода):
polyspace-code-prover -compiler iar-ew -target rl78 |
Пример (сервер поиска ошибок):
polyspace-bug-finder-server -compiler iar-ew -target rl78 |
Пример (сервер проверки кода):
polyspace-code-prover-server -compiler iar-ew -target rl78 |