Проверка целей создания кода упрощает разработку и устранение неисправностей моделей и подсистем Simulink ®, которые необходимо использовать для создания кода.
Помощник по созданию кода включает следующие проверки от Simulink, Simulink Coder™ и Embedded Coder ® для каждой цели создания кода. Под списком содержатся две проверки, уникальные для помощника по созданию кода.
| Проверить | Эффективность выполнения (все цели) | Эффективность ПЗУ (целевые показатели, основанные на ERT) | Эффективность ОЗУ (целевые показатели, основанные на ERT) | Меры безопасности (целевые показатели, основанные на ERT) | Отслеживаемость (целевые показатели, основанные на ERT) | Отладка (все цели) | Рекомендации MISRA C:2012 (целевые показатели, основанные на ERT) | Полиспейс ® (целевые показатели, основанные на ERT) |
|---|---|---|---|---|---|---|---|---|
| Проверка параметров конфигурации модели по целям создания кода | Включенный | Включенный | Включенный | Включенный | Включенный | Включенный | Включено (см. примечание ниже) | Включенный |
| Проверка оптимальной виртуальности шины | Включенный | Включенный | Включенный | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение сомнительных блоков в указанной системе | Включенный | Включенный | Включенный | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка реализации аппаратных средств (встроенный кодер) | Включено при наличии встроенного кодера | Включено при наличии встроенного кодера | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение сомнительных спецификаций среды программного обеспечения (встроенный кодер) | Включено, когда отслеживание не имеет более высокого приоритета и доступен встроенный кодер | Включено, когда отслеживание не имеет более высокого приоритета и доступен встроенный кодер | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение сомнительного кода (ввод/вывод данных) (встроенный кодер) | Включается, когда отслеживаемость или отладка не имеют более высокого приоритета, и доступен встроенный кодер | Включается, когда отслеживаемость или отладка не имеют более высокого приоритета, и доступен встроенный кодер | Включается, когда отслеживаемость или отладка не имеют более высокого приоритета, и доступен встроенный кодер | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение сомнительных настроек подсистемы (встроенный кодер) | Н/Д | Включено при наличии встроенного кодера | Включено при наличии встроенного кодера | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение блоков, генерирующих дорогостоящий код округления (встроенный кодер) | Включено при наличии встроенного кодера | Включено при наличии встроенного кодера | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение сомнительных операций с фиксированной точкой (встроенный кодер) | Включено при наличии встроенного кодера или Designer™ с фиксированной точкой | Включено при наличии встроенного кодера или конструктора фиксированных точек | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Идентификация блоков с помощью индексирования на основе одного элемента | Включенный | Включенный | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение блоков таблицы поиска, генерирующих дорогостоящий код проверки за пределами диапазона (встроенный кодер) | Включено при наличии встроенного кодера | Включено при наличии встроенного кодера | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка типов вывода логических блоков (встроенный кодер) | Включено при наличии встроенного кодера | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д |
Идентификация несвязанных линий, портов ввода и портов вывода | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка блоков памяти хранилища данных на наличие проблем многозадачности, строгой типизации и затенения | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Определение блочных выходных сигналов с непрерывным временем выборки и типом данных без плавающей точки | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка блоков с ограничениями на настраиваемые параметры | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверьте, включена ли диагностика чтения/записи для блоков хранения данных | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка использования параметров структуры по сигналам шины | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка времени блока хранилища данных на наличие ошибок моделирования | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка потенциальных проблем заказа, связанных с доступом к хранилищу данных | Н/Д | Н/Д | Н/Д | Включенный | Н/Д | Н/Д | Н/Д | Н/Д |
| Проверка блоков, не рекомендованных для развертывания производственного кода C/C + + (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка блоков, не рекомендованных для MISRA C:2012 (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверьте наличие неподдерживаемых имен блоков (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка использования блоков назначения (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка побитовых операций со подписанными целыми числами (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка рекурсивных вызовов функций (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка операций равенства и неравенства для значений с плавающей запятой (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка выражений вариантов переключения без варианта по умолчанию (встроенный кодер) | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Н/Д | Включено при наличии встроенного кодера | Н/Д |
| Проверка параметров конфигурации для генерации неэффективного кода насыщения (встроенный кодер) | Включено при наличии встроенного кодера | Включено при наличии встроенного кодера | Н/Д | Включено при наличии встроенного кодера | Н/Д | Н/Д | Н/Д | Н/Д |
Примечание
Когда помощник по созданию кода проверяет модель в соответствии с целью рекомендаций MISRA C:2012, инструмент не учитывает все настройки параметров конфигурации, которые проверяются при проверке рекомендаций MISRA C:2012 в помощнике по модели. Для полной проверки настроек параметров конфигурации:
Откройте мастер модели.
Перейдите в раздел По задаче > Рекомендации по моделированию для C:2012 MISRA.
Выполните проверки в папке.
Дополнительные сведения об использовании Model Advisor см. в разделе Проверка модели с помощью Model Advisor.
Определите блоки, не поддерживаемые генерацией кода или не рекомендуемые для развертывания.
Генератор кода создает код только для поддерживаемых им блоков. Некоторые блоки не рекомендуется использовать для развертывания производственного кода.
| Состояние | Рекомендуемое действие |
|---|---|
| Блок не поддерживается генератором кода. | Удалите указанный блок из модели или замените его рекомендуемым блоком. |
| Блок не рекомендуется для развертывания производственного кода. | Удалите указанный блок из модели или замените его рекомендуемым блоком. |
| Проверьте блоки усиления, значение которых равно 1. | Замените блоки усиления блоками преобразования сигнала. |
Вы можете:
Выполните эту проверку для моделей библиотек.
Исключите блоки и диаграммы из этой проверки, если у вас есть лицензия Simulink Check™.
Блоки и продукты, поддерживаемые для создания кода
Обзор исключения Model Advisor (Simulink Check)
Проверьте настройки параметров конфигурации для модели по целям создания кода.
Каждый параметр в диалоговом окне «Параметры конфигурации» может иметь различные рекомендуемые настройки для создания кода в зависимости от целей. Эта проверка помогает определить рекомендуемые параметры для каждого параметра, чтобы получить оптимизированный код в зависимости от цели.
| Состояние | Рекомендуемое действие |
|---|---|
| Для параметров устанавливаются значения, отличные от рекомендуемых для указанных целей. |
Задайте рекомендуемые значения параметров. Примечание Изменение одного значения параметра может повлиять на другие параметры. Прохождение проверки может занять несколько итераций. |
При нажатии кнопки «Изменить параметры» значения параметров изменяются на рекомендуемые.