Сконфигурируйте вызовы менеджера AUTOSAR NVRAM сервис

Для Классической Платформы AUTOSAR стандарт AUTOSAR задает важные сервисы как часть Basic Software (BSW), который запускается в Среде выполнения AUTOSAR (RTE). Примеры включают услуги, предоставленные Диагностическим менеджером событий (DEM), Функциональный менеджер по Ингибированию (FiM) и менеджер NVRAM (NvM). В AUTOSAR RTE, компоненты программного обеспечения AUTOSAR обычно доступ сервисы BSW, использующие клиент-сервер или коммуникация приемника отправителя.

Чтобы поддержать моделирование уровня системы компонентов AUTOSAR и услуги, AUTOSAR Blockset обеспечивает библиотеку блоков AUTOSAR Basic Software. Библиотека содержит предварительно сконфигурированные блоки для моделирования вызовов компонента услуг AUTOSAR BSW и ссылочных реализаций сервисов BSW. Для получения информации об использовании блоков к клиентским вызовам модели сервисных интерфейсов AUTOSAR BSW см. Модель Вызовы Программного сервиса AUTOSAR Basic.

Для примера live скрипта симуляции сервисов AUTOSAR BSW смотрите, что пример Симулирует Основные Программные сервисы AUTOSAR и Среду выполнения.

Вот пример конфигурирования клиентских вызовов сервисных интерфейсов NvM в вашем компоненте программного обеспечения AUTOSAR.

  1. Откройте модель, которая сконфигурирована для генерации кода AUTOSAR. Используя Браузер Библиотеки или путем ввода имен блока в окне модели, добавьте блоки NvM в модель. Этот пример добавляет блоки NvMAdminCaller и NvMServiceCaller к перезаписываемой копии модели autosar_swc в качестве примера.

  2. Откройте каждый блок и исследуйте параметры, особенно Operation. Если вы выбираете различную операцию и нажимаете Apply, обновления программного обеспечения вводы и выводы блока, чтобы совпадать с аргументами выбранной операции.

    Этот пример изменяет Operation для блока NvMServiceCaller из GetDataIndex к ReadBlock. (Для примера использования readBlock в реализации датчика положений дросселя смотрите, что пример Симулирует Основные Программные сервисы AUTOSAR и Среду выполнения.)

    Для некоторых операций NvM, таких как ReadBlock и WriteBlock, диалоговое окно параметров блоков отображается параметр спецификации аргумента. Параметр указывает информацию типа данных и размерности для данных, которые будут считаны или записаны операцией, установите на uint8(1) по умолчанию.

    • Чтобы задать тип многомерных данных, можно использовать синтаксис массивов, такой как int8([1 1; 1 1]).

    • Чтобы задать структурированный тип данных, можно создать a Simulink.Parameter объект данных, введите его с a Simulink.Bus объект и ссылка название параметра.

  3. Откройте редактор Отображений Кода. Чтобы обновить Simulink® к отображению AUTOSAR модели с изменениями в вызывающих сторонах функции Simulink, нажмите кнопку Update. Программное обеспечение создает интерфейсы клиентской службы AUTOSAR, операции и порты, и сопоставляет каждую вызывающую сторону функции Simulink с клиентским портом AUTOSAR и операцией.

    Например, для блока NvMServiceCaller в этом примере, для который ReadBlock операция выбрана:

    • Программное обеспечение создает интерфейс C-S NvMService, и под NvMService, его поддерживаемые операции. Для каждой операции аргументам предоставляют свойства только для чтения. Вот аргументы для NvMService операция ReadBlock отображенный в Словаре AUTOSAR.

    • Программное обеспечение создает клиентский порт с именем по умолчанию NvMService. В отличие от C-S-interface, операции и имен аргумента, может быть настроено имя клиентского порта. Клиентский порт сопоставлен с NvMService интерфейс.

    • Редактор Отображений Кода сопоставляет NvMService функционируйте блок вызывающей стороны к клиентскому порту AUTOSAR NvMService и операция AUTOSAR ReadBlock.

  4. Опционально, создайте свою модель и исследуйте сгенерированный C и код ARXML.

    На диалоговом шаге блока, если вы выбрали операцию ReadBlock для блока NvMServiceCaller генерация кода требует добавляющих блоков хранилища данных к модели. Соедините блок первый выходной порт с блоком Data Store Write и добавьте Блок памяти Хранилища данных. Для обоих блоков задайте имя хранилища данных A. Например:

    Код С включает клиентские вызовы сервисов BSW, например:

    /* FunctionCaller: '<Root>/NvMServiceCaller' */
    Rte_Call_NvMService_ReadBlock(&rtDW.A);
    ...
    /* FunctionCaller: '<Root>/NvMAdminCaller' */
    Rte_Call_NvMAdmin_SetBlockProtection(false);

    Сгенерированные RTE включают файлы, задают извещатели работы сервера, такие как Rte_Call_NvMService_ReadBlock.

    Код ARXML задает сервисные операции BSW, вызванные компонентом как извещатели сервера, например:

    <SERVER-CALL-POINTS>
    ...
        <ASYNCHRONOUS-SERVER-CALL-POINT UUID="...">
            <SHORT-NAME>SC_NvMService_ReadBlock</SHORT-NAME>
            <OPERATION-IREF>
                <CONTEXT-R-PORT-REF DEST="R-PORT-PROTOTYPE">
                  /Company/Powertrain/Components/ASWC/NvMService
                </CONTEXT-R-PORT-REF>
                <TARGET-REQUIRED-OPERATION-REF DEST="CLIENT-SERVER-OPERATION">
                  /AUTOSAR/Services/NvM/NvMService/ReadBlock
                </TARGET-REQUIRED-OPERATION-REF>
            </OPERATION-IREF>
            <TIMEOUT>1</TIMEOUT>
        </ASYNCHRONOUS-SERVER-CALL-POINT>
    </SERVER-CALL-POINTS>
  5. Чтобы симулировать модель компонента, создайте содержание состава, системы или модели тестовой обвязки. В том содержащем модель, вставьте ссылочные реализации NvM ReadBlock и SetBlockProtection сервисные операции.

    Библиотека блоков AUTOSAR Basic Software обеспечивает блок NVRAM Service Component, который обеспечивает ссылочные реализации сервисных операций NvM. Можно вручную вставить блок в содержание состава, системы или модели тестовой обвязки, или автоматически вставить блок путем создания модели тестовой обвязки Simulink Test™.

    Для получения дополнительной информации смотрите, Конфигурируют Основные Реализации Программного сервиса AUTOSAR для Симуляции и Симулируют Основные Программные сервисы AUTOSAR и Среду выполнения.

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

| |

Связанные примеры

Больше о