Продукт Embedded Coder ® дополняет продукт MATLAB ® Coder™ возможностями, которые можно использовать для разработки встраиваемого ПО. Можно создать код, который обладает четкостью и эффективностью профессионального рукописного кода. Например, можно:
Создавайте компактный и быстрый код, необходимый для имитаторов в реальном времени, плат быстрого прототипирования, микропроцессоров, используемых в массовом производстве, и встраиваемых систем.
Настройка внешнего вида созданного кода.
Оптимизируйте созданный код для конкретных требований приложения.
Включите параметры трассировки, которые помогут проверить созданный код.
Продукт Embedded Coder дополняет продукт MATLAB Coder следующими опциями и оптимизацией для генерации кода C/C + +.
| Цель | Параметры проекта | Свойство объекта конфигурации кода | Дополнительные сведения |
|---|---|---|---|
| Время выполнения | |||
| Управление формированием данных и операций с плавающей запятой | Поддержка только чисто целых чисел | PurelyIntegerCode | Н/Д |
| Упрощение индексации массива в циклах в созданном коде | Упрощение индексации массивов | EnableStrengthReduction | Упрощение операций умножения для индексирования массивов в циклах |
| Замена функций и операторов в созданном коде в соответствии с требованиями к коду для конкретного приложения | Библиотека замены кода на вкладке «Пользовательский код» | CodeReplacementLibrary | Embedded Coder предлагает дополнительные библиотеки и возможность создания и использования пользовательского кода. См. раздел Настройка замены кода. |
| Создание и регистрация специфичных для приложения реализаций функций и операторов | Н/Д | Н/Д | Настройка замены кода |
| Внешний вид кода | |||
| Указание использования однострочных или многострочных комментариев в создаваемом коде | Стиль комментария | CommentStyle | Укажите стиль комментария для кода C/C + + |
| Включить исходный код MATLAB в качестве комментариев с тегами отслеживания. В отчете о создании кода теги отслеживания связаны с соответствующим исходным кодом MATLAB. | Исходный код MATLAB в виде комментариев | MATLABSourceComments | Включить комментарии в созданный код C/C + + |
| Создание справочного текста функции MATLAB в баннере функции | Текст справки по функциям MATLAB | MATLABFcnDesc | Включить комментарии в созданный код C/C + + |
| Преобразовать шаблоны if-elseif-else в операторы switch-case | Преобразовать шаблоны if-elseif-else в операторы switch-case | ConvertIfToSwitch | Управление стилем кода C |
| Укажите, что ключевое слово extern включено в объявления созданных внешних функций | Сохранить ключевое слово extern в объявлениях функций | PreserveExternInFcnDecls | Н/Д |
| Укажите уровень скобки в созданном коде | Круглые скобки | ParenthesesLevel | Н/Д |
| Укажите, следует ли заменять умножение на степени двух со знаком левого побитового сдвига в создаваемом коде | Использовать подписанный сдвиг слева для операций с фиксированной точкой и умножение на мощности 2 | EnableSignedLeftShifts | Управление подписанными сдвигами влево в сгенерированном коде |
| Укажите, разрешить ли в создаваемом коде подписанные правые побитовые сдвиги | Разрешить правые сдвиги для подписанных целых чисел | EnableSignedRightShifts | Н/Д |
| Типы управляющих данных в сгенерированном коде | Режим литья на вкладке «Все настройки» | CastingMode | Команды типа управляющих данных в сгенерированном коде |
| Укажите стиль отступа для созданного кода | Стиль отступа на вкладке «Все параметры» Размер отступа на вкладке «Все параметры» | IndentStyleIndentSize | Укажите стиль отступа для кода C/C + + |
| Укажите максимальное количество столбцов перед разрывом строки в созданном коде | Ограничение столбцов на вкладке «Все параметры» | ColumnLimit | Н/Д |
| Укажите пользовательские имена для типов данных MATLAB в созданном коде | Включить замену пользовательского типа данных | EnableCustomReplacementTypesReplacementTypes | Настройка замены типа данных |
| Импорт определений пользовательских типов данных из внешних файлов заголовков | Импорт пользовательских типов из внешних файлов заголовков | IsExternHeaderFiles | Импорт определений пользовательских типов данных из внешних файлов заголовков |
| Настройка созданных имен файлов C/C + + | Сгенерированный формат имени исходного файла и файла заголовка | CustomFileNameStr | Настройка имен файлов C/C + +, созданных из кода MATLAB |
| Настроить сгенерированные идентификаторы глобальных переменных | Глобальные переменные | CustomSymbolStrGlobalVar | Настроить сгенерированные идентификаторы |
| Настроить сгенерированные идентификаторы глобальных типов | Глобальные типы | CustomSymbolStrType | Настроить сгенерированные идентификаторы |
| Настройка созданных имен полей в идентификаторах глобальных типов | Имя поля глобальных типов | CustomSymbolStrField | Настроить сгенерированные идентификаторы |
| Настроить сгенерированные идентификаторы локальных функций | Локальные функции | CustomSymbolStrFcn | Настроить сгенерированные идентификаторы |
| Настройка созданных идентификаторов для локальных временных переменных | Локальные временные переменные | CustomSymbolStrTmpVar | Настроить сгенерированные идентификаторы |
| Настройка сгенерированных идентификаторов для постоянных макросов | Постоянные макросы | CustomSymbolStrMacro | Настроить сгенерированные идентификаторы |
| Настройка сгенерированных идентификаторов для типов массивов EMX (встраиваемые типы mxArray) | Типы массивов EMX | CustomSymbolStrEMXArray | Настроить сгенерированные идентификаторы |
| Настройка сгенерированных идентификаторов для функций утилиты EMX Array (Embeddable mxArrays) | Функции утилиты массива EMX | CustomSymbolStrEMXArrayFcn | Настроить сгенерированные идентификаторы |
| Настройка интерфейса функции в сгенерированном коде | Инициализация функции на вкладке «Все параметры» На вкладке «Все параметры» необходимо завершить функцию | IncludeInitializeFcnIncludeTerminateFcn | Н/Д |
| Настройка баннеров файлов и функций | Н/Д | CodeTemplate | |
| Управляющие объявления и определения глобальных переменных в сгенерированном коде | Н/Д | Н/Д | |
| Отладка | |||
| Создание статического отчета по метрикам кода, включая информацию о сгенерированном файле, количестве строк и использовании памяти | Метрики статического кода | GenerateCodeMetricsReport | Создание отчета о показателях статического кода для кода, сгенерированного из кода MATLAB |
| Создание отчета о замене кода, который суммирует замены, используемые из выбранной библиотеки замены кода | Замена кода | GenerateCodeReplacementReport | |
| Выделите операции с одинарной точностью, двойной точностью и дорогими операциями с фиксированной точкой в отчете о создании кода | Выделение потенциальных проблем с типом данных | HighlightPotentialDataTypeIssues | Выделение потенциальных проблем с типами данных в отчете |
| Пользовательский код | |||
| Замена функций и операторов в созданном коде в соответствии с требованиями к коду для конкретного приложения | Библиотека замены кода | CodeReplacementLibrary | Embedded Coder предлагает дополнительные библиотеки и возможность создания и использования пользовательского кода. См. раздел Настройка замены кода. |
| Создание и регистрация специфичных для приложения реализаций функций и операторов | Н/Д | Н/Д | Настройка замены кода |
| Проверка | |||
| Интерактивная трассировка между исходным кодом MATLAB и сгенерированным кодом C/C + + | Включить отслеживание кода | EnableTraceability | Интерактивная трассировка между кодом MATLAB и сгенерированным кодом C/C + + |
| Проверка сгенерированного кода с помощью программного обеспечения в цикле и выполнения процессора в цикле | Н/Д | VerificationMode | Проверка кода с помощью программного обеспечения в контуре и выполнения процессора в контуре |
| Отладочный код во время выполнения программного обеспечения в цикле | Включить отладку на уровне источника для SIL на панели Отладка | SILDebugging | Отладка сгенерированного кода во время выполнения SIL |
| Время выполнения профиля во время выполнения ПО в цикле и процессора в цикле | Включить профилирование выполнения точки входа для SIL/PIL на панели отладки | CodeExecutionProfiling | Профилирование времени выполнения для SIL и PIL |
| Проверка и профилирование оптимизированного кода ARM | Плата аппаратных средств на панели аппаратных средств | Hardware | |
| Выполните проверку Polyspace ® для сгенерированного кода C/C + + с помощью интегрированного рабочего процесса | Н/Д | Н/Д | Проверка кода C/C + +, генерируемого кодером MATLAB |