Генератор кода включает в себя множество подходов для интеграции унаследованного или пользовательского кода с сгенерированным кодом. Устаревший код - это существующий рукописный код или код для сред, которые интегрируются с кодом, создаваемым генератором кода. Пользовательский код является устаревшим кодом или другими пользовательскими строками кода, включенными в процесс построения генератора кода. В совокупности устаревший и пользовательский код называются внешним кодом.
Внешний код интегрируется путем импорта существующего внешнего кода в код, созданный генератором кода, экспорта сгенерированного кода в существующую базу внешнего кода, или можно выполнить оба действия. Например, можно импортировать код, вызвав внешнюю функцию, используя инструмент «Унаследованный код», или поместить внешний код в определенные места в сгенерированном коде, включив в модель блоки пользовательского кода. При импорте внешнего кода результирующий сгенерированный код взаимодействует с сгенерированным кодом планирования.
Созданный код можно экспортировать как подключаемую функцию для использования во внешней среде разработки. При экспорте сгенерированного кода предполагается, что этот код будет взаимодействовать вручную с механизмом планирования в среде выполнения приложения.
Руководство по выбору подхода на основе требований приложения см. в разделе Выбор потока операций интеграции внешнего кода.
Что такое интеграция внешнего кода?
Что такое интеграция внешнего кода?
Выбор потока операций интеграции внешнего кода
Для точек интеграции приложений определите внешний код, определите требования к интеграции генерации кода и выберите поток операций.
Примеры интеграции внешнего кода
Примеры, показывающие сценарии интеграции внешнего кода с устаревшим инструментом кода.
Ненадежный пользовательский код, настраиваемые конечные объекты и обратные вызовы
Использование ненадежного пользовательского кода влечет за собой риск.
Вызов многократно используемого кода внешнего алгоритма для моделирования и генерации кода
Вызовите внешний алгоритмический код, не зависящий от аппаратных средств и используемый повторно, из сгенерированного кода.
Размещение внешнего кода C/C + + в сгенерированном коде
Поместите код C/C + + в код, созданный для модели.
Вызов драйверов внешних устройств
Вызов драйверов внешних устройств из сгенерированного кода.
Применение замены кода функции и оператора
Сконфигурируйте генератор кода для замены функций и операторов на соответствие требованиям внешнего кода или среды выполнения.
Развертывание созданных автономных исполняемых программ на целевом оборудовании
Создание автономных исполняемых программ, для которых не требуется внешняя исполнительная или операционная система реального времени.
Развертывание сгенерированного программного обеспечения компонентов на целевых платформах приложений
Запустите исполняемую программу с целевым пакетом поддержки для операционных систем Linux ®, Microsoft ® Windows ® или Wind River ® VxWorks ®.
Создание интегрированного кода в среде Simulink
Добавьте файлы поддержки и управляйте созданием и построением кода модели в среде Simulink.
Создание исходного кода компонента для экспорта во внешнюю базу кодов
Интеграция исходного кода C/C + +, создаваемого из компонента модели, с кодом, разработанным вне среды Simulink ®.
Создание общей библиотеки для экспорта во внешнюю базу кодов
Создание общей библиотеки из компонента модели и экспорт библиотеки в приложение для моделирования системы, повторного использования программного обеспечения или защиты интеллектуальной собственности. Требуется лицензия Embedded Coder.
Обмен данными между внешним кодом вызывающего абонента и сгенерированным кодом
При экспорте сгенерированного кода во внешний код обмениваются данными о сигнале, состоянии и параметрах.
Интеграция кода внешнего приложения с кодом, сгенерированным ПИД-контроллером
Создание кода, соответствующего интерфейсам данных, внешнему виду и организации внешнего кода.
Создание интегрированного кода вне среды Simulink
Определение необходимых файлов и интерфейсов для вызова сгенерированного кода во внешнем процессе построения.
Как созданный код обменивается данными со средой
Сгенерированный код обменивается данными о сигнале, состоянии и параметрах с вызывающей средой через интерфейс данных.
Управляющие данные и функциональный интерфейс в сгенерированном коде
Управление тем, как созданный код обменивается данными с вызывающей средой.
Интерфейс конструкторских данных путем настройки блоков ввода и вывода
Настройте интерфейс данных модели, чтобы обеспечить интеграцию сгенерированного кода с собственным кодом и улучшить прослеживаемость и удобочитаемость кода.
Настройте имена функций начального уровня и аргументы функции шага для блоков Simulink Function и Function Caller.
Конфигурирование генерации кода C для функций точек входа модели
Узнайте о созданных функциях точки входа C, опциях конфигурации и о том, как с ними взаимодействовать.
Настройка параметров генерации кода для модели в соответствии со спецификациями из управляющего документа интерфейса.
Обмен данными между внешним кодом C/C + + и моделью Simulink или сгенерированным кодом
Сконфигурируйте сигналы, состояния и параметры в модели Simulink в соответствии с интерфейсом данных существующего кода C.
Обмен структурированными и перечисленными данными между сгенерированным и внешним кодом
Создайте код, который можно скомпилировать вместе с существующим внешним кодом. Органы кода обмениваются структурированными и перечислимыми данными.
Повторное использование данных параметров из внешнего кода в сгенерированном коде
Создайте код, который импортирует данные параметров из внешнего кода.
Импорт данных параметров с условно скомпилированной длиной размера
Создать код, импортирующий параметр массива, размеры которого задают внешние наборы кодов с помощью макросов (#define).
Доступ к структурированным данным через указатель, определяемый внешним кодом
Создайте код, который обращается к данным параметров через указатель структуры, определяемый рукописным кодом.
Создать код, соответствующий внешнему коду
Настройте, как генератор кода применяет идентификаторы (символы), комментарии, стили кода, формат кода и организацию.
Замена и переименование типов данных в соответствии со стандартами кодирования
Соответствие стандартам кодирования организации путем замены и переименования псевдонимов типов данных Simulink Coder™ по умолчанию, например real_T, который генерируемый код использует для определения данных.
Создание интерфейса класса C++ к модели или коду подсистемы
Создайте интерфейс класса C++ для кода, созданного из модели или подсистемы.
Создание кода для блоков строк с помощью стандартной библиотеки строк C++
Создание кода C++ для строковых блоков Simulink.