Ошибки, связанные с компилятором TASKING

Если вы выбираете 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 = 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\reg CPUNAME.asfr. Например, если ваш компилятор TASKING установлен в 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, когда вы трассируете свою команду build. Для получения дополнительной информации см. Требования к созданию проектов из систем сборки.