Функция RTE API используется с аргументами, которые нарушают спецификацию стандарта AUTOSAR
Этот дефект возникает, когда вы используете функцию RTE API с аргументами, которые нарушают стандартные спецификации AUTOSAR.
Для образца проверяет Rte_Write_*
или Rte_Byps_Write_*
вызовы функций определяют, является ли аргумент «указатель на данные» в вызове:
Значение NULL.
Указывает на буфер памяти.
Указывает на инициализированный буфер памяти.
Для буферов со значениями перечисления значения находятся в области значений перечисления.
Для получения дополнительной информации о спецификациях RTE API см. документацию AUTOSAR.
Чтобы включить эту проверку, используйте значение autosar
для опции Libraries used (-library)
.
Более исчерпывающая версия той же шашки доступна с Code Prover. При проверке на нарушения стандартов AUTOSAR на Rte_
вызов функции, проверка Code Prover рассматривает все пути выполнения, которые приводят к вызову функции (с учетом допущений верификации).
Использование функции RTE может привести к ошибкам времени выполнения.
Исправление зависит от первопричины дефекта. Чтобы диагностировать эту проверку, прочтите сообщение на панели Result Details. В сообщении показаны все проверки, выполненные с функцией RTE API, а также информация о том, прошла ли проверка. Для образца, это сообщение:
Показывает результаты трех проверок, все три из которых могут завершиться неудачно. Первый аргумент функции может быть пустым указателем, может не быть выделен и не указывать на инициализированную память.
Исследуйте первопричину проблемы далее.
Группа: Программирование |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки
: autosar_lib_non_compliance |
Влияние: Высокий |