ID: Заголовок | hisl_0020: Блоки, не рекомендуемые для соответствия MISRA C:2012 | ||
---|---|---|---|
Описание | Улучшить соответствие MISRA C:2012 сгенерированного кода: | ||
A | Использование только блокирует ту генерацию кода поддержки, как зарегистрировано в Таблицу Simulink® Block Support. | ||
B | Не используйте блоки, которые перечислены как “Не рекомендуемый для производственного кода” в Таблице Поддержки блока Simulink. | ||
C | Не используйте блоки Интерполяционной таблицы с помощью методов экстраполяции или интерполяции кубическим сплайном. Определенные блоки:
| ||
D | Не используйте удержанные от использования блоки Интерполяционной таблицы. Блоками Интерполяционной таблицы устаревшими является Поиск и Lookup2D. | ||
E | Не используйте Разработчика S-функции блоки в модели или подсистеме. | ||
F | Не используйте От блоков Рабочей области в модели или подсистеме. | ||
G | Не используйте эти блоки Строки в модели или подсистеме:
| ||
Примечания | Если вы следуете за этим и другими руководствами по моделированию, можно устранить образцовые построения, которые не подходят для генерации производственного кода C/C++, в то же время увеличивают вероятность генерации кода, который выполняет стандарт MISRA C:2012. Выберите Simulink Help > Simulink > Block Data Types & Code Generation Support > All Tables, чтобы просмотреть таблицу поддержки блока. Блоки со сноской (4) в Таблице Поддержки Блока классифицируются как “Не Рекомендуемый для производственного кода”. | ||
Объяснение | A, B, C, D, E, F, G | Улучшите качество и соответствие MISRA C:2012 сгенерированного кода. | |
Проверки Model Advisor | Проверять модель на условия A, B, C, D, E, F, и G:
Для получения дополнительной информации проверки смотрите Проверку на блоки, не рекомендуемые для MISRA C:2012. | ||
Проверять модель на условия A и B:
Для получения дополнительной информации проверки смотрите Проверку на блоки, не рекомендуемые для производственного развертывания C/C++ кода. | |||
Ссылки |
| ||
В последний раз измененный | R2018b |
ID: Заголовок | hisl_0101: Избегайте инвариантных операций сравнения, чтобы улучшить соответствие MISRA C:2012 |
---|---|
Описание | Чтобы улучшить соответствие MISRA C:2012 сгенерированного кода, избегайте операций сравнения с инвариантными результатами. Операции сравнения выполняются следующими блоками:
|
Примечание | Можно использовать функциональность поиска ошибок проектирования в Simulink Design Verifier™, чтобы выполнить анализ. Для получения дополнительной информации смотрите Обнаружение Мертвой логики (Simulink Design Verifier). Если у вас есть лицензия Simulink Design Verifier, можно использовать проверку Model Advisor, Обнаруживают Мертвую логику. |
Объяснение | Улучшите соответствие MISRA C:2012 сгенерированного кода. |
Ссылки |
|
В последний раз измененный | R2018a |
Пример | Инвариантные сравнения могут произойти в простых или составных операциях сравнения. В составных операциях сравнения отдельные компоненты могут быть переменными, когда полное вычисление является инвариантным. Простой:
Простой:
Составной объект: операции сравнения являются взаимоисключающими
Stateflow® :
|
ID: Заголовок | hisl_0102: Тип данных контрольных переменных цикла, чтобы улучшить соответствие MISRA C:2012 |
---|---|
Описание | Чтобы улучшить соответствие MISRA C:2012 сгенерированного кода, используйте целочисленный тип данных для переменных, которые используются в качестве переменных счетчика управления циклом в:
|
Объяснение | Улучшите соответствие MISRA C:2012 сгенерированного кода. |
Проверки Model Advisor |
Для получения дополнительной информации проверки смотрите тип данных Проверки контрольных переменных цикла |
Ссылки |
|
В последний раз измененный | R2018a |