Перемещение кода в другую среду разработки

Если вам требуется переместить статические и сгенерированный код файлы для модели в другую среду разработки, используйте утилиту pack-and-go. Это условие происходит, когда ваша система или интегрированная среда разработки (IDE) не включает MATLAB® и Simulink® товары.

Перемещение Кода

Утилита pack-n-go использует инструменты для настройки процесса сборки после генерации кода и packNGo функция для поиска и пакетирования файлов для создания исполняемого образа. Файлы упакованы в сжатый файл, который можно переместить и распаковать с помощью стандартного zip утилита.

Упаковать код используя пользовательский интерфейс

Чтобы упаковать и переместить код для вашей модели с помощью пользовательского интерфейса:

  1. В диалоговом окне Параметров конфигурации выберите Package code and artifacts. Эта опция конфигурирует процесс сборки, чтобы запустить packNGo функция после генерации кода, чтобы упаковать сгенерированный код и программные продукты для перемещения.

  2. В Zip file name поле введите имя zip файл, в который можно упаковать сгенерированный код и программные продукты для перемещения. Вы можете задать имя файла с .zip или без расширение. Если вы не задаете расширение или расширение кроме .zip, а zip утилита добавляет .zip расширение. Если вы не задаете значение, процесс сборки использует имя model.zip, где model - имя верхней части, для которой генерируется код.

  3. Применить изменения и сгенерировать код для вашей модели. Чтобы убедиться, что он готов к перемещению, смотрите результат zip файл. В зависимости от zip инструмент, который вы используете, вы можете открыть и просмотреть файл, не распаковывая его.

  4. Перемещение zip файл в целевую среду разработки и распаковать файл.

Упаковать код используя интерфейс командной строки

Чтобы упаковать и переместить код для модели с помощью интерфейса командной строки:

Выберите структуру для ZIP- Файла

Прежде чем вы сгенерируете и упакуете файлы для сборки модели, решите, хотите ли вы, чтобы файлы были упакованы в плоскую или иерархическую структуру папки. По умолчанию, packNGo функция упаковывает файлы в одну, плоскую структуру папки.

Если...Тогда используйте...
Вы перемещаете файлы в IDE, которая не использует сгенерированный make-файл, или код не зависит от относительного расположения необходимых статических файловОдинарная, плоская структура папки
Целевая среда разработки должна поддерживать структуру папок исходного окружения, потому что она использует сгенерированный make-файл, или код зависит от относительного расположения файловИерархическая структура

Если используется иерархическая структура, packNGo функция создает два уровня zip файлы, основной zip файл, который в свою очередь содержит следующие вторичные zip файлы:

  • mlrFiles.zip - файлы в вашем matlabroot дерево папок

  • sDirFiles.zip - файлы в папке сборки и в ней, где вы инициировали генерацию кода для модели

  • otherFiles.zip - необходимые файлы не в matlabroot или start деревья папок

Пути для вторичной zip файлы относятся к корневой папке основного zip файл, поддерживающий структуру исходной папки разработки.

Выберите имя для ZIP- Файла

По умолчанию, packNGo функция называет основное zip файловой model. У вас есть опция задать другое имя. Если вы задаете имя файла и опускаете расширение типа файла, функция добавляет . имени, которое вы задаете.

Упаковать код модели в ZIP- Файла

Упакуйте файлы кода модели при помощи PostCodeGenCommand Параметр конфигурации, packNGo function, и создать информационный объект для модели. Можно настроить упаковочную операцию, чтобы использовать:

  • Системный информационный объект сборки.

    В этом случае, прежде чем генерировать код модели, используйте set_param для установки параметра конфигурации PostCodeGenCommand к явному вызову packNGo функция. Для примера:

    set_param(bdroot, 'PostCodeGenCommand', 'packNGo(buildInfo);');

    После генерации и записи кода модели на диск и перед генерацией make-файла эта команда инструктирует процесс сборки для оценки вызова packNGo. Эта команда использует системно сгенерированный информационный объект сборки для текущей выбранной модели.

  • Информационный объект сборки, который вы создаете программно.

    В этом случае можно использовать другие функции информации о сборке, чтобы селективно включать пути и файлы в объект информации о сборке, который вы затем задаете с packNGo функция. Для примера:

    .
    .
    .
    myModelBuildInfo = RTW.BuildInfo;
    addSourceFiles(myModelBuildInfo, {'test1.c' 'test2.c' 'driver.c'});
    .
    .
    .
    packNGo(myModelBuildInfo);

