В процессе разработки модели важно, чтобы код C, созданный Embedded Coder ® от Simulink ® и Stateflow ®, соответствовал отраслевым стандартам кодирования.
Используя MISRA C:2012, кодирующий рекомендации, чтобы оценить качество Вашего сгенерированного кода C, Вы требуетесь за раздел 5.3 Рекомендаций MISRA C:2012 для Использования языка C в документе Critical Systems подготовить заявление соблюдения к оцениваемому проекту. Чтобы помочь вам в разработке этого заявления о соответствии требованиям, MathWorks ® оценивает рекомендации MISRA по C:2012 в сравнении с кодом C, созданным с помощью встроенного кодера, и предоставляет следующую информацию:
Сводные таблицы соответствия, в которых определяется метод, используемый для получения соответствия для каждого правила и директивы.
Отклонения, которые определяют правила или директивы, которые не соответствуют требованиям.
Для получения информации о процессе, который MathWorks использует для оценки сгенерированного кода C в соответствии с рекомендациями MISRA C:2012, см. Процесс MathWorks для выявления нарушений MISRA C:2012 в сгенерированном коде C.
Дополнительные сведения об организации MISRA ®, их руководстве по кодированию и временной шкале публикации MISRA см. в разделе www.misra.org.uk.
Отказ от ответственности
Несмотря на то, что соблюдение рекомендаций MISRA C:2012 Соответствие и отклонения для кода, генерируемого с помощью документации Embedded Coder, уменьшит риск появления ошибки во время разработки и ее обнаружения, не является гарантией безопасности разрабатываемой системы. И наоборот, если некоторые рекомендации не выполняются, это не означает, что разрабатываемая система будет небезопасной.
Для определения любых потенциальных нарушений в сгенерированном коде MathWorks поддерживает обширный набор тестовых моделей, которые охватывают стандартное использование совместимых блоков. Для каждого выпуска MathWorks использует эти тестовые модели со следующими продуктами для оценки моделирования, генерации кода и анализа сгенерированного кода.
| Продукт | Цель |
|---|---|
| Simulink | Создание/ведение моделей. |
| Stateflow | Создание/ведение моделей. |
| Designer™ с фиксированной точкой | Создание/ведение моделей. |
| Встроенный кодер | Создать код C. |
| Симулинк Check™ | Выполните проверки MISRA C:2012 Model Advisor. [a] |
| Ошибка Polyspace ® Finder™ | Выявление ошибок/дефектов кодирования. Используйте средство поиска ошибок Polyspace MISRA C:2012 Checker (Polyspace Bug Finder), чтобы проанализировать сгенерированный код в соответствии с директивами и правилами MISRA C:2012 (Polyspace Bug Finder) и предоставить информацию о нарушениях. |
| Код Polyspace Prover™ | Доказать отсутствие ошибок во время выполнения. Используйте средство проверки MISRA C:2012 (средство проверки кода Polyspace) для анализа созданного кода в соответствии с директивами и правилами MISRA C:2012 и предоставления информации о нарушениях. |
[a] Проверки MISRA C:2012 доступны только при наличии лицензии Simulink Check или Embedded Coder. | |
Примечание
Анализ соответствия, выполняемый средством проверки C:2012 MISRA Polyspace, оценивает код C, сгенерированный встроенным кодером. Оценка цепочки инструментов Embedded Coder не проводится. Рукописный код C и библиотеки сторонних производителей, которые используются с кодом, сгенерированным Embedded Coder, не рассматриваются. Другие инструменты анализа кода MISRA C могут давать разные результаты.