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