В рамках процесса разработки модели важно, чтобы код С был сгенерирован 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, снижает риск того, что ошибка будет введена во время разработки и не будет обнаружена, это не является гарантией того, что разрабатываемая система будет безопасной. И наоборот, если некоторые рекомендации не выполняются, это не означает, что разрабатываемая система будет небезопасной.
Чтобы определить любые потенциальные нарушения в сгенерированном коде, 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 могут давать различные результаты.