Ошибки, связанные с ОПРЕДЕЛЕНИЕМ ЗАДАЧУ для компилятора

Если вы выбираете tasking для опции Compiler (-compiler), можно столкнуться с этой проблемой.

Проблема

Во время анализа Polyspace® вы видите ошибку, связанную со Специальным Функциональным типом данных Регистра.

Причина

При компиляции с ОПРЕДЕЛЯЮЩИМ ЗАДАЧУ компилятором вы обычно используете следующие флаги компилятора, чтобы задать, где типы данных Специального функционального регистра (SFR) объявляются:

  • - cpu=xxx: Компилятор неявно #includes файл sfr/regxxx.sfr в ваших исходных файлах. Однажды #include- редактор, можно использовать Специальные Функциональные Регистры (швейцарский-франк-s), объявленный в том .sfr файл.

  • --alternative-sfr-file: Компилятор использует альтернативный файл швейцарского франка вместо регулярного файла швейцарского франка. Можно использовать Специальные Функциональные Регистры (швейцарский-франк-s), объявленный в том альтернативном файле швейцарского франка.

Если вы задаете ОПРЕДЕЛЯЮЩИЙ ЗАДАЧУ компилятор для своего анализа Polyspace, анализ делает следующие предположения об этих флагах компилятора:

  • - cpu=xxx: Анализ выбирает определенное значение xxx. Если вы используете различное значение со своим ОПРЕДЕЛЯЮЩИМ ЗАДАЧУ компилятором, можно столкнуться с ошибкой во время анализа Polyspace.

    xxx значение, что аналитическое использование Polyspace зависит от вашего выбора Target processor type (-target):

    • tricore: tc1793b

    • c166: xc167ci

    • rh850: r7f701603

    • arm: ARMv7M

  • --alternative-sfr-file: Анализ принимает, что вы не используете альтернативный файл швейцарского франка. Если вы используете один, можно столкнуться с ошибкой.

Решение

Используйте параметр командной строки -compiler-parameter в вашем анализе Polyspace можно следующим образом. Вы используете этот параметр командной строки, чтобы сделать Polyspace, знающий о ваших флагах компилятора. В пользовательском интерфейсе можно ввести параметр командной строки в поле Other (Polyspace Code Prover). Можно ввести опцию многократно.

  • - cpu=xxx: Для вашего анализа Polyspace использовать

    -compiler-parameter --cpu=xxx
    Здесь, xxx значение, которое вы используете при компиляции с компилятором.

  • --alternative-sfr-file: Для вашего анализа Polyspace использовать

    -compiler-parameter --alternative-sfr-file

    Если вы все еще сталкиваетесь с ошибкой, потому что Polyspace не может определить местоположение вашего .asfr файл, явным образом #include ваш .asfr файл в предварительно обработанном коде с помощью опции Include (-include).

    Как правило, путем к файлу является Tasking_C166_INSTALL_DIR\include\sfr\regCPUNAME.asfr. Например, если ваш ОПРЕДЕЛЯЮЩИЙ ЗАДАЧУ компилятор установлен в C:\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 файлы, когда вы прослеживаете свою команду сборки. Для получения дополнительной информации смотрите Требования для Создания Проекта от Систем сборки.