Следующие примеры показывают, как можно изменить поведение по умолчанию packNGo.

Кому... Укажите...
Измените структуру упаковки файлов на иерархическуюpackNGo(buildInfo, 'packType' 'hierarchical');
Переименуйте основной zip файлpackNGo(buildInfo, 'fileName' 'zippedsrcs');
Измените структуру упаковки файлов на иерархическую и переименуйте основную zip файлpackNGo (buildInfo, 'packType' 'иерархический'...
'fileName' 'zippedsrcs');
Включите заголовочные файлы, найденные в пути включения в zip файлpackNGo(buildInfo, 'minimalHeaders' false);
Сгенерируйте предупреждения для ошибок анализа и отсутствующих файловpackNGo (buildInfo, 'ignoreParseError' true...
'ignoreFileMissing' true);

Примечание

packNGo функция может потенциально изменять информацию о сборке, переданную в первой packNGo аргумент. Как часть упаковочного кода модели, packNGo может найти дополнительные файлы из исходного кода и включать пути, записанные в информации о сборке для модели, и добавить их к информации о сборке.

Сгенерированный ZIP- Файла

Чтобы убедиться, что он готов к перемещению, смотрите сгенерированные zip файл. В зависимости от zip инструмент, который вы используете, вы можете открыть и просмотреть файл, не распаковывая его. Если распаковка файла и вы упаковали файлы кода модели как иерархическую структуру, распаковка требует, чтобы вы распаковали основной и вторичный zip файлы. Когда вы распакуете вторичную zip файлы, сохраняются относительные пути к файлам.

Перемещение и распаковка ZIP- Файла

Перемещение сгенерированного zip файл в целевую среду разработки и распаковать файл.

Пример упаковки кода

В этом примере показано, как упаковать файлы кода, сгенерированные для модели примера rtwdemo_rtwintro использование интерфейса командной строки:

  1. Установите рабочую папку в папку с возможностью записи.

  2. Откройте модель rtwdemo_rtwintro и сохраните копию в рабочую папку.

  3. Введите следующую команду MATLAB:

    set_param('rtwdemo_rtwintro', 'PostCodeGenCommand',...
    'packNGo(buildInfo, ''packType'' ''hierarchical'')');

    Вы должны удвоить одинарные кавычки из-за вложения символьных массивов 'packType' и 'hierarchical' внутри символьного массива, который задает вызов на packNGo.

  4. Сгенерируйте код для модели.

  5. Смотрите сгенерированные zip файл, rtwdemo_rtwintro.zip. The zip файл содержит эти два дополнительных zip файлы, mlrFiles.zip и sDirFiles.zip.

  6. Осмотрите zip файлы mlrFiles.zip и sDirFiles.zip.

  7. Перемещение zip файл в целевое окружение и распаковать его.

Ограничения

Функция packNGo

Для получения информации об ограничениях, которые применяются к этой функции, см. packNGo.

Исполняемый файл с расширением Nondefault

Если процесс сборки использует подход make-файла шаблона, то packNGo использует расширение исполняемого файла, заданное инструментом linker, для определения двоичных программных продуктов, которые требуют упаковки.

Если вы генерируете исполняемый файл с расширением, которое не является значением по умолчанию, проверьте, что расширение сохранено в наборе инструментов, сопоставленном с шаблоном make-файла. Для получения дополнительной информации см. раздел «Связывание шаблона make-файла с набором инструментальных средств».

Если процесс сборки генерирует исполняемый файл с расширением, отличным от расширения, сохраненного в наборе инструментальных средств, packNGo не упакует исполняемый файл.

Похожие темы