Советник генерации кода проверки

Доступные проверки на цели генерации кода

Проверки целей генерации кода упрощают разработку и поиск и устранение неисправностей моделей Simulink® и подсистем, которые вы хотите использовать, чтобы сгенерировать код.

Советник Генерации кода включает следующие проверки от Simulink, Simulink Coder™ и Embedded Coder® для каждой из целей генерации кода. Две проверки, уникальные для Советника Генерации кода, включены ниже списка.

ПроверятьЭффективность выполнения
(все цели)
Эффективность ROM
(Основанные на ERT цели)
Эффективность RAM
(Основанные на ERT цели)
Меры безопасности
(Основанные на ERT цели)
Трассируемость
(Основанные на ERT цели)
Отладка
(все цели)
Инструкции MISRA C:2012
(Основанные на ERT цели)
Polyspace®
(Основанные на ERT цели)
Проверяйте настройки конфигурации модели по целям генерации кодаВключенныйВключенныйВключенныйВключенныйВключенныйВключенныйВключенный (см. примечание ниже),Включенный
Проверяйте на оптимальную виртуальность шины (Simulink)ВключенныйВключенныйВключенныйНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте сомнительные блоки в заданной системеВключенный ВключенныйВключенныйНет данныхНет данныхНет данныхНет данныхНет данных
Проверяйте аппаратную реализацию (Embedded Coder)Включенный, если Embedded Coder доступенВключенный, если Embedded Coder доступенНет данныхНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте сомнительные спецификации программной среды (Embedded Coder)Включенный то, когда Трассируемость не является более высоким приоритетом и Embedded Coder, доступноВключенный то, когда Трассируемость не является более высоким приоритетом и Embedded Coder, доступноНет данныхНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте сомнительную отладку кода (ввод-вывод данных) (Embedded Coder)Включенный то, когда Трассируемость или Отладка не являются более высокими приоритетами и Embedded Coder, доступноВключенный то, когда Трассируемость или Отладка не являются более высокими приоритетами и Embedded Coder, доступноВключенный то, когда Трассируемость или Отладка не являются более высокими приоритетами и Embedded Coder, доступноНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте сомнительные настройки подсистемы (Embedded Coder)Нет данныхВключенный, если Embedded Coder доступенВключенный, если Embedded Coder доступенНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте блоки, которые генерируют дорогой код округления (Embedded Coder)Включенный, если Embedded Coder доступенВключенный, если Embedded Coder доступенНет данныхНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте сомнительные операции фиксированной точки (Embedded Coder)Включенный, если Embedded Coder или Fixed-Point Designer™ доступныВключенный, если Embedded Coder или Fixed-Point Designer доступныНет данныхНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте блоки, использующие индексацию на основе однуВключенныйВключенныйНет данныхНет данныхНет данныхНет данныхНет данныхНет данных
Идентифицируйте блоки интерполяционной таблицы, которые генерируют дорогой код проверки из области значений (Embedded Coder)Включенный, если Embedded Coder доступенВключенный, если Embedded Coder доступенНет данныхНет данныхНет данныхНет данныхНет данныхНет данных
Проверяйте выходные типы логических блоков (Embedded Coder)Включенный, если Embedded Coder доступенНет данныхНет данныхНет данныхНет данныхНет данныхНет данныхНет данных

Идентифицируйте несвязанные строки, входные порты и выходные порты (Simulink)

Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте Блоки памяти Хранилища данных на многозадачность, строгий контроль типов и проблемы затенения (Simulink)Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Идентифицируйте выходные сигналы блока со временем непрерывной выборки и типом неданных с плавающей запятой (Simulink)Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте на блоки, которые имеют ограничения на настраиваемые параметрыНет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте, включена ли диагностика чтения-записи для блоков хранилища данных (Simulink)Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте использование параметра структуры с сигналами шины (Simulink)Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте, что хранилище данных блокирует шаги расчета для моделирования ошибок (Simulink)Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте на потенциальные проблемы упорядоченного расположения, включающие доступ к хранилищу данных (Simulink)Нет данныхНет данныхНет данныхВключенныйНет данныхНет данныхНет данныхНет данных
Проверяйте на блоки, не рекомендуемые для производственного развертывания C/C++ кода (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте на блоки, не рекомендуемые для MISRA C:2012 (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте на неподдерживаемые имена блока (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте использование блоков Присвоения (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте на битовые операции на целых числах со знаком (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте на (Embedded Coder) вызовов рекурсивной функцииНет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте на операции равенства и неравенства на значениях с плавающей точкой (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных
Проверяйте на case-выражения переключателя без случая по умолчанию (Embedded Coder)Нет данныхНет данныхНет данныхНет данныхНет данныхНет данныхВключенный, если Embedded Coder доступенНет данных

Примечание

То, когда Советник Генерации кода проверяет вашу модель по цели инструкций MISRA C:2012, инструмент не рассматривает все настройки параметра конфигурации, которые проверяются инструкциями MISRA C:2012, регистрируется в Model Advisor. Для полной проверки настроек параметра конфигурации, осуществленных проверки под узлом By Task > Modeling Guidelines for MISRA C:2012 в Model Advisor.

Смотрите также

Идентифицируйте сомнительные блоки в заданной системе

Идентифицируйте блоки, не поддержанные генерацией кода или не рекомендуемые для развертывания.

Описание

Генератор кода создает код только для блоков, которые это поддерживает. Некоторые блоки не рекомендуются для производственного развертывания кода.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Блок не поддержан генератором кода.Удалите заданный блок от модели или замените блок на рекомендуемый блок.
Блок не рекомендуется для производственного развертывания кода.Удалите заданный блок от модели или замените блок на рекомендуемый блок.
Проверяйте на блоки Усиления, значение которых равняется 1.Замените блоки Усиления на блоки Преобразования Сигнала.

Возможности и ограничения

Вы можете:

  • Осуществите эту проверку своих моделей библиотеки.

  • Исключите блоки и графики от этой проверки, если у вас есть лицензия Simulink Check™.

Смотрите также

Блоки и продукты, поддержанные для генерации кода

Что такое исключение Model Advisor? (Simulink Check)

Проверяйте настройки конфигурации модели по целям генерации кода

Проверяйте настройки параметра конфигурации на модель против целей генерации кода.

Описание

Каждый параметр в диалоговом окне Configuration Parameters может иметь различные рекомендуемые настройки для генерации кода на основе ваших целей. Эта проверка помогает вам идентифицировать рекомендуемую установку для каждого параметра так, чтобы можно было достигнуть оптимизированного кода на основе цели.

Результаты и рекомендуемые действия

УсловиеРекомендуемое действие
Параметры устанавливаются на значения кроме значения, рекомендуемого для заданных целей.

Установите параметры на рекомендуемые значения.

Примечание

Изменение в одном значении параметров может повлиять на другие параметры. Передача проверки может взять несколько итераций.

Результаты действия

Нажатие на Modify Parameters изменяет значения параметров на рекомендуемые значения.

Смотрите также