Разработка оператора о податливости C:2012 MISRA

В рамках процесса разработки модели важно, чтобы код С был сгенерирован Embedded Coder® из Simulink® и Stateflow® соответствует отраслевым стандартам кодирования.

При использовании руководящих принципов C:2012 кодирования MISRA для оценки качества вашего сгенерированного кода C, вы требуете в соответствии с разделом 5.3 C:2012 руководства MISRA для использования языка C в критических системах документа, чтобы подготовить оператора о податливости для оцениваемого проекта. Чтобы помочь вам в разработке этого оператора о податливости, MathWorks® оценивает инструкции по C:2012 MISRA по сравнению с Кодами С, сгенерированными с помощью Embedded Coder, и предоставляет следующую информацию:

  • Сводные таблицы соответствия, которые идентифицируют метод, используемый для получения податливости для каждого правила и директивы.

  • Отклонения, которые идентифицируют правила или директивы, которые не соответствуют.

Для получения информации о процессе, используемом MathWorks для оценки сгенерированного кода C с руководствами по C:2012 MISRA, смотрите MathWorks Process для выявления нарушений MISRA C:2012 Guidelines в Сгенерированном коде C.

Для получения дополнительной информации о MISRA® организация, их руководящие принципы кодирования и график публикации MISRA, см. www.misra.org.uk.

Отказ от ответственности

Хотя соблюдение рекомендаций MISRA C:2012 Податливость и отклонения для кода, сгенерированного с использованием документации Embedded Coder, снижает риск того, что ошибка будет введена во время разработки и не будет обнаружена, это не является гарантией того, что разрабатываемая система будет безопасной. И наоборот, если некоторые рекомендации не выполняются, это не означает, что разрабатываемая система будет небезопасной.

Математический процесс выявления нарушений C:2012 MISRA в сгенерированном коде C

Чтобы определить любые потенциальные нарушения в сгенерированном коде, MathWorks поддерживает обширный набор экспериментальных моделей, которые покрывают стандартное использование совместимых блоков. Для каждого релиза MathWorks использует эти экспериментальные модели со следующими продуктами, чтобы оценить моделирование, генерацию кода и анализ сгенерированного кода.

ПродуктЦель
Simulink Создание/ведение моделей.
Stateflow Создание/ведение моделей.
Fixed-Point Designer™ Создание/ведение моделей.
Embedded Coder

Сгенерируйте код С

Функции Simulink Check™

Выполните проверки MISRA C:2012 Model Advisor.[a]

Polyspace® Bug- Finder™

Идентифицируйте ошибки/дефекты кодирования.

Используйте Polyspace Bug Finder MISRA C:2012 Checker (Polyspace Bug Finder), чтобы проанализировать сгенерированный код с C:2012 директивами и правилами MISRA (Polyspace Bug Finder) и предоставить информацию о нарушениях.

Polyspace Code Prover™

Докажите отсутствие ошибок времени выполнения.

Используйте проверку C:2012 Polyspace Code Prover MISRA (Polyspace Code Prover), чтобы проанализировать сгенерированный код с C:2012 директивами и правилами MISRA (Polyspace Code Prover) и предоставить информацию о нарушениях.

[a] Проверки C:2012 MISRA доступны только при наличии лицензии Simulink Check или Embedded Coder.

Примечание

Анализ податливости, выполненный Polyspace MISRA C:2012 Checker, оценивает код С, сгенерированный Embedded Coder. Цепь инструментов Embedded Coder не проводится. Рукописный код С и сторонние библиотеки, которые используются с кодом, сгенерированным Embedded Coder, не рассматриваются. Другие инструменты анализа кода MISRA C могут давать различные результаты.