Если вы выбираете 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
: Анализ выбирает конкретное значение = xxx
xxx
. Если вы используете другое значение с компилятором 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. Для получения дополнительной информации см. Требования к созданию проектов из систем сборки.