Если вы выбираете tasking для опции Compiler (-compiler)Вы можете столкнуться с этой проблемой.
Во время Polyspace® анализ показывает ошибку, связанную с типом данных регистра специальных функций.
При компиляции с помощью компилятора TASKING вы обычно используете следующие флаги компилятора, чтобы указать, где объявлены типы данных Special Function Register (SFR):
--cpu : Компилятор неявно = xxx#includeформирует файл sfr/reg в ваших исходных файлах. Один раз xxx.sfr#include-ed, можно использовать Специальные регистры функций (SFR-s), объявленные в этом .sfr файл.
--alternative-sfr-file: Компилятор использует альтернативный файл SFR вместо обычного файла SFR. Можно использовать Специальные регистры функций (SFR-s), объявленные в этом альтернативном файле SFR.
Если вы задаете компилятор TASKING для анализа Polyspace, анализ делает следующие предположения об этих флагах компилятора:
--cpu : Анализ выбирает конкретное значение = xxxxxx. Если вы используете другое значение с компилятором TASKING, можно столкнуться с ошибкой во время анализа Polyspace.
The 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\reg CPUNAME.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. Для получения дополнительной информации см. Требования к созданию проектов из систем сборки.