Используйте целевые строения подключения и API подключения для настройки выполнения процессора в цикле (PIL) для целевых окружений.
Через целевое строение подключения вы задаете:
Имя целевого строения подключения для целевой реализации API возможности подключения.
Настройки, которые определяют совместимый MATLAB® код. Для примера, код, который генерируется для конкретной аппаратной реализации.
Выполнение PIL требует реализации PIL API с целевой связностью, которая интегрирует сторонние программы для:
Построение приложения PIL, работающего на целевом компьютере
Загрузка, запуск и остановка приложения на целевом объекте
Связь между MATLAB и объектом
Для выполнения PIL можно использовать множество различных строений подключения. Зарегистрируйте строение подключения в MATLAB путем создания rtwTargetInfo.m
файл и размещение его на путь поиска файлов MATLAB.
При выполнении PIL программное обеспечение определяет, какую из доступных строений подключения использовать. Программа ищет строение подключения, которая совместима с тестируемым кодом MATLAB. Если программное обеспечение находит несколько или не находит совместимых строений подключения, программное обеспечение генерирует сообщение об ошибке с информацией об устранении проблемы.
Эта схема показывает компоненты целевого API подключения PIL.
Необходимо предоставить реализации трех компонентов API:
Создайте API - задайте подход набора инструментальных средств для создания сгенерированного кода.
Launcher API - Управление тем, как MATLAB запускается и останавливает исполняемый файл PIL.
Communications API - настройка соединения между MATLAB и PIL-объектом. Embedded Coder® обеспечивает поддержку хоста для TCP/IP и последовательной связи, которую можно адаптировать для других протоколов.
На этих шагах описывается процесс создания целевой реализации API возможности подключения. Пример кода, показанный на шагах, берётся из ConnectivityConfig.m
файл, используемый в выполнении процессора в цикле из командной строки.
Создайте подкласс rtw.connectivity.Config
.
ConnectivityConfig < rtw.connectivity.Config
В подклассе:
Создание экземпляров rtw.connectivity.MakefileBuilder
, который конфигурирует процесс сборки.
builder = rtw.connectivity.MakefileBuilder(componentArgs, ... targetApplicationFramework, ... exeExtension);
Создайте подкласс rtw.connectivity.Launcher
, который загружает и выполняет приложение с помощью сторонней программы.
launcher = mypil.Launcher(componentArgs, builder);
Сконфигурируйте свои rtiostream
Реализация API канала связи хост-объект.
Для целевой стороны необходимо предоставить код драйвера для связи, например, код для TCP/IP или последовательной связи. Чтобы интегрировать этот код в процесс сборки, создайте подкласс rtw.pil.RtIOStreamApplicationFramework
.
Для хоста можно использовать библиотеку, поставляемую для TCP/IP или последовательной связи. Создание экземпляров rtw.connectivity.RtIOStreamHostCommunicator
, который загружает и инициализирует указанную библиотеку.
hostCommunicator = rtw.connectivity.RtIOStreamHostCommunicator(... componentArgs, ... launcher, ... rtiostreamLib);
Если вам требуется профилирование сгенерированного кода во время выполнения, создайте объект-таймер, который предоставляет подробную информацию о аппаратном таймере и связанных с ним исходных файлах. См. Раздел «Задание аппаратного таймера»
Чтобы зарегистрировать целевую реализацию API возможности подключения как целевое строение возможности подключения в MATLAB:
Создайте или обновите rtwTargetInfo.m
файл. В этом файле:
Создайте целевой объект строения подключения, который задает, для примера, имя строения для целевой реализации API возможности подключения и совместимый код MATLAB.
Активируйте registerTargetInfo
.
Добавьте папку, содержащую rtwTargetInfo.m
в путь поиска файлов и обновите регистрационную информацию MATLAB Coder™ библиотеки.
Для получения дополнительной информации смотрите rtw.connectivity.ConfigRegistry
.
Чтобы проверить целевое строение подключения на раннем этапе и независимо от разработки алгоритмов и генерации кода, используйте piltest
функция. С помощью функции можно запустить набор тестов. Функция:
Запускает функцию MATLAB и выполняет PIL-выполнение.
Сравнивает результаты и создает ошибки, если обнаруживает различия.
Для получения примера смотрите Выполнение PIL Сгенерированного кода для Оценки состояния фильтра Калмана.
piltest
| rtw.connectivity.Config
| rtw.connectivity.ConfigRegistry
| rtw.connectivity.Launcher
| rtw.connectivity.MakefileBuilder
| rtw.connectivity.RtIOStreamHostCommunicator
| rtw.pil.RtIOStreamApplicationFramework