ID: Заголовок | hisf_0213: Защитите от вычислений деления на нуль в графиках Stateflow®, чтобы улучшить податливость MISRA C:2012 | |
---|---|---|
Описание | Чтобы улучшить податливость MISRA C:2012 сгенерированного кода для и основанных на целом числе операций с плавающей точкой, выполнить одно из следующих действий: | |
A | Выполните статический анализ модели, чтобы доказать, что деление на нуль не возможно | |
B | Обеспечьте ошибку времени выполнения, регистрируясь в сгенерированном коде C путем явного моделирования проверки ошибок в Stateflow | |
C | Измените процесс генерации кода, пользующийся Заменяющими Библиотеками Кода (CRLs), чтобы защитить от деления на нуль | |
D | Для основанных на целом числе операций очистите параметр конфигурации Remove code that protects against division arithmetic exceptions | |
Примечание | Используя ошибку времени выполнения проверка вводит дополнительный вычислительный и память наверху в сгенерированном коде. Поэтому желательно использовать инструменты статического анализа, чтобы ограничить ошибки в сгенерированном коде. Можно использовать функциональность поиска ошибок проектирования в Simulink® Design Verifier™, чтобы выполнить статический анализ. Для получения дополнительной информации смотрите Статическое Обнаружение Ошибки времени выполнения (Simulink Design Verifier). В качестве альтернативы, если у вас есть лицензия Simulink Design Verifier, можно использовать проверку Model Advisor, Обнаруживают Деление на нуль (Simulink Design Verifier), чтобы идентифицировать ошибки деления на нуль в модели. Если статический анализ решает, что разделы кода могут иметь деление на нуль, то добавьте защиту во время выполнения в тот раздел модели (см. пример). Используя модифицированный CRL или выбор параметра Remove code that protects against division arithmetic exceptions защищает операции деления от операций деления на нуль. Однако это действие действительно вводит дополнительный вычислительный и память наверху. Используйте только одну из мер защиты во время выполнения (B, C или D) в модели. Используя больше чем одну опцию может привести к избыточным операциям защиты. | |
Объяснение | A, B , CD | Улучшите податливость MISRA C:2012 сгенерированного кода |
Проверки Model Advisor | Соблюдение этого руководства по моделированию не может быть проверено при помощи проверки Model Advisor. | |
Ссылки |
| |
Смотрите также |
| |
В последний раз измененный | R2018a | |
Пример | Деление во время выполнения нулевой защитой может быть понято с помощью графической функции. Уникальные функции должны быть обеспечены для каждого типа данных.
|