exponenta event banner

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

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

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

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

Код пакета с помощью интерфейса пользователя

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

  1. В диалоговом окне Параметры конфигурации выберите Код пакета и артефакты. Этот параметр настраивает процесс сборки для запуска packNGo функция после генерации кода для пакета сгенерированного кода и артефактов для перемещения.

  2. В поле Имя Zip-файла введите имя 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 и создать информационный объект для модели. Можно настроить операцию упаковки для использования:

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

    В этом случае перед созданием кода модели используйте 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' 'hierarchical'...
'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. zip файл содержит два вторичных zip файлы, mlrFiles.zip и sDirFiles.zip.

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

  7. Переместить zip в конечную среду и распакуйте ее.

Ограничения

Функция packNGo

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

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

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

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

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

Связанные темы