Генератор кода включает множество подходов для интеграции наследия или пользовательского кода со сгенерированным кодом. Legacy code является существующим рукописным кодом или кодом для сред, которые вы интегрируете с кодом, который производит генератор кода. Custom code является унаследованным кодом или другими заданными пользователями строками кода, которые вы включаете в процесс сборки генератора кода. Коллективно, наследие и пользовательский код называются external code.
Вы интегрируете внешний код путем импорта существующего внешнего кода в код, произведенный генератором кода, экспорта сгенерированного кода в существующую внешнюю кодовую базу, или можно сделать обоих. Например, можно импортировать код путем вызывания внешней функции, при помощи Legacy Code Tool, или поместить внешний код в определенных местоположениях в сгенерированном коде включением блоков Пользовательского кода в модели. Когда вы импортируете внешний код, получившийся сгенерированный код взаимодействует через интерфейс со сгенерированным кодом планирования.
Можно экспортировать сгенерированный код как сменную функцию для использования во внешней среде разработки. Когда вы экспортируете сгенерированный код, вы намереваетесь соединить интерфейсом с тем кодом вручную с механизмом планирования в вашей среде выполнения приложения.
Для руководства при выборе подхода на основе ваших требований к приложению смотрите, Выбирают External Code Integration Workflow.
Что такое внешняя интеграция кода?
Какова внешняя интеграция кода.
Выберите внешний рабочий процесс интеграции кода
Для точек интеграции приложений охарактеризуйте внешний код, идентифицируйте требования интегрирования генерации кода и выберите рабочий процесс.
Внешние примеры интеграции кода
Примеры, которые показывают сценарии внешней интеграции кода с Legacy Code Tool.
Недоверяемый пользовательский код, пользовательские цели и коллбэки
Использование недоверяемого пользовательского кода влечет за собой риск.
Вызовите допускающий повторное использование внешний код алгоритма для симуляции и генерации кода
Вызовите внешний алгоритмический код, который является аппаратно-независимым и допускающим повторное использование от сгенерированного кода.
Поместите Внешний Код C/C++ в Сгенерированный код
Поместите код C/C++ в код, сгенерированный для модели.
Вызовите драйверы внешнего устройства
Вызовите драйверы внешнего устройства от сгенерированного кода.
Примените замены функции и оператора кода
Сконфигурируйте генератор кода, чтобы заменить функции и операторы для выравнивания с внешним кодом или требованиями среды выполнения.
Разверните сгенерированные программы независимого исполняемого файла в целевой компьютер
Сгенерируйте программы независимого исполняемого файла, которые не требуют внешней исполнительной или операционной системы в реальном времени.
Разверните сгенерированное компонентное программное обеспечение в целевые платформы приложения
Запустите исполняемую программу с целевым пакетом поддержки для Linux®, Microsoft® Windows® или операционных систем Wind River® VxWorks®.
Создайте интегрированный код в окружении Simulink
Добавьте файлы поддержки и генерацию кода модели управления и сборки в окружении Simulink.
Сгенерируйте исходный код компонента для экспорта во внешнюю кодовую базу
Интегрируйте исходный код C/C++, который вы генерируете от компонента модели с кодом, разработанным вне среды Simulink®.
Сгенерируйте разделяемую библиотеку для экспорта во внешнюю кодовую базу
Создайте разделяемую библиотеку из компонента модели и экспортируйте библиотеку в приложение для системной симуляции, повторного использования программного обеспечения или защиты интеллектуальной собственности. Требует лицензии Embedded Coder.
Обменивайтесь данными между внешним кодом вызова и сгенерированным кодом
Когда вы экспортируете сгенерированный код в свой внешний код, обмениваетесь сигналом, состоянием и данными о параметре.
Интегрируйте код внешнего приложения с кодом, сгенерированным от ПИД-регулятора
Сгенерируйте код, который совпадает с интерфейсами данных, внешним видом и организацией внешнего кода.
Создайте интегрированный код вне окружения Simulink
Идентифицируйте требуемые файлы и интерфейсы для вызова сгенерированного кода во внешнем процессе сборки.
Как сгенерированный код обменивается данными со средой
Сгенерированный код обменивается сигналом, состоянием и данными о параметре со средой вызова через интерфейс данных.
Управляйте данными и функциональным интерфейсом в сгенерированном коде
Управляйте, как сгенерированный код обменивается данными со средой вызова.
Интерфейс данных проектирования путем конфигурирования блоков Inport и выходного порта
Настройте интерфейс данных модели, чтобы включить интегрирование сгенерированного кода с вашим собственным кодом и улучшить трассируемость кода и удобочитаемость.
Настройте имена функций точки входа и аргументы ступенчатой функции для Simulink Функциональные и Функциональные блоки Вызывающей стороны.
Сконфигурируйте генерацию кода C для функций точки входа модели
Узнайте о сгенерированных функциях точки входа C, параметрах конфигурации, и как взаимодействовать через интерфейс с ними.
Настройте сгенерированные интерфейсы класса C++
Используйте C++ class
интерфейс кода, группирующий, чтобы обеспечить интерфейсы класса C++ к коду, сгенерированному из моделей Simulink.
Сконфигурируйте настройки генерации кода для модели согласно техническим требованиям из интерфейсного документа управления.
Сконфигурируйте сгенерированный код согласно интерфейсному документу управления
Импортируйте технические требования из интерфейсного документа управления и сконфигурируйте генерирующиеся настройки кода для модели согласно техническим требованиям.
Сконфигурируйте сигналы, состояния и параметры в модели Simulink, чтобы совпадать с интерфейсом данных вашего существующего кода С.
Обменивайтесь структурированными и перечислимыми данными между сгенерированным и внешним кодом
Сгенерируйте код, который можно скомпилировать вместе с существующим, внешним кодом. Тела кода обмениваются структурированными и перечисленными данными.
Данные о параметре повторного использования из внешнего кода в сгенерированном коде
Сгенерируйте код, который импортирует данные о параметре из вашего внешнего кода.
Импортируйте данные о параметре с условно скомпилированной длиной размерности
Сгенерируйте код, который импортирует параметр массива чьи длины размерности ваши внешние кодовые наборы с макросами (#define
).
Доступ к структурированным данным через указатель, который задает внешний код
Сгенерируйте код, что данные о параметре доступов через указатель структуры, который задает рукописный код.
Сгенерируйте код, который совпадает с внешним видом внешнего кода
Сконфигурируйте, как генератор кода применяет идентификаторы (символы), комментарии, стили кода, формат кода и организация.
Замените и переименуйте типы данных, чтобы соответствовать кодированию стандартов
Соответствуйте стандартам кодирования своей организации, заменяя и переименовывая псевдонимы типа данных Simulink Coder™ по умолчанию, такие как real_T
, который использование сгенерированного кода задать данные.