Для Классической Платформы 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.
Откройте модель, которая сконфигурирована для генерации кода AUTOSAR. Используя Браузер Библиотеки или путем ввода имен блока в окне модели, добавьте блоки NvM в модель. Этот пример добавляет блоки NvMAdminCaller и NvMServiceCaller к перезаписываемой копии модели autosar_swc в качестве примера.

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

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

Откройте редактор Отображений Кода. Чтобы обновить 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.

Опционально, создайте свою модель и исследуйте сгенерированный 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>Чтобы симулировать модель компонента, создайте содержание состава, системы или модели тестовой обвязки. В том содержащем модель, вставьте ссылочные реализации NvM ReadBlock и SetBlockProtection сервисные операции.
Библиотека блоков AUTOSAR Basic Software обеспечивает блок NVRAM Service Component, который обеспечивает ссылочные реализации сервисных операций NvM. Можно вручную вставить блок в содержание состава, системы или модели тестовой обвязки, или автоматически вставить блок путем создания модели тестовой обвязки Simulink Test™.

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