Возможности Embedded Coder генерации кода из кода MATLAB

Продукт Embedded Coder® расширяет продукт MATLAB® Coder™ с возможностями, которые можно использовать для разработки встроенного программного обеспечения. Можно сгенерировать код, который имеет ясность и эффективность профессионала рукописный код. Например, вы можете:

  • Сгенерируйте код, который компактен и быстр, который важен для средств моделирования в реальном времени, плат быстрого прототипирования на цели, микропроцессоры, используемые в массовом производстве и встраиваемых системах.

  • Настройте внешний вид сгенерированного кода.

  • Оптимизируйте сгенерированный код для специализированных требований.

  • Позвольте проследить опции, которые помогают вам проверить сгенерированный код.

Продукт Embedded Coder расширяет продукт MATLAB Coder со следующими опциями и оптимизацией для генерации кода C/C++.

ЦельУстановка проектаСвойство объекта настройки кодаБольше информации
Время выполнения
Управляйте генерацией данных с плавающей точкой и операциямиSupport only purely-integer numbersPurelyIntegerCodeНет данных
Упростите индексацию массива в циклах в сгенерированном кодеSimplify array indexingEnableStrengthReductionУпростите умножают операции для индексации массива в циклах
Замените функции и операторы в сгенерированном коде, чтобы удовлетворить специализированные требования кодаCode replacement library на вкладке Custom CodeCodeReplacementLibraryEmbedded Coder предлагает дополнительные библиотеки и способность создать и использовать пользовательский код. Смотрите Заменяющую Индивидуальную настройку Кода.
Создайте и укажите специализированные реализации функций и операторовНет данныхНет данныхЗаменяющая индивидуальная настройка кода
Внешний вид кода
Задайте использование одной линии или многострочных комментариев в сгенерированном кодеComment StyleCommentStyleЗадайте стиль комментария для кода C/C++
Включайте исходный код MATLAB как комментарии с тегами трассируемости. В отчете генерации кода теги трассируемости соединяются с соответствующим исходным кодом MATLABMATLAB source code as commentsMATLABSourceCommentsВключайте комментарии в сгенерированный код C/C++
Сгенерируйте текст справки функции MATLAB в функциональном баннере MATLAB function help textMATLABFcnDescВключайте комментарии в сгенерированный код C/C++
Преобразуйте if-elseif-else шаблоны в операторов case оператора switchConvert if-elseif-else patterns to switch-case statementsConvertIfToSwitchУправление стилем кода С
Укажите, что ключевое слово экстерна включено в объявления сгенерированных внешних функцийPreserve extern keyword in function declarationsPreserveExternInFcnDeclsНет данных
Задайте уровень parenthesization в сгенерированном кодеParenthesesParenthesesLevelНет данных
Задайте, заменить ли умножение степенями двойки с со знаком, оставленным, поразрядно переключает сгенерированный код на нижний регистрUse signed shift left for fixed-point operations and multiplication by powers of 2EnableSignedLeftShiftsУправляйте сдвигами влево со знаком в сгенерированном коде
Задайте, позволить ли право со знаком, поразрядно переключает сгенерированный код на нижний регистрAllow right shifts on signed integersEnableSignedRightShiftsНет данных
Управляйте бросками типа данных в сгенерированном кодеCasting mode на вкладке All SettingsCastingModeУправляйте бросками типа данных в сгенерированном коде
Задайте стиль отступа для сгенерированного кодаIndent style на вкладке All Settings
Indent size на вкладке All Settings
IndentStyle
IndentSize
Задайте стиль отступа для кода C/C++
Задайте максимальное количество столбцов перед разрывом строки в сгенерированном кодеColumn limit на вкладке All SettingsColumnLimitНет данных
Задайте пользовательские имена для типов данных MATLAB в сгенерированном кодеEnable custom data type replacementEnableCustomReplacementTypes
ReplacementTypes
Настройте замену типа данных
Импортируйте определения пользовательского типа данных из внешних заголовочных файлов Import custom types from external header filesIsExtern
HeaderFiles
Импортируйте определения пользовательского типа данных из внешних заголовочных файлов
Настройте сгенерировал имена файлов C/C++Generated source and header file name formatCustomFileNameStrНастройте Имена файлов C/C++, Сгенерированные из кода MATLAB
Настройте сгенерированные идентификаторы глобальной переменной Global variablesCustomSymbolStrGlobalVarНастройте сгенерированные идентификаторы
Настройте сгенерированные глобальные идентификаторы типовGlobal typesCustomSymbolStrTypeНастройте сгенерированные идентификаторы
Настройте сгенерированные имена полей в глобальных идентификаторах типовField name of global typesCustomSymbolStrFieldНастройте сгенерированные идентификаторы
Настройте сгенерированные идентификаторы локальных функцийLocal functionsCustomSymbolStrFcnНастройте сгенерированные идентификаторы
Настройте сгенерированные идентификаторы для локальных временных переменныхLocal temporary variablesCustomSymbolStrTmpVarНастройте сгенерированные идентификаторы
Настройте сгенерированные идентификаторы для постоянных макросовConstant macrosCustomSymbolStrMacroНастройте сгенерированные идентификаторы
Настройте сгенерированные идентификаторы для Типов массива EMX (Встраиваемые типы mxArray)EMX Array TypesCustomSymbolStrEMXArrayНастройте сгенерированные идентификаторы
Настройте сгенерированные идентификаторы для Массива EMX (Встраиваемый mxArrays) служебные функцииEMX Array Utility FunctionsCustomSymbolStrEMXArrayFcnНастройте сгенерированные идентификаторы
Настройте функциональный интерфейс в сгенерированном кодеInitialize function required на вкладке All Settings
Terminate function required на вкладке All Settings
IncludeInitializeFcn
IncludeTerminateFcn
Нет данных
Настройте файл и функциональные баннерыНет данныхCodeTemplate
Управляйте объявлениями и определениями глобальных переменных в сгенерированном кодеНет данныхНет данных
Отладка
Сгенерируйте статический код, который метрики сообщают включая сгенерированную информацию файла, количество линий и использование памятиStatic code metricsGenerateCodeMetricsReportГенерация статического метрического отчета кода для кода, сгенерированного из кода MATLAB
Сгенерируйте заменяющий отчет кода, который обобщает замены, используемые от выбранной заменяющей библиотеки кодаCode replacementsGenerateCodeReplacementReport
Подсветка, с одинарной точностью, с двойной точностью, и дорогие операции фиксированной точки в отчете генерации кодаHighlight potential data type issuesHighlightPotentialDataTypeIssuesПодсветите потенциальные проблемы типа данных в отчете
Пользовательский код
Замените функции и операторы в сгенерированном коде, чтобы удовлетворить специализированные требования кодаCode replacement libraryCodeReplacementLibraryEmbedded Coder предлагает дополнительные библиотеки и способность создать и использовать пользовательский код. Смотрите Заменяющую Индивидуальную настройку Кода.
Создайте и укажите специализированные реализации функций и операторовНет данныхНет данныхЗаменяющая индивидуальная настройка кода
Верификация
В интерактивном режиме проследите между исходным кодом MATLAB, и сгенерировал код C/C++Enable Code TraceabilityEnableTraceabilityВ интерактивном режиме проследите между кодом MATLAB и сгенерированным кодом C/C++
Проверьте программное обеспечение использования сгенерированного кода в цикле и процессор в выполнении циклаНет данныхVerificationModeПрограммное обеспечение Code Verification Through в цикле и процессор в выполнении цикла
Отладьте код во время программного обеспечения в выполнении циклаEnable source-level debugging for SIL на панели DebuggingSILDebuggingОтладьте сгенерированный код во время выполнения SIL
Профилируйте времена выполнения во время программного обеспечения в цикле и процессора в выполнении циклаEnable entry point execution profiling for SIL/PIL на панели DebuggingCodeExecutionProfilingВремя выполнения профилируя для SIL и PIL
Проверьте и профилируйте оптимизированный код ARM Hardware Board на панели HardwareHardware
Запустите верификацию Polyspace® на сгенерированном коде C/C++ при помощи интегрированного рабочего процессаНет данныхНет данныхВерификация Polyspace Кода C/C++, Сгенерированного MATLAB Coder