Переместите раздел Memory и разделяемые служебные настройки от параметров конфигурации до редактора отображений кода

Запуск в R2018a, для новых моделей:

  • Чтобы применить настройки раздела memory всей модели, не используйте образцовые параметры конфигурации под Code Generation> Advanced parameters> Memory Sections. Вместо этого используйте редактор Отображений Кода. Чтобы задать разделы memory, продолжите использовать пакеты, или можно использовать Словарь Embedded Coder.

  • Чтобы установить правило именования для разделяемых служебных функций, не используйте образцовый параметр конфигурации Code Generation> Symbols> Advanced parameters> Shared utilities identifier format. Вместо этого вы используете Словарь Embedded Coder, чтобы создать функциональный шаблон настройки, который задает правило именования, затем примените шаблон при помощи редактора Отображений Кода.

Для получения общей информации о Редакторе Simulink перспективный режим Кода, редактор Отображений Кода и Словарь Embedded Coder, видят Среду для Конфигурирования Данных модели и Функций для Генерации кода.

В модели, которую вы создали в релизе перед R2018a, когда кто-то включает перспективный режим Кода, Simulink® перемещает раздел memory и совместно использовал служебные настройки от параметров конфигурации до редактора Отображений Кода модели. При необходимости, как часть этой миграции, Simulink конфигурирует Словарь Embedded Coder, который использует модель:

  • Чтобы относиться к пакету, который задает разделы memory, как описано в, Обращаются к Определениям Генерации кода в Пакете.

  • Содержать функциональный шаблон настройки, который задает правило именования и, если применимо, настройки раздела memory, которые вы задали для разделяемых утилит.

Кроме того, если вы используете функцию coder.mapping.create на такой модели, Simulink перемещает раздел memory и совместно использовал служебные настройки этим способом.

Эффекты миграции

  • Процесс миграции вносит изменения в образцовый файл, который необходимо сохранить. Изменения включают:

    • Перевод настроек параметра конфигурации в редактор Отображений Кода настройки.

    • Если модель не соединена со словарем данных, конфигурируя Словарь Embedded Coder в образцовом файле, чтобы относиться к пакету раздела memory и содержать функциональный шаблон настройки.

  • Если модель соединена со словарем данных, процесс миграции вносит изменения в словарь, который необходимо сохранить. Изменения включают:

    • Если параметры конфигурации хранятся в образцовом файле (модель не относится к объекту Simulink.ConfigSet), конфигурируя Словарь Embedded Coder словаря данных, чтобы относиться к пакету раздела memory и содержать функциональный шаблон настройки.

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

    • Если модель относится к объекту Simulink.ConfigSet, конфигурируя Словарь Embedded Coder словаря данных, который хранит объект.

Факторы перед миграцией

  • Как правило, когда вы включаете перспективный режим Кода, Simulink выполняет процесс миграции, не предлагая вам. Не включайте перспективный режим Кода, если вы не готовы переместить раздел memory и совместно использовали сервисные настройки именования.

    Перспективный режим кода предлагает вам принимать миграцию, если ваша модель удовлетворяет любому из этих условий:

    • Модель имеет несколько конфигураций модели (одно активное и один или несколько неактивный).

    • Модель относится к объекту Simulink.ConfigSet.

    Если вы не принимаете, вы не можете использовать перспективу Кода.

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

    В иерархии словарей справочных данных (например, иерархия словаря, которая параллельна иерархии модели), только один словарь может содержать Словарь Embedded Coder. Подготовка словарей данных прежде, чем переместить сопоставленные модели позволяет вам управлять, где Словарь Embedded Coder находится в иерархии словаря. Создайте или идентифицируйте словарь данных в нижней части иерархии так, чтобы все модели могли получить доступ к разделу memory и определениям шаблона функции. Затем когда вы инициируете миграцию путем включения перспективы Кода для модели, Simulink конфигурирует тот словарь данных.

    Для получения информации о совместном использовании Словаря Embedded Coder между моделями при помощи словарей, на которые ссылаются см. Словарное определение Embedded Coder Доли Между Моделями.

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

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

Факторы после миграции

  • В переходящей иерархии моделей, на которые ссылаются, и словарей справочных данных, после вас или других пользователей перемещают модели, на которые ссылаются, в различных ответвлениях, разрешение перспективного режима Кода в родительской модели может сгенерировать ошибку из-за присутствия нескольких Словарей Embedded Coder в иерархии словаря данных. Чтобы разрешить эти ошибки, используйте coder.dictionary.move и coder.dictionary.remove, чтобы передать и удалить Словари Embedded Coder, пока только один словарь не останется. Поместите остающийся Словарь Embedded Coder в словарь данных в нижней части иерархии так, чтобы все модели могли получить доступ к разделу memory и определениям шаблона функции.

    Для получения информации о совместном использовании Словаря Embedded Coder между моделями при помощи словарей, на которые ссылаются см. Словарное определение Embedded Coder Доли Между Моделями.

  • После того, как вы переместите модель, Embedded Coder® игнорирует раздел memory и совместно использовал служебные настройки в параметрах конфигурации. Если вы используете set_param или get_param, чтобы получить доступ к этим настройкам параметра конфигурации программно, функции генерируют предупреждения. Чтобы изменить или установить эти настройки, используйте редактор Отображений Кода, или эквивалентный программируемый интерфейс, как описано в Конфигурируют генерацию кода C По умолчанию для Категорий Данных модели и Функций.

    Однако, если модель содержит атомарные подсистемы, которые имеют настройки раздела memory не по умолчанию, модель продолжает зависеть от установки Package в параметрах конфигурации. Смотрите Размещение Памяти Значения по умолчанию Переопределения для Функций Подсистемы и Данных.

  • Если модель относится к объекту Simulink.ConfigSet, после миграции, номер модели более длительное использование раздел memory и совместно использовала служебные настройки в объекте. Если вы использовали объект установить параметры конфигурации многоуровневых моделей:

    • Изменение раздела memory и совместно использованных служебных настроек в объекте влияет только на модели, которые вы не переместили.

    • Перемещенные модели больше не получают раздел memory и совместно использовали служебные настройки от одного местоположения (объект Simulink.ConfigSet). Чтобы изменить эти настройки для этих моделей, необходимо использовать редактор Отображений Кода каждой отдельной модели.

Смотрите также

|

Похожие темы