Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

автомобильный

Android HAL icon

Многие автомобильные подсистемы соединяются друг с другом и с информационно-развлекательной системой (IVI) в автомобиле с помощью различных шинных топологий. Точный тип шины и протоколы сильно различаются у разных производителей (и даже у разных моделей автомобилей одной марки); Примеры включают в себя шину локальной сети контроллеров (CAN), шину локальной межсоединительной сети (LIN), транспортную среду для мультимедийных систем (MOST), а также сети Ethernet и TCP / IP автомобильного класса, такие как BroadR-Reach.

Уровень абстракции аппаратного обеспечения Android Automotive (HAL) обеспечивает согласованный интерфейс с платформой Android независимо от физического транспортного уровня. Этот автомобиль HAL является интерфейсом для разработки реализаций Android Automotive.

Системные интеграторы могут реализовать модуль HAL транспортного средства, подключив интерфейсы HAL платформы для конкретной функции (например, HVAC) с сетевыми интерфейсами для конкретной технологии (например, шиной CAN). Типичные реализации могут включать выделенный блок микроконтроллера (MCU), работающий под управлением собственной операционной системы реального времени (RTOS) для доступа к шине CAN или аналогичный, который может быть подключен через последовательный канал к процессору, на котором работает Android Automotive. Вместо выделенного MCU также возможно реализовать доступ к шине в виде виртуализированного ЦП. Каждый партнер должен выбрать архитектуру, подходящую для аппаратного обеспечения, при условии, что реализация удовлетворяет требованиям интерфейса для транспортного HAL.

Архитектура

Автомобиль HAL - это определение интерфейса между автомобилем и сетевым сервисом автомобиля:

Архитектура Android HAL

Рисунок 1 Автомобиль HAL и Android автомобильная архитектура

  • Авто API . Содержит такие API, как CarHvacManager и CarSensorManager. Для получения подробной информации о поддерживаемых API обратитесь к /platform/packages/services/Car/car-lib .
  • Автосервис . Расположенный в /platform/packages/services/Car/ .
  • Автомобиль ХАЛ . Интерфейс, который определяет свойства транспортного средства, которые могут реализовать OEM-производители. Содержит метаданные свойства (например, является ли свойство транспортного средства int и какие режимы изменения разрешены). Находится по адресу hardware/libhardware/include/hardware/vehicle.h . Базовую справочную реализацию см. В hardware/libhardware/modules/vehicle/ .

Для получения дополнительной информации см. Свойства транспортного средства .

Безопасность

Автомобиль HAL поддерживает три уровня безопасности для доступа к данным:

  • Только система (контролируется vns_policy.xml )
  • Доступно для приложения с разрешения (через автосервис)
  • Доступ без разрешения (через автосервис)

Прямой доступ к свойствам транспортного средства разрешен только для выбранных компонентов системы с услугой сети транспортных средств, выполняющей роль привратника. Большинство приложений проходят дополнительное управление шлюзом посредством автосервиса (например, только системные приложения могут управлять HVAC, поскольку для этого требуется разрешение системы, предоставляемое только системным приложениям).

Проверка

AOSP включает следующие ресурсы тестирования для использования в разработке:

  • hardware/libhardware/tests/vehicle/vehicle-hal-tool.c
    Встроенный инструмент командной строки для загрузки автомобиля HAL и выполнения простых операций. Полезно для запуска системы на начальных этапах разработки.
  • packages/services/Car/tests/carservice_test/
    Содержит тестирование автосервиса с использованием свойств HAL. Для каждого свойства в тесте реализовано ожидаемое поведение. Это может быть хорошей отправной точкой для понимания ожидаемого поведения.
  • hardware/libhardware/modules/vehicle/
    Базовая справочная реализация.