При выборе tasking для опции Compiler (-compiler), вы можете столкнуться с этой проблемой.
Во время анализа Polyspace ® появляется ошибка, связанная с типом данных регистра специальных функций.
При компиляции с помощью компилятора TASKING обычно используются следующие флаги компилятора, чтобы указать, где объявляются типы данных регистра специальных функций (SFR):
--cpu=: Компилятор неявно xxx#includes файл sfr/reg в исходных файлах. Однажды xxx.sfr#include-ed, можно использовать регистры специальных функций (SFR-s), объявленные в .sfr файл.
--alternative-sfr-file: Компилятор использует альтернативный файл SFR вместо обычного файла SFR. Можно использовать регистры специальных функций (SFR-s), объявленные в этом альтернативном файле SFR.
Если указать компилятор TASKING для анализа Polyspace, в анализе будут сделаны следующие предположения относительно этих флагов компилятора:
--cpu=Анализ выбирает конкретное значение xxxxxx. При использовании другого значения в компиляторе TASKING во время анализа Polyspace может возникнуть ошибка.
xxx значение, которое используется в анализе Polyspace, зависит от выбора Target processor type (-target):
tricore: tc1793b
c166: xc167ci
rh850: r7f701603
arm: ARMv7M
--alternative-sfr-fileАнализ предполагает, что вы не используете альтернативный файл SFR. При его использовании может возникнуть ошибка.
Использовать параметр командной строки -compiler-parameter в анализе Polyspace следующим образом. Этот параметр командной строки используется для информирования Polyspace о флагах компилятора. В интерфейсе пользователя можно ввести параметр командной строки в поле Other. Можно ввести опцию несколько раз.
--cpu=: Для анализа Polyspace, используйтеxxx
-compiler-parameter --cpu=xxx
xxx - это значение, используемое при компиляции с помощью компилятора.--alternative-sfr-file: Для анализа Polyspace, используйте
-compiler-parameter --alternative-sfr-file
Если по-прежнему возникает ошибка, так как Polyspace не может найти .asfr файл, явно #include Ваш .asfr файл в предварительно обработанном коде с помощью опции Include (-include).
Обычно путь к файлу: . Например, если компилятор TASKING установлен в Tasking_C166_INSTALL_DIR\include\sfr\regCPUNAME.asfrC:\Program Files\Tasking\C166-VX_v4.0r1\ и используется флаг, связанный с ЦП -Cxc2287m_104f или --cpu=xc2287m_104f, путь C:\Program Files\Tasking\C166-VX_v4.0r1\include\sfr\regxc2287m.asfr.
При отслеживании команды построения можно также столкнуться с той же проблемой с альтернативными файлами sfr. Дополнительные сведения см. в разделе Требования к созданию проекта из Build Systems.