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