Возможности 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 в операторы switch-caseConvert if-elseif-else patterns to switch-case statementsConvertIfToSwitchУправление стилем кода С
Укажите, что ключевое слово extern включено в объявления сгенерированных внешних функцийPreserve extern keyword in function declarationsPreserveExternInFcnDeclsН/Д
Задайте уровень круглой скобки в сгенерированном коде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 (Embeddable mxArray types)EMX Array TypesCustomSymbolStrEMXArrayНастройка сгенерированных идентификаторов
Настройте сгенерированные идентификаторы для служебных функций EMX Array (Embeddable 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Верификация кода через программное обеспечение в цикле и выполнение процессора в цикле
Отладка кода во время выполнения программы в цикле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